python獲得參數
㈠ python如何獲取函數的參數名
我這里用的是IDLE(我自己也覺得有點低端),Python3(2應該也可以)
>>> help()
Welcome to Python 3.7's help utility!
If this is your first time using Python, you should definitely check out
the tutorial on the Internet at https://docs.python.org/3.7/tutorial/.
Enter the name of any mole, keyword, or topic to get help on writing
Python programs and using Python moles. To quit this help utility and
return to the interpreter, just type "quit".
To get a list of available moles, keywords, symbols, or topics, type
"moles", "keywords", "symbols", or "topics". Each mole also comes
with a one-line summary of what it does; to list the moles whose name
or summary contain a given string such as "spam", type "moles spam".
help> sum
Help on built-in function sum in mole builtins:
sum(iterable, start=0, /)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
解釋一下:先在Shell輸入help(),它就會問你你要哪個函數的說明。然後你輸入對應函數(比如sum),就可以看到這一行:sum(iterable, start=0, /),也就是說你要先輸入iterable參數,start可以選擇輸入(有默認值)。
或者還有一種方法:用的時候直接輸入函數加上左括弧 比如sum( 然後你就可以看到下面有一個框,然後按照說明寫就好了。如果不小心不見了,就可以把左括弧去掉再重新輸入,就可以再看到這個框啦!
㈡ python獲取外部傳入多個參數
答: 在Python當中使用input進行數據的傳入,為了傳遞多個參數,可以使用串聯函數split來進行多個參數的傳入。其中split(' ')表示各個參數之間使用空格間隔。如果需要,我們也可以將裡面設置為逗號。具體的實現代碼如下。
當然我們還要學會觸類旁通,圖中只講解了輸入兩個或者三個參數,但是方法都是類似的,以後不管你想輸入幾個參數都可以這樣做。
㈢ python怎樣接收參數
Python中函數參數的傳遞是通過「賦值」來傳遞的,函數參數的接收傳遞有四種形式:
1. F(arg1,arg2,...)
2. F(arg2=,arg3=...)
3. F(*arg1)
4. F(**arg1)
第1
種方式是最「傳統」的方式:一個函數可以定義不限個數參數,參數(形式參數)放在跟在函數名後面的小括弧中,各個參數之間以逗號隔開。用這種方式定義的函數在調用的時候也必須在函數名後的小括弧中提供相等個數的值(實際參數),不能多也不能少,而且順序還必須相同。也就是說形參和實參的個數必須一致,而且想給形參1的值必須是實參中的第一位,形參與實參之間是一一對應的關系,即「形參1=實參1
形參2=實參2...」。很明顯這是一種非常不靈活的形式。比如:"def addOn(x,y): return x +
y",這里定義的函數addOn,可以用addOn(1,2)的形式調用,意味著形參x將取值1,主將取值2。addOn(1,2,3)和addOn
(1)都是錯誤的形式。
第2種方式比第1種方式好一點,在定義的時候已經給各個形參定義了默認值。因此,在調用這種函數時,如果沒有給對應的形式參數傳遞實參,那麼這個形參就將使用默認值。比如:「def
addOn(x=3,y=5): return x +
y」,那麼addOn(6,5)的調用形式表示形參x取值6,y取值5。此外,addOn(7)這個形式也是可以的,表示形參x取值7,y取默認值5。這時候會出現一個問題,如果想讓x取默認值,用實參給y賦值怎麼辦?前面兩種調用形式明顯就不行了,這時就要用到Python中函數調用方法的另一大絕招
──關健字賦值法。可以用addOn(y=6),這時表示x取默認值3,而y取值6。這種方式通過指定形式參數可以實現可以對形式參數進行「精確攻擊」,一個副帶的功能是可以不必遵守形式參數的前後順序,比如:addOn(y=4,x=6),這也是可以的。這種通過形式參數進行定點賦值的方式對於用第1種方式定義的函數也是適用的。
上面兩種方式定義的形式參數的個數都是固定的,比如定義函數的時候如果定義了5個形參,那麼在調用的時候最多也只能給它傳遞5個實參。但是在實際編程中並不能總是確定一個函數會有多少個參數。第3種方式就是用來應對這種情況的。它以一個*加上形參名的方式表示,這個函數實際參數是不一定的,可以是零個,也可以是N個。不管是多少個,在函數內部都被存放在以形參名為標識符的tuple中。比如:
對這個函數的調用addOn() addOn(2) addOn(3,4,5,6)等等都是可以的。
與第3種方式類似,形參名前面加了兩個*表示,參數在函數內部將被存放在以形式名為標識符的dictionary中。這時候調用函數必須採用key1=value1、key2=value2...的形式。比如:
1. def addOn(**arg):
2. sum = 0
3. if len(arg) == 0: return 0
4. else:
5. for x in arg.itervalues():
6. sum += x
7. return sum
那麼對這個函數的調用可以用addOn()或諸如addOn(x=4,y=5,k=6)等的方式調用。
上面說了四種函數形式定義的方式以及他們的調用方式,是分開說的,其實這四種方式可以組合在一起形成復雜多樣的形參定義形式。在定義或調用這種函數時,要遵循以下規則:
1. arg=必須在arg後
2. *arg必須在arg=後
3. **arg必須在*arg後
在函數調用過程中,形參賦值的過程是這樣的:
首先按順序把「arg」這種形式的實參給對應的形參
第二,把「arg=」這種形式的實參賦值給形式
第三,把多出來的「arg」這種形式的實參組成一個tuple給帶一個星號的形參
第四,把多出來的「key=value」這種形式的實參轉為一個dictionary給帶兩個星號的形參。
聽起來好復雜,實際是是很簡單的。很直觀,來看例子:
1. def test(x,y=5,*a,**b):
2. print x,y,a,b
就這么一個簡單函數,來看看下面對這個函數調用會產生什麼結果:
test(1) ===> 1 5 () {}
test(1,2) ===> 1 2 () {}
test(1,2,3) ===> 1 2 (3,) {}
test(1,2,3,4) ===> 1 2 (3,4)
test(x=1) ===> 1 5 () {}
test(x=1,y=1) ===> 1 1 () {}
test(x=1,y=1,a=1) ===> 1 1 () {'a':1}
test(x=1,y=1,a=1,b=1) ===> 1 1 () {'a':1,'b':1}
test(1,y=1) ===> 1 1 () {}
test(1,2,y=1) ===> 出錯,說y給賦了多個值
test(1,2,3,4,a=1) ===> 1 2 (3,4) {'a':1}
test(1,2,3,4,k=1,t=2,o=3) ===> 1 2 (3,4) {'k':1,'t':2,'o':3}
㈣ 哪個命令可以查看python的各參數信息
python獲取命令行參數的方法:getopt模和argparse模塊。
getopt模塊主要用到了模塊中的函數:options, args = getopt.getopt(args, shortopts, longopts=[])
argparse模塊用於解析命令行選項和參數的標准模塊。
使用步驟:
1、import argparse#導入模塊
2、parser = argparse.ArgumentParser()#創建解析對象
3、 parser.add_argument()#向該對象中添加使用到的命令行選項和參數
4、 parser.parser_args()#解析命令行
㈤ python怎麼查看函數參數
在開發過程中,我們可以通過使用Python內置函數「help()」來查看函數的參數說明。以內置函數sorted()為例,它具有多種參數類型,包括必選參數、默認參數、可選參數和關鍵字參數。
默認參數是一種特殊類型的參數,它被放在必選參數之後。例如,計算x的平方可以使用如下代碼:這種寫法需要每次計算不同冪函數時重寫函數,十分繁瑣。而使用默認參數的好處是能夠降低調用函數的難度。例如,定義一個計算冪函數的函數,可以設置默認參數,這樣每次只需調用該函數即可。
可變參數允許傳入的參數個數是不確定的,可以是1個、2個或者任意多個,甚至可以是0個。在函數定義中,通過在參數前加上*來表示可變參數。在函數內部,參數numbers將接收一個tuple,這樣可以靈活地傳遞任意數量的參數。例如,調用該函數時可以傳入0個參數,也可以傳入多個參數。
除了可變參數,還可以使用關鍵字參數來傳遞參數。關鍵字參數允許以字典的形式傳遞參數,並且在函數內部通過**來接收。這樣可以更靈活地傳遞參數,尤其是當參數數量較多時。例如,可以先創建一個字典,然後將該字典轉換為關鍵字參數傳遞給函數。
總的來說,通過使用這些不同的參數類型,我們可以更加靈活地編寫函數,提高代碼的復用性和可讀性。
㈥ Python獲取類方法的參數列表
用python的inspect模塊,inspect.getmembers得到所有的方法(注意第二個參數過濾函數)然後使用inspect.getargspec()得到函數的參數列表,參數類型,python是動態類型語言,這個重要嗎