python巩固函数和模块_Python学习教程6:函数,模块和类的使用
Python函數(shù)
定義
函數(shù)是組織好的,可重復(fù)利用的,用來實現(xiàn)單一,或相關(guān)聯(lián)功能的代碼片段. 函數(shù)能提高應(yīng)用的模塊行,使代碼邏輯更加的條理清晰.
內(nèi)建函數(shù)
內(nèi)建函數(shù)是Python中自帶的,可供用戶重復(fù)使用的一類單一功能的函數(shù),比如我們常用的print函數(shù),就屬于內(nèi)建函數(shù).
自定義函數(shù)
Python中除了內(nèi)建函數(shù)外,我們用的最多的就是自定義函數(shù)了,我們可以根據(jù)我們的代碼功能,把代碼切割成一段段獨立的功能函數(shù).然后在需要使用的地方直接調(diào)用用即可. 自定義函數(shù)包含以下幾個規(guī)則:函數(shù)帶代碼塊以def開頭,然后接函數(shù)名和()
函數(shù)的參數(shù)放在()中
函數(shù)代碼的第一句可以可以使用文檔字符串,用于對函數(shù)的說明
函數(shù)內(nèi)容都是以:起始,并且縮進
return 是結(jié)束函數(shù),用于函數(shù)值返回,當然如果你的函數(shù)不需要值返回,可以不寫
我們來看一個完整的例子def maxNum(a,b):
"""
比較兩個值得大小,返回值大的那個
:param a:
:param b:
:return:
"""
if a>=b:
return a
else:
return b
復(fù)制代碼
上面例子中,我們自定義了一個名稱叫maxNum的自定義函數(shù),他的功能是傳入兩個值,它會返回更大的那個值,"""""雙三引號中的內(nèi)容是函數(shù)的注釋說明,下面是代碼邏輯.
函數(shù)的調(diào)用
我們定義了一個函數(shù)之后,當然需要使用啦,函數(shù)調(diào)用也非常簡單,只需要調(diào)用他的方法名即可,可以再其他函數(shù)中調(diào)用,也可以直接調(diào)用 如下例子:def maxNum(a,b):
"""
比較兩個值得大小,返回值大的那個
:param a:
:param b:
:return:
"""
if a>=b:
return a
else:
return b
def readNum(): #在函數(shù)中調(diào)用了maxNum函數(shù)
a=101
b=102
m=maxNum(a,b)
print m
m=maxNum(101,102) #直接調(diào)用
print m
復(fù)制代碼
上面例子直接運行會,系統(tǒng)會直接調(diào)用最下面的代碼,輸出102,
函數(shù)的導(dǎo)入
有時候,我們會在其他模塊中用到另外一個模塊中的函數(shù),比如我們新建了一個test.py模塊中的函數(shù)maxNum,然后又新建了一個fast.py模塊,如果我們要在fast.py模塊中使用test.py模塊中的maxNum函數(shù),就需要使用import test導(dǎo)入test.py模塊
一個py文件就代表一個模塊!!!!
舉個例子:
test.py模塊代碼#coding=utf-8
def maxNum(a,b):
"""
比較兩個值得大小,返回值大的那個
:param a:
:param b:
:return:
"""
if a>=b:
return a
else:
return b
復(fù)制代碼
fast.py模塊代碼#coding=utf-8
import test #方式一...可以直接導(dǎo)入模塊,然后通過模塊名.函數(shù)名調(diào)用
from test import * #方式二...也可以通過from先找到模塊,然后通過import導(dǎo)入模塊中的所有函數(shù)
def fast():
a=200
b=300
m=test.maxNum(a,b) #方式一導(dǎo)入時,必須先通過模塊名,再調(diào)用函數(shù)名
m=maxNum(a,b) #方式二導(dǎo)入時,可直接調(diào)用函數(shù)名
print m
復(fù)制代碼
我們認真看fast.py文件中的調(diào)用方式,主要有兩種,import 和from..import,兩種的區(qū)別都在例子中說明了,大家可以自己多試試體會一下.
Python的類
Python是一門面向?qū)ο蟮恼Z言,和java或者oc一樣,我們把一個類歸為一個對象.如果你沒有接觸過相關(guān)的面向?qū)ο蟮恼Z言,可能你還需要去找相關(guān)的知識補一下.以下我會簡單的說明下.
類的定義
類是用來描述一些具有相同類型或者屬性方法的集合,我們把類的實例叫做一個對象. 下面舉個例子以便大家理解
比如定義一個人這個類,他有年齡,身高,性格等屬性,還可能有一些挑水,砍柴等技能.當一個母親生下一個人來的時候(相當于類的實例),我們就能夠得到一個實際的對象,這個對象被賦予了前面說的那些屬性.
類的幾個概念類變量 ,(也叫全局變量)類的變量在對象中是公用的,類變量定義在類函數(shù)以外,類變量通常不作為實例對象使用.
類函數(shù),(也叫類方法)類中定義的函數(shù),一般包含一定的功能
成員變量,(也叫局部變量)成員變量一般的活動范圍限于一個函數(shù)之中
繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。 繼承也允許把一個派生類的對象作為一個基類對象對待。 例如,有這樣一個設(shè)計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關(guān)系(例圖,Dog是一個Animal)。
方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
自定義類
使用class關(guān)鍵字,接方法名來創(chuàng)建 舉例:class student():
"""
我是一個學(xué)生
"""
def read(self):
"""
我會讀書
"""
print 'read'
復(fù)制代碼
上面我們創(chuàng)建一個student的類,里面有個類函數(shù)read,我們可以通過類名.__doc__來查看函數(shù)說明(也就是雙三引號部分的內(nèi)容)
self關(guān)鍵字
在上面創(chuàng)建的類的例子中,你可能會疑惑read函數(shù)中的self的含義,現(xiàn)在我們就來說明一下 self代表的是當前類的示例,也就是一個對象,通過他,我們可以在一個方法中調(diào)用類中的另外一個方法,有點類似于java中的this和oc中self. 舉例:class student():
"""
我是一個學(xué)生
"""
def read(self):
"""
我會讀書
"""
print 'read'
def talk(self):
"""
我會談?wù)?/p>
:return:
"""
print 'talk'
self.read()
復(fù)制代碼
上面的例子中,我們需要在函數(shù)方法talk中調(diào)用函數(shù)方法read,但是要怎么調(diào)用呢,這時候self就是一個橋梁,我們通過self得到類的對象示例,從而得到他的對象和方法,再通過實例去調(diào)用read函數(shù)方法就可以了
類的實例
在java或者oc中,一個類的實例往往會用到new關(guān)鍵字,但在Python中,類的實例直接使用類名()即可s=student() #student為類名,s為得到的類變量,也就是類的實例
復(fù)制代碼
基本上,當我們得到一個類的實例的時候,基本就相當于得到了它的所有,我們可以通過實例調(diào)用他的函數(shù)方法,也可以通過實例調(diào)用他的全局變量.
Python 類內(nèi)置屬性
Python的中的類,不管是內(nèi)置的還是自定義的,都包含一些共有的內(nèi)置屬性.__dict__ :該屬性會把整個類中的屬性和數(shù)據(jù)組成一個字典返回
__doc__: 返回一個類的描述
__name__:返回類的類名
__moudle__ :返回類所在的模塊名
__base__:返回一個所有父類構(gòu)成的元組
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的python巩固函数和模块_Python学习教程6:函数,模块和类的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqlplus怎样将名次显示在表的后面_
- 下一篇: redhat挂载镜像软件包