最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python的函數(shù)形參和返回值你了解嗎

 更新時間:2022年03月16日 09:14:41   作者:https://blog.csdn.net/ljsykf/article/details/123463892  
這篇文章主要為大家詳細(xì)介紹了python的函數(shù)形參和返回值,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

函數(shù)的返回值

一個函數(shù)執(zhí)行后可以返回多個返回值

def measure():
    print('測量開始。。。。')
    temp=39
    wetness=50
    print("測量結(jié)束")
    #元組--可以包含多個數(shù)據(jù),因此可以使用元組一次返回多個值
    return (temp,wetness)
result=measure()
print(result)

運行結(jié)果:

測量開始。。。。
測量結(jié)束
(39, 50)

def measure():
    print('測量開始。。。。')
    temp=39
    wetness=50
    print("測量結(jié)束")
    #元組--可以包含多個數(shù)據(jù),因此可以使用元組一次返回多個值
    return (temp,wetness)
#如果函數(shù)返回的類型是元組,同時希望單獨的處理元組中的元素
#可以使用多個變量,一次接收函數(shù)的返回結(jié)果
#使用多個變量接收結(jié)果時,變量的個數(shù)應(yīng)該和元組的元素個數(shù)一致
gl_temp,gl_wetness=measure()
print(gl_temp)
print(gl_wetness)

運行結(jié)果:

測量開始。。。。
測量結(jié)束
(39, 50)

交換兩個變量的值

a=6
b=100
#使用其他變量
c=a
a=b
b=c
#不使用其他變量
a=a+b
b=a-b
a=a-b
#python專有
a,b=b,a
print("a的值為 %d"%a)
print("b的值為 %d"%b)

函數(shù)的參數(shù)

不可變參數(shù)和可變參數(shù)

在函數(shù)內(nèi)部,針對參數(shù)使用賦值語句,不會改變調(diào)用函數(shù)時傳遞的實參的值
無論傳遞的參數(shù)是可變還是不可變,只要針對參數(shù)使用賦值語句,會在函數(shù)內(nèi)部修改局部變量的引用,不會影響到外部變量的引用

def demo(num,num_list):
    print("函數(shù)內(nèi)部")
    #在函數(shù)內(nèi)部,針對參數(shù)使用賦值語句,形參的引用發(fā)生了變化,但是實參的引用沒變
    num=200
    num_list=[1,2,3]
    print(num)
    print(num_list)
    print("函數(shù)內(nèi)部代碼完成")
gl_num=99
gl_list=[2,3,4]
demo(gl_num,gl_list)
print(gl_num)
print(gl_list)

運行結(jié)果:

函數(shù)內(nèi)部
200
[1, 2, 3]
函數(shù)內(nèi)部代碼完成
99
[2, 3, 4]

如果傳遞的參數(shù)是可變類型,在函數(shù)內(nèi)部,使用方法修改了數(shù)據(jù)的內(nèi)容,同樣會影響到外部的數(shù)據(jù)

def demo(num_list):
    print("函數(shù)內(nèi)部")
    num_list.append([1,2,3])
    print(num_list)
    print("函數(shù)內(nèi)部代碼完成")

gl_list=[2,3,4]
demo(gl_list)
print(gl_list)

運行結(jié)果:

函數(shù)內(nèi)部
[2, 3, 4, [1, 2, 3]]
函數(shù)內(nèi)部代碼完成
[2, 3, 4, [1, 2, 3]]

+=

在python中,列表變量調(diào)用+=本質(zhì)上在執(zhí)行列表變量的extend方法,不會修改變量的引用

def demo(num,num_lst):
    print("函數(shù)開始")
    num+=num
    num_lst+=num_lst
    print(num)
    print(num_lst)
    print("函數(shù)結(jié)束")
gl_num=9
gl_list=[1,2,3]
demo(gl_num,gl_list)
print(gl_num)
print(gl_list)

運行結(jié)果:

函數(shù)開始
18
[1, 2, 3, 1, 2, 3]
函數(shù)結(jié)束
9
[1, 2, 3, 1, 2, 3]

函數(shù)的參數(shù)

缺省參數(shù)

定義函數(shù)時,可以給某個參數(shù)指定一個默認(rèn)值,具有默認(rèn)值的參數(shù)就叫做缺省參數(shù)

調(diào)用函數(shù)時,如果沒有傳入缺省參數(shù)的值,則在函數(shù)內(nèi)部使用定義函數(shù)時指定的參數(shù)默認(rèn)值

(1)指定函數(shù)的缺省參數(shù)

在參數(shù)后使用賦值語句,可以指定參數(shù)的缺省值

def print_info(name,gender=True):
    gender_text="男生"
    if not gender:
        gender_text="女生"
    print("%s 是 %s"%(name,gender_text))

(2) 提示

缺省參數(shù),需要使用最常見的值作為默認(rèn)值

如果一個參數(shù)的值不能確定,則不應(yīng)該設(shè)置默認(rèn)值,具體的數(shù)據(jù)在調(diào)用函數(shù)時,由外界傳遞

(3) 缺省參數(shù)的注意事項

1.缺省參數(shù)的定義位置

必須保證帶有默認(rèn)值的缺省參數(shù)在參數(shù)列表的末尾

2.調(diào)用多個缺省參數(shù)的函數(shù)

