真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python的函數(shù)

1.什么是函數(shù)?

有兩個(gè)變量 x 和 y ,當(dāng) x 取其變化范圍中的每一個(gè)特定值時(shí),相應(yīng)地有唯一的 y 與它對(duì)應(yīng),則稱(chēng) y 是 x 的函數(shù)。記為 y = f ( x ),其中 x 為自變量, y 為因變量。

創(chuàng)新互聯(lián)公司長(zhǎng)期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為膠州企業(yè)提供專(zhuān)業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),膠州網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

可知函數(shù)由三部分組成:

x:輸入,一般函數(shù)可以有多個(gè)輸入。
f:function,通過(guò)某種特定的方法將x轉(zhuǎn)換為y,function就是這個(gè)方法。
y:輸出,一般函數(shù)只有一個(gè)輸出,計(jì)算機(jī)技術(shù)中的函數(shù)也可以沒(méi)有輸出。

python的函數(shù):由若干個(gè)語(yǔ)句塊(function)、函數(shù)名稱(chēng)、參數(shù)列表(輸入)構(gòu)成,完成一個(gè)功能(輸出)。

2.函數(shù)的定義及調(diào)用

1.函數(shù)的定義

python使用def語(yǔ)句定義函數(shù)

def 函數(shù)名(參數(shù)列表):
    函數(shù)體(代碼塊)
    [return 返回值]

函數(shù)名:一般命名要求。
參數(shù)列表:放一個(gè)標(biāo)志符占位,叫做形參
函數(shù)體:代碼塊,決定函數(shù)的參數(shù)。
return:默認(rèn)都會(huì)使用return語(yǔ)句,若無(wú)默認(rèn)返回None。

2.函數(shù)的調(diào)用

通過(guò)前面定義的函數(shù)名稱(chēng)進(jìn)行調(diào)用,就可以將函數(shù)運(yùn)行起來(lái),從而得到函數(shù)的返回值。
注意:
調(diào)用的時(shí)候需要在函數(shù)名稱(chēng)后加個(gè)小括號(hào)()括號(hào)內(nèi)填入函數(shù)體中需要的參數(shù),傳入的參數(shù)叫做實(shí)參
函數(shù)傳入的參數(shù)必須和函數(shù)體中需要的函數(shù)(實(shí)參)保持?jǐn)?shù)量一致,除非原函數(shù)參數(shù)列表中定義的有默認(rèn)參數(shù)。

#定義函數(shù)add()
def add(x,y):
    sum = x+y
    return sum

#調(diào)用函數(shù)add()
add(1,3)
4

3.函數(shù)的參數(shù)

python傳入的參數(shù)分為兩類(lèi),一種說(shuō)根據(jù)位置傳入的參數(shù)叫位置參數(shù),另外一種可以根據(jù)形參定義的變量傳入的參數(shù)叫關(guān)鍵字參數(shù)。
傳入的時(shí)候,位置參數(shù)需放在關(guān)鍵字參數(shù)之前。

1.普通位置參數(shù)

把參數(shù)1給x,參數(shù)3給y。一一對(duì)應(yīng),這種就是位置參數(shù)。位置參數(shù)是按照順序一一傳入。

def add(x,y):
    sum = x+y
    return sum

add(1,3)  
4
2.可變位置參數(shù)

在普通位置前面加個(gè)"*",可以一次接受多個(gè)參數(shù)。使用一個(gè)元組(tuple)收集多個(gè)實(shí)參。

def add(*nums):
    sum = 0
    print(type(nums))
    for x in nums:
        sum+=x
    print(sum)

add(3,5,6)

14

說(shuō)明:一般情況下,如果普通參數(shù)和可變位置參數(shù)一起定時(shí)候,需要把普通參數(shù)放在位置參數(shù)之前。

def add(x,*nums):
    sum = 0
    print(nums)
    for x in nums:
        sum+=x
    print(sum)

add(3,5,6)
(5, 6)
11
3.關(guān)鍵字參數(shù)

把3傳給y,1傳給x。按照定義好的關(guān)鍵字傳入?yún)?shù),位置可以隨意。

def add(x,y):
    sum = x+y
    return sum

add(y=3,x=1) 
4

說(shuō)明:當(dāng)位置參數(shù)和關(guān)鍵字參數(shù)一起傳入時(shí)候,需要把位置參數(shù)放在關(guān)鍵字參數(shù)前面。

def add(x,y):
    sum = x+y
    return sum

add(1,y=1) 
2
4.可變關(guān)鍵字參數(shù)

在普通關(guān)鍵字參數(shù)前面加兩個(gè)"**",可以一次接受多個(gè)關(guān)鍵字參數(shù),收集到的實(shí)參名稱(chēng)和值組成一個(gè)字典(dict)。

