一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python傳遞參數方式小結

python傳遞參數方式小結

2020-06-09 09:35走向星辰大海 Python

這篇文章主要介紹了python傳遞參數方式,實例總結了Python常用的參數傳遞方式,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例總結了python傳遞參數方式。分享給大家供大家參考。具體分析如下:

當形參如*arg時表示傳入數組,當形參如**args時表示傳入字典。

?
1
2
3
4
5
6
def myprint(*commends,**map): 
 for comm in commends: 
 print comm 
 for key in map.keys(): 
 print key,map[key] 
myprint("hello","word",username="tian",name="wei")

輸出:

?
1
2
3
4
hello
word
username tian
name wei

python中定義一個函數,可以通過正常的只傳入值或key-value的方法調用。但是如果第一個時參數傳入的是key-value的方法,那么后面的必須都是key-value方法,如果第一個不是,那么后面的可以根據情況再傳入值就可以了。

例子如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def parrot(voltage="fff",state='a stiff',action='voom',type='Norwegian Blue'):
 print "-- This parrot wouldn't", action, 
 print "if you put", voltage, "volts through it."
 print "-- Lovely plumage, the", type
 print "-- It's", state, "!"
parrot(1000)#可以 
parrot(action = 'VOOOOOM', voltage = 1000000)
#可以,都是key-value方法 
parrot('a thousand', state = 'pushing up the daisies')
#可以,第一個實參為直接傳入法,后面無所謂了 
parrot('a million', 'bereft of life', 'jump')
#可以,都是傳值,而且由于形參都有默認值,則按順序一個個替換 
parrot(voltage="33","ff","abc")
# 不可以,第一個為Key-value傳值法,以后的都必須是

Python新手入門,在python中函式定義主要有四種方式:

① F(arg1,arg2,...),最常見的定義方式,一個函式可以定義任何個參數,每個參數間用逗號分割,用這種參數在調用的時候必須在函式名后面的小括號中提供個數相等的值(實參),并且順序必須相同,形參與實參一一對應

?
1
2
def a(x,y):
  print x,y

調用a函式,a(1,2)則x=1,y=2,如果a(1)或者a(1,2,3)則會出錯

② F(arg1,arg2=value2,...agrN=valueN),則將為函式提供默認值。

?
1
2
def a(x,y=3):
  print x,y

調用該函式,a(1,2)則x=1,y=2,如果a(1)不會導致錯誤,此時x=1,y=3,y值將使用默認值,a(y=4,x=2)同理

可變參數:

③ F(*arg1),以一個*加形參的方式來表示函式的實參個數不確定,參數個數>=0,采用這樣的方式定義函式,在函式內部將以實參名的方式構建一個元組(tuple)

?
1
2
3
4
5
6
7
8
9
10
11
12
def a(*x): 
  # 定義一個名為x的元組
 
def a(*t): 
  print x
 
>>>a(1)
(1,)
>>>a()
None
>>>a(1,2,3)
(1,2,3)

遍歷該元組(計算總和)的一種方式,此時r定義為一元組:

?
1
2
3
4
5
def y(*r):
  x = 0
  for t in r:
    x += t
  print x

④ F(**arg)形參名前加2個**表示在函式內部將被存放在以形參名為標識符的dictionary,這時調用將使用arg1=value1,arg2=value2...

?
1
2
3
4
5
6
7
8
9
def a(**b): 
  print b
 
>>>a()
None
>>>a(x=1,y=2)
{'y':2,'x':1}
#注意遍歷返回的順序與形參位置順序相反
>>>a(1,2) #error

可通過以下方式來獲取預期鍵值對,如果形參是未定義'y'的鍵,將返回None

?
1
2
3
4
5
6
7
8
9
def a(**x): 
  print x.get('y')
 
>>>a(x=1,y=2)
2
>>>a(x=1)
None
>>>a(x=1,b=2)
None

Python參數調用過程按照以上四種方法優先級依次降低。

①方式解析,然后是②中的arg=value方式,再分別按照③>④優先級傳參

這是自己第一份通過Blog整理的學習筆記,希望對自己,對瀏覽至此的各位朋友有所幫助,以上函式命名不符合規范,僅用于簡單標識說明,使用python 2.6.2

希望本文所述對大家的Python程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲成人免费 | 成人 在线欧美亚洲 | 国产精品资源在线观看 | 国产欧美曰韩一区二区三区 | 人体做爰aaaa免费 | 免费观看欧美成人禁片 | 色综合色狠狠天天久久婷婷基地 | 欧美日韩精品亚洲精品v18 | 国产精品va在线观看手机版 | 亚洲国产精品无码中文字幕 | 好姑娘在线完整版视频 | 双性少爷受糙汉攻h | 国产视频中文字幕 | 嗯啊好大视频 | 亚洲国产综合自在线另类 | 国产精品啪啪 | 日韩在线免费播放 | 亚洲香蕉网久久综合影院3p | freesex性欧美炮机喷潮 | 日本一在线中文字幕天堂 | 日本道色综合久久影院 | 精品91自产拍在线观看99re | 日本一区二区高清免费不卡 | 国产二区精品视频 | 五月婷婷在线观看 | xxx88视频在线观看 | 毛片影院 | 精品亚洲一区二区三区在线播放 | 色综合中文字幕在线亚洲 | 2012在线观看免费视频大全 | 四虎永久 | 免费国产成人 | 欧美日韩亚洲第一区在线 | 色老头影视 | 人妖欧美一区二区三区四区 | 色婷婷久久综合中文久久一本 | 亚洲精品国产成人中文 | 国产一区二区免费在线 | 国产 日韩欧美 | 亚洲AV无码国产精品午夜久久 | 国产a不卡片精品免费观看 国产aaa伦理片 |