小編寫這篇文章的主要目的,主要是給大家介紹一下關于Python函數的相關實例,主要想給大家解答,其主要的函數參數類型有什么,下面就給大家詳細的進行解答下。
1、Python的函數參數的類型
必傳參數:調用函數時必須傳入的參數,函數定義時只定義參數名
關鍵字參數:傳入時以函數的參數名值對的方式傳入
默認參數:函數定義時為參數默認設置一個值,調用時不傳輸參數即以默認值處理
不定長參數:以*修飾或者**修飾的參數;*修飾的參數是一個元組(tuple),**修飾的參數必須是字典(dict),通常寫作*args或者**args
2、Python的必傳參數
傳入的參數個數必須與形參的數量一致
#coding:utf-8 #Author:YangXiaoPeng def demo01(a,b): print(a,type(a)) print(b,type(b)) #demo01(1)#TypeError missing 1 required positional argument:'b'缺少一個未知的參數,demo01必須傳2個參數 #demo01(1,2,3)#TypeError demo01()takes 2 positional arguments but 3 were given,demo01函數有2個位置參數,但是接收到了3個; #必傳參數:調用函數時必須傳入的參數,函數定義時只定義參數名 #傳入的參數個數必須與形參的數量一致 demo01(1,2)#yes demo01(1,[1,2])#yes demo01([2,3],(1,2))#yes demo01(1,{2,3,4})#yes demo01(2,{"code":'1001',"name":"zhang","age":18})#yes
3、關鍵字參數
以參數名和參數值的關聯在一起的方式進行傳參,鍵值對的模式,參數名為鍵。
#coding:utf-8 #Author:YangXiaoPeng def demo01(a,b): print(a,type(a),end="__") print(b,type(b)) #第一個關鍵字出入的參數位置之前的參數比遜選擇關鍵字傳參;如下面的示例中,第一個關鍵字傳參的變量是a,a在函數定義的第二個位置,那么第二個位置之前的參數都必須以關鍵字傳參的形式傳參。 #demo01(1,a=2)#demo01()got multiple values for argument'a' demo01(a=1,b=2)#yes demo01(1,b=2)#yes demo01(b=1,a=2)#yes demo01(b=1,a=[1,2])#yes demo01(b=[2,3],a=(1,2))#yes demo01(b=1,a={2,3,4})#yes demo01(b=2,a={"code":'1001',"name":"zhang","age":18})#yes
4、默認參數
調用函數時不傳入參數an默認值處理,傳入時按傳入的參數值處理
#coding:utf-8 #Author:YangXiaoPeng ##默認參數 def demo02(City="LongNan"): print("City是默認參數,默認值是:中國,當前值是:",City) #不傳入參數 demo02() #傳入參數 demo02("Beijing")
5、不定長參數
傳入的參數會生成一個元組類型的變量供函數內部使用
#coding:utf-8 #Author:YangXiaoPeng ##不定長參數 def demo03(*args): print(args,type(args)) #傳入的參數會生成一個元組類型的變量供函數內部使用 demo03(1) demo03("code") demo03(1,"code")
傳入的參數不能少于必傳參數的個數
*args后面的形參,必須以關鍵字參數進行傳參
#coding:utf-8 #Author:YangXiaoPeng #*args后面的形參,必須以關鍵字參數進行傳參, def demo04(a,b,*args,c): print("a傳入的參數值是:{},b傳入的參數值是:{},args傳入的參數是:{},c出入的參數是:{}".format(a,b,args,c)) #傳入的參數不能少于必傳參數的個數,a,b,c三個為必傳參數 #demo04(1,2)#TypeError #demo04(1,2,3)#TypeError demo04(1,2,c=3)
*args之前的參數只能按位置傳參,不可以關鍵字傳參
傳入的參數個數比必傳參數多時,首先給必傳參數按位置賦值,然后將剩余的參數生成一個元組傳遞給args
**修飾的參數必須以關鍵字的參數方式傳參,Python解釋器會將傳入的關鍵字和關鍵字的值生成一個字典供函數內部使用
#coding:utf-8 #Author:YangXiaoPeng def demo05(**kwargs): print("kwargs傳入的參數是:{}".format(kwargs),type(kwargs)) kwargs={"code":'1002',"name":"zhang"} #demo05(kwargs)#TypeError #**修飾的參數必須以關鍵字的參數方式傳參,Python解釋器會將傳入的關鍵字和關鍵字的值生成一個字典供函數內部使用 demo05(**kwargs)#kwargs傳入的參數是:{'code':'1002','name':'zhang'}<class'dict'> demo05(code='1002',name="zhang")#kwargs傳入的參數是:{'code':'1002','name':'zhang'}<class'dict'>
**修飾的參數必須是最后一個
#coding:utf-8 #Author:YangXiaoPeng #**修飾的參數必須是最后一個 """ #SyntaxError:invalid syntax def demo06(a,b,*args,c,**kwargs,d): pass """ def demo06(a,b,*args,c,**kwargs): print("a傳入的參數值是:{},b傳入的參數值是:{},args傳入的參數是:{}".format(a,b,args),end='') print(",c傳入的參數是:{},kwargs傳入的參數是:{}".format(c,kwargs)) demo06(1,2,3,4,5,c=3,code='1002',name="zhang",d=3)
綜上所述,關于Python中函數參數類型的解答,就為大家介紹到這里了,希望可以給各位讀者帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/127804.html
摘要:輸出數據的第維將根據指定。輸入數據必須是一個二維的矩陣,經過轉置或者不轉置,內部維度必須相匹配。默認情況下,該標記都是被設置為。解釋這個函數的作用是將兩個 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/ce4... 計劃現將 tensorflow 中的 Python API 做一個學習,...
摘要:解釋這個函數的作用是對的維度進行重新組合。其中,表示要解壓出來的的個數。如果,無法得到,那么系統將拋出異常。異常如果沒有被正確指定,那么將拋出異常。向量中的值必須滿足,并且其長度必須是。對于每個切片的輸出,我們將第維度的前的數據進行翻轉。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/00...
摘要:隨機數張量提供了一些函數,去幫助我們構建隨機數張量。該值表示正態分布的均值。一個維的,或者一個數據類型是的值,該值表示正態分布的標準偏差。解釋這個函數返回一個隨機數序列,數組里面的值按照均勻分布,數據范圍是。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/d05... 計劃現將 tens...
摘要:友情鏈接譯技能測試解決方案中的數據科學一譯技能測試解決方案中的數據科學二譯技能測試解決方案中的數據科學三 本文是譯文,可以轉載,但需注明出處,點擊這里可以獲取原文,有刪減。本系列博文包含四篇文章:【譯】技能測試解決方案:Python中的數據科學(一)——Q1-Q15【譯】技能測試解決方案:Python中的數據科學(二)——Q16-Q30【譯】技能測試解決方案:Python中的數據科學(...
摘要:數據維度是一維,表示輸出密集張量的維度。解釋這個函數的作用是將稀疏張量的坐標轉換成密集張量中的布爾坐標。一個布爾類型的向量,向量長度是,并且其中包含個值。一個布爾類型的向量,數據長度是,如果該行填充了,那么該位置的布爾值為。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/c23... 計...
閱讀 919·2023-01-14 11:38
閱讀 891·2023-01-14 11:04
閱讀 750·2023-01-14 10:48
閱讀 2039·2023-01-14 10:34
閱讀 956·2023-01-14 10:24
閱讀 835·2023-01-14 10:18
閱讀 506·2023-01-14 10:09
閱讀 583·2023-01-14 10:02