本篇文章主要是對python學習時的一些總結,作為學習筆記記錄。
函式是定義好的,可以重複使用的,具有特定功能的**塊
對於程式設計來說,使用函式的優點主要有:
函式定義具有一定的規則:
def func(var1, var2):
''':param var1:
:param var2:
:return:
'''......
[return expression]
可變引數:傳入的引數個數是可變的,可以是0個,1個或是多個
當存在多種形式的形參型別時,各類形參出現先後順序為:位置引數,預設值引數,*args,**kwargs
def func(var1, var2, var3 = 10, *args, **kwargs):
print('var1 is:', var1)
print('var2 is:', var2)
print('var3 is:', var3)
print('args is:', args)
print('kwargs is:', kwargs)
func(1,20)
print('*********')
func(var2 = 1,var1 = 20)
print('*********')
func(1,20,var3 = 40)
print('*********')
func(1,20,30,40,50,var4 = 60)
其中var1,var2為位置引數,var3為預設引數,args,kwargs為可變引數。
如果要獲取命令列傳遞給python檔案的引數可以使用sys模組的ar**來獲取。
import sys
print(sys.ar**)
結果為:
函式定義之後就可以使用函式,使用函式的過程叫做函式呼叫
為了函式的正確呼叫,必須保證引數傳遞正確無誤。對上面的函式進行呼叫為:
var1 is: 1
var2 is: 20
var3 is: 10
args is: ()
kwargs is: {}
*********
var1 is: 20
var2 is: 1
var3 is: 10
args is: ()
kwargs is: {}
*********
var1 is: 1
var2 is: 20
var3 is: 40
args is: ()
kwargs is: {}
*********
var1 is: 1
var2 is: 20
var3 is: 30
args is: (40, 50)
kwargs is:
如果函式外部要用到函式內部的變數,可以利用return將該變數返回。
def func():
return 1
def foo():
return 1,2,3
print(type(func()))
print(func())
print(type(foo()))
print(foo())
結果為:
1
(1, 2, 3)
函式文件字串(docstring)是在函式開頭,用來對介面進行解釋,相當於幫助文件。函式文件一般包含:
文件字串書寫規則:
def func(var1, var2):
''':param var1:
:param var2:
:return:
'''print('func')
print(func.__doc__)
結果為:
:param var1:
:param var2:
:return:
python的引數傳遞是值傳遞,這裡的值是指變數的引用(位址),而不是變數的值。不存在值傳遞和引用傳遞的區別。簡單說來,python的引數傳遞可以認為是c/c++中的物件引用傳遞,物件又可以分為:
不可變物件為不可以在函式內部修改函式外部的變數,可變物件為可以在函式內部修改函式外部的變數。
空語句借助空語句pass實現,函式體實際上不具有任何功能。
def func():
pass
python基礎 函式程式設計
python函式程式設計的優點 1 保持 的可重用性 意思就是你不需要在不同的場合下寫重複的 2 保持 的可拓展性 意思就是在哪個地方需要修改一下,你只需要修改函式裡面的內容,而不需要修改每個使用到它的地方 3 保持 的一致性 意思就是函式某個地方改變了,其它用到它的地方都變了 函式返回值 當沒有返...
Python基礎 函式 1
def 函式名 形參 1 2.格式 函式名 實參 def name a,b i a b print i name 20,30 50查詢函式的說明文件 help 函式名 def name a,b 加法函式 寫在def後一排,可以換行 i a b print i name 20,30 help name...
python基礎 函式1
一,為什麼使用函式 1,可以使 的組織結構清晰,可讀性好 2,遇到重複的問題可以直接呼叫函式 3,功能擴充套件時,可直接修改,而無需每處都進行修改 二,函式為何物 函式對程式設計師相當於巧婦之於公尺,藍翔之於挖掘機 學生之於書本。三,函式分類 1,內建函式,python直譯器已經給我們定義好了很多函...