python中execute函数_Python中的函数定义与参数使用
本節知識點:(1)函數定義格式;(2)五種參數使用
函數定義
基本語法格式
def?function_name(??parameter_list??):?????
????????
?return?values
函數通常為小寫英語單詞及其組合,以下劃線隔開,例如:sum、mean、cost_calculate
埋個坑,記得用pass
def?function_name(??parameter_list??):
?pass沒有 return values 的時候,返回值為None
很多教材喜歡寫 參數是可變的、不可邊的怎么怎么考慮!其實這么啥子必要。
在Python中所有的變量均是reference,理解這一點,就都ok了
參考之前的推文:Pyhon中的賦值與參數傳遞,或許跟你想的不太一樣!
函數的簡單介紹可以通過, """ 簡單的測試函數 """ 這樣子實現
def?func():
????"""?簡單的測試函數?"""
????
????
????pass
func.__doc__
'?簡單的測試函數?'
函數參數
從左至右位置排序:位置參數、默認參數、可變參數、命名關鍵字參數、關鍵字參數
位置參數
代碼示例、
def?power(x,n):????return?x**n
print(?power(?10,2)?)?
print(?power(?10,3)?)
100
1000
比較簡單,沒啥子好說的,就是注意一哈調用的時候需要一個一個對上號就行
假如怕自己對不上號,就辛苦點,這么調用
print(?power(x=?9,n=3)?)
729或者
print(?power(9,n=3)?)
729但是不要這樣子寫
print(?power(n=3,9)?)
??File?"",?line?1
????print(?power(n=3,9)?)
????????????????????^
SyntaxError:?positional?argument?follows?keyword?argument原因就不多說了,SyntaxError已經給出解釋,SyntaxError: positional argument follows keyword argument
這樣子寫也不對
print(?power(3,x=9)?)
---------------------------------------------------------------------------
TypeError?????????????????????????????????Traceback?(most?recent?call?last)
?in?
---->?1?print(?power(3,x=9)?)
TypeError:?power()?got?multiple?values?for?argument?'x'原因就不多說了,TypeError已經給出解釋,TypeError: power() got multiple values for argument 'x'
默認參數
用途:簡化調用。出于這個目的,設置默認參數基本原則:
- 位置參數設置在前,默認參數設置在后
- 函數有多個參數,變化大的參數放置在前,變化小的參數放置在后面位置,同時為變化小的參數設置默認值
代碼示例、
def?power(x,n=2):????return??x**n
print(?power(10)?)
print(?power(5,3)?)
100
125
def?enroll_func(name,?gender,?money=60,?city='Beijing'):
????print(?"name:{};gender:{};money:{};city:{}".format(??name,?gender,?money?,city?)??)
????
????
enroll_func("xiaole",?"male"?)
enroll_func("Frank",?"male",?money=1000,?city="shanghai"?)
name:xiaole;gender:male;money:60;city:Beijing
name:Frank;gender:male;money:1000;city:shanghai
可變參數
用途:解決傳入參數個數不定的情況,
代碼示例、
def?simulate_sum(?*args?):????result?=?0?
????print(?"args:?{}?;?數據類型:{}".format(?args,?type(args)????)?)
????for?arg?in?args:
????????result+=arg
????
????return?result
result?=??simulate_sum(??1,2,3,4,5??)
print(??result?)
args:?(1, 2, 3, 4, 5)?;?數據類型:'tuple'>
15result?=??simulate_sum(????)
print(??result?)
args:?()?;?數據類型:'tuple'>
0
傳多了就是一個大的tuple,傳少了就是一個小的tuple,不傳就是個空tuple
關鍵字參數
用途:允許傳入0個或者多個包含參數名字的參數,這樣這些個參數就可以組成一個dict,從dict取參數相較于從tuple取參數,舒服!!
代碼示例
def?person_info(name,gender,?**kwargs):????print(?"主要信息:name {},gender {}".format(?name,?gender??)???)
????print(?"其他信息:")
????for?key,value??in?kwargs.items():
????????print(?"{}?--->?{}".format(?key,value??)??)
person_info(??'Bob',?'female',?city='Beijing',age=18,?height?=??168?)
主要信息:name Bob,gender female
其他信息:
city?--->?Beijing
age?--->?18
height?--->?168
命名關鍵字參數
用途:指定關鍵字的名字
def?sorted(__iterable:?Iterable[_T],???????????*,
???????????key:?Optional[(_T)?->?Any]?=?...,
???????????reverse:?bool?=?...)?->?List[_T]
Return?a?new?list?containing?all?items?from?the?iterable?in?ascending?order.
A?custom?key?function?can?be?supplied?to?customize?the?sort?order,?and?the?reverse?flag?can?be?set?to?request?the?result?in?descending?order.
此處的key和reverse都是命名關鍵字參數,說白了,我就只允許你這來關鍵字來了,其他的我不要,不要
sorted(?[-1,4,2,3],?reverse=True)[4,?3,?2,?-1]
sorted(?[-1,4,2,3],?reverse1=True)
---------------------------------------------------------------------------
TypeError?????????????????????????????????Traceback?(most?recent?call?last)
?in?
---->?1?sorted(?[-1,4,2,3],?reverse1=True)
TypeError:?'reverse1'?is?an?invalid?keyword?argument?for?sort()
參數組合
所有的參數都能組合使用,但是位置得定好,從左到右依次是:位置參數、默認參數、可變參數、命名關鍵字參數、關鍵字參數
常用的幾種格式
格式1、只要位置參數
def?func(x,?y):????pass
格式2、位置參數+默認參數
def?func(x,?y,m=1,n=2):????pass
格式3、*args + **kwargs
def?func(*args,?**kwargs):????pass
格式4、位置參數+ 命名關鍵字參數
def?func(x,?*,reverse,?order???):?????pass
格式5、位置參數+ 命名關鍵字參數
def?func(x,?*,reverse?=False?,?order??=?1?):?????pass
References
[1] Runnoob ?https://www.runoob.com/python3/python3-function.html
Motto
日拱一卒,功不唐捐
長按下圖 ?關注xiao樂總結
以上是生活随笔為你收集整理的python中execute函数_Python中的函数定义与参数使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言整型数组操作,c语言的数组操作|时
- 下一篇: 不怕商家跑路 支付宝:芝麻信用正式推出“