python学习(函数)
前言:目前先將python的基礎(chǔ)語(yǔ)法和知識(shí)學(xué)完,再去嘗試寫(xiě)腳本,這次就學(xué)習(xí)python中的函數(shù)和類。
一、定義函數(shù)
使用關(guān)鍵字def 來(lái)定義一個(gè)函數(shù),這就是函數(shù)定義,而且定義以冒號(hào)結(jié)尾。
格式:
def 函數(shù)名 :內(nèi)容函數(shù)名例如:
def message():"""打印的信息"""print("hello world") message() 輸出結(jié)果: hello world"""打印的信息"""被稱為文檔字符串的注釋,文檔字符串用三引號(hào)括起來(lái)。
二、向函數(shù)傳遞信息
def message(username):"""打印的信息"""print("hello,"+username.title()) #調(diào)用函數(shù) message('lemon')
通過(guò)這個(gè)例子可以知道,在定義函數(shù)時(shí)括號(hào)內(nèi)添加了username ,我們?cè)谡{(diào)用的時(shí)候可以賦任何值給username。
三、位置實(shí)參
調(diào)用函數(shù)時(shí),Python必須將函數(shù)調(diào)用中的每個(gè)實(shí)參都關(guān)聯(lián)到函數(shù)定義中的一個(gè)形參。最簡(jiǎn)單的關(guān)聯(lián)方式是基于實(shí)參的順序,這就算位置參數(shù)。
調(diào)用函數(shù)多次,如:
應(yīng)注意在函數(shù)調(diào)用時(shí)實(shí)參的順序與函數(shù)定義中形參的順序是否一致
關(guān)鍵字實(shí)參
關(guān)鍵字實(shí)參是傳遞給函數(shù)的名稱—值對(duì),直接在實(shí)參中將名稱和值關(guān)聯(lián)起來(lái),因此向函數(shù)傳遞實(shí)參時(shí)不會(huì)混淆.
關(guān)鍵字實(shí)參明確地指出了各個(gè)實(shí)參對(duì)應(yīng)的形參,因此不會(huì)出現(xiàn)因?yàn)轫樞蚨煜那闆r。
默認(rèn)值
編寫(xiě)函數(shù)時(shí),可給每個(gè)形參指定默認(rèn)值。在調(diào)用函數(shù)中給形參提供了實(shí)參時(shí),Python將使用指定的實(shí)參值;否則,將使用形參的默認(rèn)值。
使用默認(rèn)值時(shí),在形參列表中必須先列出沒(méi)有默認(rèn)值的形參,再列出有默認(rèn)值的實(shí)參。這樣才能夠正確地解讀位置實(shí)參。
四、返回值
函數(shù)并非總是直接顯示輸出,相反,它可以處理一些數(shù)據(jù),并返回一個(gè)或一組值。函數(shù)返回的值被稱為返回值 。
返回簡(jiǎn)單的值
相較于之前,需要再次調(diào)用函數(shù)并賦值有些麻煩,返回值直接是賦值給一個(gè)變量,我們通過(guò)打印出這個(gè)變量即可得出相應(yīng)的值。
讓實(shí)參變成可選的
有時(shí)候,需要讓實(shí)參變成可選的,這樣使用函數(shù)就可以提供額外的信息。
可使用默認(rèn)值來(lái)讓實(shí)參變成可選的。
這里用一個(gè)if語(yǔ)句來(lái)進(jìn)行判斷middle_name是否存在,通過(guò)這樣的判斷,就可以打印出不同的情況,這里便是將middle_name變成可選的。
返回字典
函數(shù)可返回任何類型的值,包括列表和字典等較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
full_name接收f(shuō)irst_name和last_name,并將這些值封裝到字典中.
同樣可以增加一個(gè)可選值,如果存在則添加到字典中,并通過(guò)返回值賦值給變量
使用函數(shù)和while循環(huán)
五、傳遞列表
將列表傳遞給函數(shù)后,函數(shù)就能直接訪問(wèn)其內(nèi)容
通過(guò)把列表傳遞給函數(shù),提高效率
傳遞任意數(shù)量的實(shí)參
形參名*toppings 中的星號(hào)讓Python創(chuàng)建一個(gè)名為toppings 的空元組,并將收到的所有值都封裝到這個(gè)元組中
不管收到的是一個(gè)值還是三個(gè)值,函數(shù)都能妥善地處理
結(jié)合使用位置實(shí)參和任意數(shù)量實(shí)參
如果要讓函數(shù)接受不同類型的實(shí)參,必須在函數(shù)定義中將接納任意數(shù)量實(shí)參的形參放在最后。Python先匹配位置實(shí)參和關(guān)鍵字實(shí)參,再將余下的實(shí)參都收集到最后一個(gè)形參中。
Python將收到的第一個(gè)值存儲(chǔ)在形參size 中,并將其他的所有值都存儲(chǔ)在元組toppings中
使用任意數(shù)量的關(guān)鍵字實(shí)參
結(jié)果:
形參**user_info 中的兩個(gè)星號(hào)讓Python創(chuàng)建一個(gè)名為user_info 的 空字典,并將收到的所有名稱—值對(duì)都封裝到這個(gè)字典中。 然后遍歷字典user_info 中的鍵—值對(duì),并將每個(gè)鍵—值對(duì)都加入到字典profile 中。
六、將函數(shù)存儲(chǔ)在模塊中
導(dǎo)入整個(gè)模塊
模塊 是擴(kuò)展名為.py的文件,包含要導(dǎo)入到程序中的代碼
只需編寫(xiě)一條import 語(yǔ)句并在其中指定模塊名,就可在程序中使用該模塊中的所有函數(shù)。
例如:
使用這種import 語(yǔ)句導(dǎo)入了名為module_name.py 的整個(gè)模塊,就可使用下面的語(yǔ)法來(lái)使用其中任何一個(gè)函數(shù):
導(dǎo)入特定的函數(shù)
from module_name import function_name通過(guò)用逗號(hào)分隔函數(shù)名,可根據(jù)需要從模塊中導(dǎo)入任意數(shù)量的函數(shù):
from module_name import function_0, function_1, function_2使用as給函數(shù)指定別名
函數(shù)make_pizza() 指定了別名mp()
指定別名通用語(yǔ)法:
from module_name import function_name as fn使用as給模塊起別名
導(dǎo)入模塊中的所有函數(shù)
使用星號(hào)(* )運(yùn)算符可讓Python導(dǎo)入模塊中的所有函數(shù)
總結(jié)
以上是生活随笔為你收集整理的python学习(函数)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Bugku—web题解
- 下一篇: Python爬虫之旅_ONE