日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python参数_python参数的介绍

發布時間:2023/12/3 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python参数_python参数的介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、函數

1.為什么要使用函數?

減少代碼的冗余

2.函數先定義后使用(相當于變量一樣先定義后使用)

3.函數的分類:

內置函數:python解釋器自帶的,直接拿來用就行了

自定義函數:根據自己的需求自己定義的函數

def func(): #函數名打印出來的是內存地址

'''注釋'''

函數體

4.函數定義都干了些什么事?

只檢測語法,不執行代碼

5.函數就是一段功能,盡量把函數名定義的有意義

6.定義函數的三種方式:

有參數的函數:就是接受外部傳進來的值,進行一系列的運算,最后吧結果返回出來

無參數的函數:通常只是做一下操作而已

空函數:什么事情都不做就是一個空函數(即便是一個空函數,他也會有如下屬性)

7.函數的返回值:可返回任意類型的值

什么時候需要有返回值:具體情況具體分析

什么時候沒有返回值:具體情況具體分析

8.yield和return的區別

yield 停在那呢,掛起了

yield 能返回多次值;return 返回一次值

yield 保存函數狀態

9.函數的調用:函數名加()

10.函數參數

形參:定義函數時括號內寫的參數

形參在定義階段是不占內存空間的,在調用的時候才占用內存空間

實參:在調用函數時括號內傳進來的值

函數參數的具體用法

1.位置參數:

1.按照位置傳參

按位置定義的形參必須要傳值

按位置定義的實參按照位置與形參一一對應的傳

2.按照關鍵字傳數:按照key=value的形式定義的實參,傳的時候與位置沒有關系

def foo(x,y):

pass

foo(1,2) #與形參一一對應

foo(y=2,x=1) #關鍵字參數,指名道姓的傳

foo(1,y=2) #混用位置實參和關鍵字實參

#混著用時:注意:1.不能給同一個形參重復賦值

2.位置實參必須在關鍵字實參的前面

2.默認參數:在定義階段就已經為形參賦值了,意味著在調用階段就可以不為默認參數傳值

如果給默認參數傳值了,就把一開始設置的給替換了。

默認參數定義的場景:大多數都是男性,女性很少時就可以設置個默認,當然還有其他場景

注意:1.默認參數必須在位置形參后面

2.默認參數的值只在函數定義階段生效一次,定義之后的修改不會影響它的值

3.默認參數不要弄成可變類型的,就像是列表,就是一個坑

3.動態參數

可變長度的參數(長度指的是參數的個數):參數*,**

1.*會把多出來的值傳給z,并且以元組的形式返回

2.**會把多出來的值傳給z,并且以字典的形式返回

3.在實參中只要碰到*(),就是打散了

只要是可迭代的就可以用*

*就相當于for循環的操作,遇到*先打散

*args,**kwargs(可傳任意值)

可變長度的參數:從實參的角度推算出形參對應的形式*和**

針對按照位置定義的實參多出來的那部分,會被形參中的*處理,并且保存成元組的形式復制給args

針對按照關鍵字定義的實參多出來的那部分,會被形參中的**處理,并且保存成字典的形式復制給kwargs

1 # 1.舉例一、

2 def foo(x,y,*args):

3 print(x,y)

4 print(args)#args相當于(3, 4, 5, 6, 7, 8, 9),那么*args相當于*(3, 4, 5, 6, 7, 8, 9)

5 print(args[0])

6 print(*args) # 加個*就是把上面的元組給打散了,就還是和原來傳實參的時候的形式一樣了

7

8 foo(1,2,3,4,5,6,7,8,9)

9 foo(1,2,3,*(4,5,6,7,8,9)) #也可以這樣傳 就相當于foo(1,2,3,4,5,6,7,8,9)

10

11 # 2.舉例二、

12 def bar(x,y,z):

13 print(x,y,z)

14 bar(1,2,3)

15 bar(*['b','a','c']) #bar('b','a','c')

16 bar(*'hel') #bar('h','e','l')

17 bar(*{'a':1,'b':2,'c':3}) #bar('b','a','c')

18 # 強調:如果實參中出現了*和**,第一時間打散了去看

19

20 # 3.舉例三、

21 def foo(x,y,**kwargs):

22 print(x,y)

23 print(kwargs) #{'c': 3, 'd': 4, 'f': 6} 吧多余的元素以字典的形式返回了

24 print(*kwargs) #輸出c d f ,就是把字典打散了

25 #

26 # foo(1,y=2,c=3,d=4,f=6)

27

28 # 4.舉例四、

29 def index(x,y,z=1):

30 print(x,y,z)

31 def wrapper(*args,**kwargs):

32 index(args,kwargs)

33 index(*args, **kwargs) #就是打散了

34 wrapper(1,2,3)

35 wrapper(1,2)

36 wrapper(x=1,y=2)

37 wrapper(1,y=2)

38 '''可變長度的參數:從實參的角度推算出形參對應的形式 * 和 **

39 針對按照位置定義的實參冗余的部分,會被形參中的 * 保存成元組的形式賦值給args

40 針對按照關鍵定義的實參冗余的部分,會被形參中的 ** 保存成字典的形式賦值給kwargs

41 強調:

42 如果實參中出現了 * 和 **,第一時間打散了去看。

43 '''

強調:

如果實參中出現了*和**,第一時間打散了去看

11.命名關鍵字參數(了解):在定義階段,在*之后定義的形參稱為命名關鍵字參數

特點是:在調用階段,該參數必須以關鍵字的形式被傳值

def foo(x,y,*,a,b):

print(x)

print(y)

print(a)

print(b)

foo(1,2,b=20,a=10)

控制函數調用的時候必須以關鍵字傳參的時候就用命名關鍵字傳參

總結

以上是生活随笔為你收集整理的python参数_python参数的介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。