溫馨提示×

溫馨提示×

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

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

python的函數(shù)參數(shù)怎么使用

發(fā)布時間:2021-12-17 11:30:16 來源:億速云 閱讀:137 作者:iii 欄目:開發(fā)技術

本篇內容主要講解“python的函數(shù)參數(shù)怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python的函數(shù)參數(shù)怎么使用”吧!

位置參數(shù)

這是一個求等差數(shù)列和的函數(shù),使用必需要傳入一個參數(shù)n,這就是位置參數(shù)

def sum(n):
    sum=0
    i=1
    while i<=n:
        sum+=i
        i+=1
    return sum
result=sum(100)
print(result)

python的函數(shù)參數(shù)怎么使用

默認參數(shù)

默認參數(shù)就是,我在函數(shù)中已經將一個參數(shù)提前設置好了值,如果你沒有傳入這個參數(shù)的值,就會用我事先設置好的值,如果你傳入了就用你的

我這里定義了一個求x的y次方的方法

def power(x,y=2):
    return x**y
print(power((2)))
print(power(2,3))

python的函數(shù)參數(shù)怎么使用

關鍵字參數(shù)

def printmessage(name,age,*args,gender):
    print(name,age,args,gender)
    print(type(args))
printmessage("趙四",40,12345456,"男")

首先來看一下這個問題,我把一個多值參數(shù)寫在了一個位置參數(shù)的前面這會發(fā)生什么事情?

python的函數(shù)參數(shù)怎么使用

報錯信息:找不到”gender“這個字段對應的值

printmessage("趙四",40,12,34,54,56,"男")

*args是一個多值參數(shù),他把后面所有的值都給收納了,所以我們傳入值得時候,需要把對應參數(shù)名也寫上,這樣才能識別這是單獨一個參數(shù)的值

def printmessage(name,age,*args,gender):
    print(name,age,args,gender)
    print(type(args))
printmessage("趙四",40,12,34,54,56,gender="男")

python的函數(shù)參數(shù)怎么使用

這個關鍵字參數(shù)還有什么用處呢,只要指定了參數(shù)名,我們可以不按函數(shù)里面設置的參數(shù)順序傳入值,但是一旦這樣打亂順序,多值參數(shù)就無法識別出哪里是他可以接收值的地方,所以我就傳入了其他3個參數(shù)

def printmessage(name,age,*args,gender):
    print(name,age,args,gender)
    print(type(args))
printmessage(age=45, gender='男', name='劉能')

python的函數(shù)參數(shù)怎么使用

可能有人不相信上面的結論

我隨便放哪個位置都是不能識別的

python的函數(shù)參數(shù)怎么使用

最后一個情況沒有報錯,但是這個語法是錯誤的,他會認定你傳入的1就是name,但是后面再次出現(xiàn)了name,并且缺少值得問題還是沒解決

python的函數(shù)參數(shù)怎么使用

那我們試試用args接收一個元組試試?

printmessage(age=45, gender='男', name='劉能',args=(1,2,3,4))

很遺憾,根本無法識別這個關鍵字

python的函數(shù)參數(shù)怎么使用

所以打亂順序傳值的時候千萬別有多值參數(shù)

多值參數(shù):

可變參數(shù)分為2種

接收元組參數(shù):*args 一個*的是接收多個數(shù)據(jù)放入元組

接受字典參數(shù):**args 兩個*的接受的是k=v類型的數(shù)據(jù),將他們放入一個字典

元組:

def sumN(*args):
    # args是參數(shù)名
    # 要操作傳入的參數(shù) 可以對args(相當于有參數(shù)構成的tuple)進行遍歷
    print(args, type(args))
    sum = 0
    for i in args:
        sum += i
    print(sum)
sumN(1,2,3,5)

python的函數(shù)參數(shù)怎么使用

元組注意的事項就是,如果有參數(shù)在接受元組參數(shù)的后面,要用關鍵字參數(shù)傳值

字典:

def printmessage(name,age,gender,**kw):
    print(name,age,gender,kw)
    print(type(kw))
printmessage("趙四",40,"男",address="象牙山",phonenumber="888888")

python的函數(shù)參數(shù)怎么使用

傳入字典的多值參數(shù)后面是不能跟參數(shù)的,他只能放在函數(shù)參數(shù)的最后一個位置

python的函數(shù)參數(shù)怎么使用

還有,想用關鍵值傳遞的,傳入的時候別亂調位置,要是到了**args的范圍,就少了一個參數(shù)

到此,相信大家對“python的函數(shù)參數(shù)怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

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

AI