每個(gè)編程語言中(諸如:Java、C++、C)等都有函數(shù)的,Python也不例外
創(chuàng)新互聯(lián)建站專注于桐城企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。桐城網(wǎng)站建設(shè)公司,為桐城等地區(qū)提供建站服務(wù)。全流程按需定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)函數(shù)的主要作用有哪些呢?
1、將程序的功能進(jìn)行模塊化,功能模塊清晰
2、減少重復(fù)代碼的工作量
3、便于閱讀及維護(hù)、調(diào)試等
一、函數(shù)的結(jié)束及返回值
#?-*-?coding:?utf-8?-*- def?f1(): ????print("This?is?Fun()") ????return??#函數(shù)調(diào)用結(jié)束 ????print("--?End?1--") ????print("?Print?2") ????return?"---?End?2??--" f1() print(type(f1()))
運(yùn)行結(jié)果:
This is Fun()
This is Fun()
1.函數(shù)在遇到return語句時(shí),此時(shí)函數(shù)調(diào)用已經(jīng)結(jié)束
2.函數(shù)是有返回值的,只不過這里是None類型
再看下面的例子:
def?mth_return(): ????return?1,"String",["a","b"],{"K1":1,"Key2":2} print(mth_return()) print(type(mth_return()))運(yùn)行結(jié)果:
(1, 'String', ['a', 'b'], {'K1': 1, 'Key2': 2})
此時(shí),函數(shù)的返回值是一個(gè)元組
二、函數(shù)的參數(shù)
對(duì)于函數(shù),其函數(shù)名后面的變量通常稱為:形參,調(diào)用函數(shù)時(shí),提供的值稱為:實(shí)參
#?-*-?coding:?utf-8?-*- def?method(name,age):??#name,age是形參 ????print(name,age) def?method2(name,age?="18"):??#提供默認(rèn)參數(shù)值 ????print(name,age) n?=?"Mr.James" method(n,38)??#n是實(shí)參 method2("Zhang") method2("Mr.Zhang",28)
運(yùn)行結(jié)果:
Mr.James 38
Zhang 18
Mr.Zhang 28
三、函數(shù)的關(guān)鍵字參數(shù)
對(duì)于上面的例子,其函數(shù)是位置位置參數(shù),位置一一對(duì)應(yīng),不能多也不能少
下面的這個(gè)這個(gè)例子跟上面的有點(diǎn)不一樣,在Python中稱之為:關(guān)鍵字參數(shù)
#?-*-?coding:?utf-8?-*- def?test(name="James",age=29): ????print("name:{},{}".format(name,age)) test(age=20,name="Mr.Zhang")運(yùn)行結(jié)果:
name:Mr.Zhang,20
四、函數(shù)的可變長參數(shù)
對(duì)于位置參數(shù)而言,形參及實(shí)參需要一一對(duì)應(yīng),若有時(shí)不確定需要哪些參數(shù)或?yàn)榱巳蘸竽芎芎玫臄U(kuò)展,Python中提供了可變長參數(shù)
用法:def function(self,*args,**kwargs)
具體例子:
例子1:
#?coding?=?utf-8 def?test(name,*args): ????print(name) ????print(args) ????print(args[3]) test("Mr.Zhang",1,2,3,["a","b"],{"Key1":1,"Key2":2})??#?*args?返回的是一個(gè)元組運(yùn)行結(jié)果:
Mr.Zhang
(1, 2, 3, ['a', 'b'], {'Key1': 1, 'Key2': 2})
['a', 'b']
例子2:
#?coding?=?utf-8 def?test2(name,*args,**kwargs):??#?**kwargs返回的是一個(gè)字典 ????print(name) ????print(args) ????print(kwargs) test2("Mr.Zhang",1,2,3,['a','b'],{"Key1":1,"Key2":2},age=18,sex="F")運(yùn)行結(jié)果:
Mr.Zhang
(1, 2, 3, ['a', 'b'], {'Key1': 1, 'Key2': 2})
{'age': 18, 'sex': 'F'}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。