python設置默認參數
❶ python 怎麼設置dictionary變數的默認值
在調用函數的時候重寫了默認值,那麼這個存儲的值就不會被使用。當你不重寫默認值的時候,那麼Python就會讓默認值引用存儲的值(這個例子里的numbers)。
它並不是將存儲的值拷貝來為這個變數賦值。
❷ python 初始化參數怎麼設置
classA(object):
def__init__(arg):
self.arg=arg
在__init__中定義
❸ python中定義函數時如何書寫可變參數和默認參數
參數名前面加*是可變位置參數,
加**是可變關鍵字參數;
參數名=默認值可以用來為參數指定默認值。
下面是一個例子:
#/使前面的參數成為僅僅是位置參數
def f(a=1,b=2,/,c=3,*args,**kwargs):print(a,b,c,*args,kwargs)
def f2(a=1,b=2,c=3,*args,**kwargs):print(a,b,c,*args,kwargs)
#*使後面的參數成為僅僅是關鍵字參數
def f3(a=1,b=2,*,c=3,d=4):print(a,b,c,d)
#/使前面的參數成為僅僅是位置參數
def f4(a=1,b=2,/,c=3,d=4):print(a,b,c,d)
f()
f(11,22)
#f(a=11,b=22)
f(c=666)
f(1,2,3,4,5,x=5,y=6)
f2()
f2(a=11,b=22)
f2(c=888)
f2("a","b","c",1,2,p="ok")
f3(1001,2222)
f3(a=1001)
f3(111,c=333,d=444)
f3(6,6,c=6,d=6)
#f3(6,6,6,6)
f4(1001,2222)
#f4(1001,b=2222)
f4(1001)
#f4(a=1001)
f4(111,c=333,d=444)
f4(1,2,3,4)
運行結果截圖如下:
❹ python中默認參數與可變參數是什麼意思
默認參數就是調用該函數時,不指定該參數的情況的默認值。比如對數據進行分析的函數,如果大部分情況不需要保存結果,但是有時候又需要保存,就可以增加一個參數來指定是否保存,默認不保存,調用時可以不管該參數。
❺ python input輸入框如何設置默認值
這個很簡單,在input後面加 「or 默認值」就行了,原理是這樣的:如果未輸入任何內容,則input將返回空字元串. python中的空字元串是False bool(「」) – >假。
按你的例子:
a=input("2+2=?") or "4"
print a
❻ Python函數里的默認參數和關鍵字參數有什麼區別
#有默認參數
#定義默認參數 age = 1, gender = 'M'
def person( name, age = 1, gender='M'):
print 'name: %s age: %d gender: %s' % (name, age, gender)
#這里只傳一個值給第一個參數which is name, age 和 gender已經有默認值,
#就算不傳新值給 age or gender也沒問題
person('Jacky')
#output --> name: Jacky age: 1 gender: M
#沒有默認參數
def person(name, age, gender):
print 'name: %s age: %d gender: %s' % (name, age, gender)
# person('Jacky') <-- error, 3個參數只傳了一個值
#沒有默認參數,就一定要傳 N(total 參數) 個值給 function.
person('Jacky', 19, 'M')
******************************************************
#關鍵字參數
#用上面第一個例子 person( name, age=1, gender='M')
#用關鍵字給function傳值時,不雖要跟著順序來也沒問題
#就算 age 和 name 順序不同, 但因為是用關鍵字來傳值,所以沒問題
person( age=18, name='Jacky')
#output --> name: Jacky age: 18 gender: 'M'
person( gender='F', age=17, name='Ashley')
#output --> name: Ashley age: 17 gender: 'F'
# Error, 沒用關鍵字去傳值
# person( 20, 'M', 'Jacky') <-- 沒用關鍵字時,一定要按順序去傳值
i tried to explain as clear as i can....xP
❼ 關於python函數的默認參數,是只被設置一次,還是每次調用都被設置
如果是可變對象,只被設置一次
如果是不可變對象,每次都分配一個新的對象
❽ PYthon關於使用函數默認參數的問題
賦值函數分開來改成這樣子
❾ Python中定義函數默認參數值的使用注意事項
4.7.1. 默認參數值
最常用的一種形式是為一個或多個參數指定默認值。這會創建一個可以使用比定義是允許的參數更少的參數調用的函數,例如:
def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
while True:
ok = input(prompt)
if ok in ('y', 'ye', 'yes'):
return True
if ok in ('n', 'no', 'nop', 'nope'):
return False
retries = retries - 1
if retries < 0:
raise OSError('uncooperative user')
print(complaint)
這個函數可以通過幾種不同的方式調用:
只給出必要的參數:
ask_ok('Do you really want to quit?')
給出一個可選的參數:
ask_ok('OK to overwrite the file?', 2)
或者給出所有的參數:
ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')
這個例子還介紹了 in 關鍵字。它測定序列中是否包含某個確定的值。
默認值在函數 定義 作用域被解析,如下所示:
i = 5
def f(arg=i):
print(arg)
i = 6
f()
將會輸出 5。
重要警告: 默認值只被賦值一次。這使得當默認值是可變對象時會有所不同,比如列表、字典或者大多數類的實例。例如,下面的函數在後續調用過程中會累積(前面)傳給它的參數:
def f(a, L=[]):
L.append(a)
return L
print(f(1))
print(f(2))
print(f(3))
這將輸出:
[1]
[1, 2]
[1, 2, 3]
如果你不想讓默認值在後續調用中累積,你可以像下面一樣定義函數:
def f(a, L=None):
if L is None:
L = []
L.append(a)
return L
❿ python默認參數
這樣寫的:
defgreet(msg='hello'):
printmsg