在調(diào)用函數(shù)時,如果有多個缺省參數(shù),需要指定參數(shù)名,這樣解釋器才能夠知道參數(shù)的對應(yīng)關(guān)系

多值參數(shù)

有時候可能需要一個函數(shù)能夠處理的參數(shù)個數(shù)是不確定的,這個時候,就可以使用多值參數(shù)

  • python中有兩種多值參數(shù):

參數(shù)名前增加一個* ,可以接收元組

參數(shù)名前增加兩個*,可以接受字典

  • 一般在給多值參數(shù)命名時,習(xí)慣使用以下兩個名字:

*args----存放元組參數(shù)

**kwargs—存放字典參數(shù)

def demo(*args,**kwargs):
    print(args)
    print(kwargs)
demo(1,2,3,4,name="test1",age=14)

運行結(jié)果:

(1, 2, 3, 4)
{'name': 'test1', 'age': 14}

可以看到1,2,3,4被組成了一個元組
name=“test1”,age=14,被組成了一個字典

#計算任意個數(shù)之和
def sum_args(*args):
    sum=0
    for n in args:
        sum+=n
    return sum
result=sum_args(1,2,3,4,6)
print(result)

元組和字典的拆包

在調(diào)用帶有多值參數(shù)的函數(shù)時,如果希望:

將一個元組變量,直接傳遞給args

將一個字典變量,直接傳遞給kwargs

就可以使用拆包,簡化參數(shù)的傳遞,拆包的方式是:

在元組變量前,增加一個*

在字典變量前,增加兩個**

#如果不拆包,將gl_args,gl_kwargs組成一個元組
def demo(*args,**kwargs):
    print(args)
    print(kwargs)

gl_args=(1,2,3,4)
gl_kwargs={"name":"test1","age":12}
demo(gl_args,gl_kwargs)

運行結(jié)果:

((1, 2, 3, 4), {'name': 'test1', 'age': 12})
{}

如果不拆包,將gl_args,gl_kwargs組成一個元組,正確的傳遞方式應(yīng)該是:demo(1,2,3,4,name=“test”,“age”=12)

但是實參是元組和字典,需要將元素一個一個拆開,所以需要使用拆包

正確的使用方式:

def demo(*args,**kwargs):
    print(args)
    print(kwargs)
gl_args=(1,2,3,4)
gl_kwargs={"name":"test1","age":12}
demo(*gl_args,**gl_kwargs)

運行結(jié)果:

(1, 2, 3, 4)
{'name': 'test1', 'age': 12}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!  

相關(guān)文章

  • Python字典的核心底層原理講解

    Python字典的核心底層原理講解

    今天小編就為大家分享一篇關(guān)于Python字典的核心底層原理講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python函數(shù)的兩種嵌套方法使用

    python函數(shù)的兩種嵌套方法使用

    本文主要介紹了python函數(shù)的兩種嵌套方法使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • python 用下標(biāo)截取字符串的實例

    python 用下標(biāo)截取字符串的實例

    今天小編就為大家分享一篇python 用下標(biāo)截取字符串的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解Django中views數(shù)據(jù)查詢使用locals()函數(shù)進(jìn)行優(yōu)化

    詳解Django中views數(shù)據(jù)查詢使用locals()函數(shù)進(jìn)行優(yōu)化

    這篇文章主要介紹了Django中views數(shù)據(jù)查詢使用locals()函數(shù)進(jìn)行優(yōu)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python批量下載網(wǎng)站馬拉松照片的完整步驟

    python批量下載網(wǎng)站馬拉松照片的完整步驟

    這篇文章主要給大家介紹了關(guān)于利用python批量下載網(wǎng)站馬拉松照片的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • python通過文本在一個圖中畫多條線的實例

    python通過文本在一個圖中畫多條線的實例

    今天小編就為大家分享一篇python通過文本在一個圖中畫多條線的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python隨機(jī)數(shù)分布random測試

    python隨機(jī)數(shù)分布random測試

    這篇文章主要為大家詳細(xì)介紹了python隨機(jī)數(shù)分布random的測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Django rstful登陸認(rèn)證并檢查session是否過期代碼實例

    Django rstful登陸認(rèn)證并檢查session是否過期代碼實例

    這篇文章主要介紹了Django rstful登陸認(rèn)證并檢查session是否過期代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python代碼縮進(jìn)和測試模塊示例詳解

    Python代碼縮進(jìn)和測試模塊示例詳解

    這篇文章主要給大家介紹了關(guān)于Python代碼縮進(jìn)和測試模塊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • 解讀什么是npy文件,為什么要用npy格式保存文件

    解讀什么是npy文件,為什么要用npy格式保存文件

    這篇文章主要介紹了什么是npy文件,為什么要用npy格式保存文件這個問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

香港| 吉木乃县| 乐都县| 奈曼旗| 漠河县| 渭南市| 广德县| 商丘市| 民和| 临汾市| 太康县| 河北区| 常熟市| 天全县| 射洪县| 石渠县| 鸡泽县| 巴林左旗| 夏邑县| 三亚市| 勐海县| 绵阳市| 金沙县| 临汾市| 中卫市| 江津市| 津市市| 新邵县| 巴彦县| 固阳县| 江达县| 惠来县| 都昌县| 沁水县| 蒙自县| 东山县| 叶城县| 罗定市| 饶河县| 台北市| 金堂县|