def showconfig(**kwargs):
    for k,v in kwargs.items():
        print('{} = {}'.format(k, v))

showconfig(host='127.0.0.1',port='8080',username='mykernel',password='qwe123')
username = mykernel
password = qwe123
port = 8080
host = 127.0.0.1

說(shuō)明:當(dāng)可變參數(shù)和普通參數(shù)一起定義時(shí),需要把可變參數(shù)放在普通參數(shù)之后。

def showconfig(x,y,*args,**kwargs):
        print(x)
        print(y)
        print(args)
        print(kwargs)

showconfig('127.0.0.1',8080,'mykernel',password='qwe123')
#此時(shí)使用關(guān)鍵字參數(shù)給x,y賦值就會(huì)報(bào)錯(cuò)。
127.0.0.1
8080
('mykernel',)
{'password': 'qwe123'}
5.默認(rèn)參數(shù)

有些參數(shù)很少改變,所以可以在指定形參的時(shí)候傳入一個(gè)默認(rèn)值,當(dāng)有新的實(shí)參去替換它的時(shí)候,新的參數(shù)生效。
默認(rèn)參數(shù)必須放在普通參數(shù)之后

#傳入默認(rèn)值參數(shù)
def add(x=11,y=111):
    sum = x+y
    return sum

add() #未傳入?yún)?shù),默認(rèn)參數(shù)生效
122
#有再次傳入?yún)?shù),替換默認(rèn)值。
def add(x=11,y=111):
    sum = x+y
    return sum

add(657,y=123) #新傳入的參數(shù)生效
780

定義一個(gè)函數(shù)login,參數(shù)名稱(chēng)為host、port、username和password。

def login(host='127.0.0.1',port='80',username='mykernel',password='123'):
    print('{}:{}\nname:{}\npasswd:{}\n'.format(host,port,username,password))

login()
login('192.168.1.1',8080)
login('10.0.0.1',password='qwe123')
127.0.0.1:80
name:mykernel
passwd:123

192.168.1.1:8080
name:mykernel
passwd:123

10.0.0.1:80
name:mykernel
passwd:qwe123
6.keyword-only參數(shù)(python3后引入)

定義方法一:在可變位置參數(shù)后,出現(xiàn)普通參數(shù)。此時(shí)這個(gè)普通參數(shù)就被python視作為keyword-only參數(shù),keyword-only參數(shù)在傳入時(shí)必須使用關(guān)鍵字傳參方法傳入。

定義方法二:def fn(*, x,y),*,后跟普通參數(shù),也被視為keyword-only參數(shù),x,y均為keyword-only參數(shù)。

7.參數(shù)定義順序

參數(shù)列表的一般順序是:普通參數(shù),缺省參數(shù),可變位置參數(shù),keyword-only參數(shù)(可帶缺省值),可變關(guān)鍵字參數(shù)。

def fn1(x, y, z=3, *args, m=4, n, **kwargs):
    print(x,y)
    print(z)
    print(args)
    print(m,n)
    print(kwargs)
    print(end='\n')

#x,y是普通參數(shù)
#z,帶默認(rèn)值,傳入時(shí)候省略,缺省參數(shù)
#*args,可變位置參數(shù)
#m=4,keyword-only 缺省參數(shù)
#n,keyword-only參數(shù)
#**kwargs,可變關(guān)鍵字參數(shù)

fn1(1,2,n=4)

fn1(1,2,4,43,123,k=123,m=11,n=13,j='hello')
1 2
3
()
4 4
{}

1 2
4
(43, 123)
11 13
{'j': 'hello', 'k': 123}
def fn2(x, y, z=3, *, m=4, n, **kwargs):  #定義m,n為keyword-only參數(shù)。
    print(x,y)
    print(z)
    print(m,n)
    print(kwargs)
    print(end='\n')

fn2(1,2,m=1,n=2)
1 2
3
1 2
{}
8.參數(shù)解構(gòu)
def add(x,y):
    print(x+y)
    print()

add(*(4,6)) #參數(shù)解構(gòu)
# add(*(1,2)) add(*[1,2]) add(*{1,3}) 

add(**{'x':1,'y':11}) #字典參數(shù)解構(gòu),x,y參數(shù)要和定義的對(duì)應(yīng)起來(lái)。把x=1,y=11 傳入形參,關(guān)鍵字傳參。
d = {'a':1,'b':12}

add(*d.keys()) #取k 把取出來(lái)的k賦值給形參,位置傳參。
add(*d.values()) #取values
10

12

ab

13

推廣博客來(lái)了:http://hexo.mykernel.cn/python-function-1.html


網(wǎng)頁(yè)名稱(chēng):python的函數(shù)
轉(zhuǎn)載源于:http://weahome.cn/article/jdihch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部