溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python3中函數(shù)參數(shù)的四種簡單用法

發(fā)布時間:2020-08-19 22:31:43 來源:腳本之家 閱讀:123 作者:范恒 欄目:開發(fā)技術(shù)

下面給大家介紹python3中函數(shù)參數(shù)的四種簡單用法,具體內(nèi)容如下所示:

def print_two(*args):
  arg1, arg2 = args
  print "arg1: %r, arg2: %r" % (arg1,arg2)
def print_two_again(arg1, arg2):
  print "arg1: %r, arg2: %r" % (arg1, arg2)
def print_one(arg1):
  print "arg1: %r" % arg1
def print_none():
  print "I got nothin"
print_two("Zed","Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()

默認參數(shù)

看下面代碼

def stu_register(name,age,country,course):
  print("----注冊學生信息------")
  print("姓名:",name)
  print("age:",age)
  print("國籍:",country)
  print("課程:",course)
stu_register("王山炮",22,"CN","python_devops")
stu_register("張叫春",21,"CN","linux")
stu_register("劉老根",25,"CN","linux")

發(fā)現(xiàn) country 這個參數(shù) 基本都 是"CN", 就像我們在網(wǎng)站上注冊用戶,像國籍這種信息,你不填寫,默認就會是 中國, 這就是通過默認參數(shù)實現(xiàn)的,把country變成默認參數(shù)非常簡單

def stu_register(name,age,course,country="CN"):

這樣,這個參數(shù)在調(diào)用時不指定,那默認就是CN,指定了的話,就用你指定的值。

另外,你可能注意到了,在把country變成默認參數(shù)后,我同時把它的位置移到了最后面,為什么呢?  

關(guān)鍵參數(shù)

正常情況下,給函數(shù)傳參數(shù)要按順序,不想按順序就可以用關(guān)鍵參數(shù),只需指定參數(shù)名即可,但記住一個要求就是,關(guān)鍵參數(shù)必須放在位置參數(shù)之后。

stu_register(age=22,name='alex',course="python",)  

非固定參數(shù)

若你的函數(shù)在定義時不確定用戶想傳入多少個參數(shù),就可以使用非固定參數(shù)

def stu_register(name,age,*args): # *args 會把多傳入的參數(shù)變成一個元組形式
  print(name,age,args)
stu_register("Alex",22)
#輸出
#Alex 22 () #后面這個()就是args,只是因為沒傳值,所以為空
stu_register("Jack",32,"CN","Python")
#輸出
# Jack 32 ('CN', 'Python')

還可以有一個**kwargs

def stu_register(name,age,*args,**kwargs): # *kwargs 會把多傳入的參數(shù)變成一個dict形式
  print(name,age,args,kwargs)
stu_register("Alex",22)
#輸出
#Alex 22 () {}#后面這個{}就是kwargs,只是因為沒傳值,所以為空
stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
#輸出
# Jack 32 ('CN', 'Python') {'province': 'ShanDong', 'sex': 'Male'}

局部變量  

name = "Alex Li"
def change_name(name):
  print("before change:",name)
  name = "金角大王,一個有Tesla的男人"
  print("after change", name)
change_name(name)
print("在外面看看name改了么?",name)

輸出

before change: Alex Li
after change 金角大王,一個有Tesla的男人

在外面看看name改了么? Alex Li

全局與局部變量

在子程序中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。
全局變量作用域是整個程序,局部變量作用域是定義該變量的子程序。
當全局變量與局部變量同名時:
在定義局部變量的子程序內(nèi),局部變量起作用;在其它地方全局變量起作用。

總結(jié)

以上所述是小編給大家介紹的python3中函數(shù)參數(shù)的四種簡單用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI