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

Python學(xué)習(xí)筆記之函數(shù)的參數(shù)和返回值的使用

 更新時間:2019年11月20日 11:48:14   作者:KaiSarH  
這篇文章主要介紹了Python學(xué)習(xí)筆記之函數(shù)的參數(shù)和返回值的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

01、函數(shù)參數(shù)和返回值的作用

函數(shù)根據(jù) 有沒有參數(shù) 以及 有沒有返回值,可以相互結(jié)合,共有四種:

  • 無參數(shù) 無返回值
  • 無參數(shù) 有返回值
  • 有參數(shù) 無返回值
  • 有參數(shù) 有返回值

在這里插入圖片描述

定義函數(shù)時候,是否接收參數(shù),或者時候返回結(jié)果,是根據(jù)實際功能需求決定的。

如果函數(shù)內(nèi)部處理的數(shù)據(jù)不確定,就可以將外界的數(shù)據(jù)以參數(shù)形式傳遞到函數(shù)內(nèi)部。

如果希望一個函數(shù)執(zhí)行完成后,向外界匯報執(zhí)行結(jié)果,就可以增加函數(shù)的返回值。

02、函數(shù)的返回值—進階

  • 在程序開發(fā)中,有時候,會希望一個函數(shù)執(zhí)行結(jié)束后,告訴調(diào)用者一個結(jié)果,以便調(diào)用者針對具體的結(jié)果做后續(xù)的操作
  • 返回值是函數(shù)完成工作后,最后給調(diào)用者的一個結(jié)果
  • 在函數(shù)中使用return關(guān)鍵字可以返回結(jié)果
  • 調(diào)用函數(shù)的一方,可以使用變量來接收函數(shù)的返回結(jié)果

問題:一個函數(shù)執(zhí)行后能否返回多個結(jié)果???

示例:溫度和濕度的測量

假設(shè)開發(fā)一個函數(shù),同時返回當前溫度和濕度先

返回溫度

def measure():
  temp = 39
  return temp


result = measure()
print(result)

運行結(jié)果:

在這里插入圖片描述

利用元組在返回溫度的同時,返回濕度

改造如下:

def measure():
  temp = 39
  wetness = 50
  # 如果函數(shù)返回的類型是元組,小括號可以省略
  return temp, wetness


result = measure()
print(type(result))
print(result)
print(result[0])
print(result[1])

運行結(jié)果:

在這里插入圖片描述

注意:

如果函數(shù)的返回值類型是元組,可以一次使用多個變量接收元組中的元素
使用多個變量接收結(jié)果時,變量的個數(shù)應(yīng)該和元組中元素的個數(shù)保持一致。

def measure():
  temp = 39
  wetness = 50
  # 如果函數(shù)返回的類型是元組,小括號可以省略
  return temp, wetness


gl_temp, gl_wetness = measure()
print(gl_temp)
print(gl_wetness)

執(zhí)行結(jié)果:

在這里插入圖片描述

03、函數(shù)的參數(shù)—進階

3.1 關(guān)于函數(shù)的兩個問題

問題1:在函數(shù)內(nèi)部,針對參數(shù)使用賦值語句,會不會影響調(diào)用函數(shù)時傳遞的實參變量?——————No

無論傳遞的參數(shù)是可變還是不可變

只要針對參數(shù)使用賦值語句,就會在函數(shù)內(nèi)部修改局部變量的引用,不會影響到外部變量的引用。

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


gl_num = 99
gl_list = [4, 5, 6]
demo(gl_num, gl_list)
print(gl_num)
print(gl_list)

運行結(jié)果:

在這里插入圖片描述

問題2:如果傳遞的參數(shù)是可變類型,在函數(shù)內(nèi)部,使用方法修改了數(shù)據(jù)內(nèi)容,會不會影響調(diào)用函數(shù)時傳遞的實參變量?——————YES

def demo(num_list):
  num_list.extend([1, 2, 3])
  print(num_list)


gl_list = [6, 7, 8]
print(gl_list)
demo(gl_list)
print(gl_list)

運行結(jié)果:

在這里插入圖片描述

3.2缺省參數(shù)

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

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

函數(shù)的缺省參數(shù),將常見的值設(shè)置為參數(shù)的缺省值,從而簡化函數(shù)的調(diào)用

例如:對列表排序的方法

gl_num_list = [6, 3, 9]

# 默認是升序排序,因為這種需求更多
gl_num_list.sort()
print(gl_num_list)

# 只有當需要降序排序的時候,才需要傳遞reverse參數(shù)
gl_num_list.sort(reverse=True)
print(gl_num_list)

運行結(jié)果:

在這里插入圖片描述

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

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

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


print_info("張三")
print_info("李四", False)

執(zhí)行結(jié)果:

在這里插入圖片描述

提示:

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

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

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

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

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

So,以下定義是錯誤滴

在這里插入圖片描述

②調(diào)用帶有多個缺省參數(shù)的函數(shù)

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

在這里插入圖片描述

正確書寫:

在這里插入圖片描述

3.3多值參數(shù)

定義支持多值參數(shù)的函數(shù)

  • 有時可能需要一個函數(shù)能夠處理的參數(shù)個數(shù)是不確定的,這個時候,就可以使用多值參數(shù)
  • Python中有兩種多值參數(shù):
    • 參數(shù)名前增加一個*可以接受元組
    • 參數(shù)名前增加兩個*可以接收字典
  • 一般在給多值參數(shù)命名時,習(xí)慣使用以下兩個名字
    • *args — 存放 元組 參數(shù),前面有 *
    • **kwargs — 存放 字典參數(shù),前面有**
  • args是arguments的縮寫,有變量的含義
  • kw是keyword的縮寫,kwargs可以記憶鍵值對參數(shù)
def demo(num, *args, **kwargs):
  print(num)
  print(args)
  print(kwargs)


demo(1, 2, 3, 4, 5, name="小米", age=18, gender=True)

運行結(jié)果:

在這里插入圖片描述

元組和字典的拆包

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

  • 將一個 元組變量,直接傳遞給args
  • 將一個 字典變量,直接傳遞給kwargs

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

  • 在元組變量前,加一個*
  • 在字典變量前,加兩個*

在開發(fā)時,如果需要直接將一個元組或者字典變量傳遞給函數(shù)內(nèi)部,則需要拆包。

如果我們不進行拆包操作,所傳參數(shù)會進行打包傳遞,如下圖:

在這里插入圖片描述

進行拆包后:

在這里插入圖片描述

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pytorch模型轉(zhuǎn)onnx模型的方法詳解

    pytorch模型轉(zhuǎn)onnx模型的方法詳解

    很多時候有pytorch模型轉(zhuǎn)onnx模型的必要,比如用tensorRT加速的時候,下面這篇文章主要給大家介紹了關(guān)于pytorch模型轉(zhuǎn)onnx模型的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • python如何保存文本文件

    python如何保存文本文件

    在本篇文章中小編給大家分享的是關(guān)于python保存文本文件的方法,有需要的朋友們可以參考下。
    2020-06-06
  • Python+matplotlib實現(xiàn)折線圖的美化

    Python+matplotlib實現(xiàn)折線圖的美化

    這篇文章主要和大家分享一個非常有趣的Python教程—如何美化一個?matplotlib折線圖。文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-05-05
  • Python 查看文件的編碼格式方法

    Python 查看文件的編碼格式方法

    下面小編就為大家分享一篇Python 查看文件的編碼格式方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 一分鐘教你用Python寫一幅春聯(lián)

    一分鐘教你用Python寫一幅春聯(lián)

    大家好,本篇文章主要講的是一分鐘教你用Python寫一幅春聯(lián),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • python+pyqt實現(xiàn)12306圖片驗證效果

    python+pyqt實現(xiàn)12306圖片驗證效果

    這篇文章主要為大家詳細介紹了python+pyqt實現(xiàn)12306圖片驗證效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Python3 pickle對象串行化代碼實例解析

    Python3 pickle對象串行化代碼實例解析

    這篇文章主要介紹了Python3 pickle對象串行化代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Python自動化測試框架之unittest使用詳解

    Python自動化測試框架之unittest使用詳解

    unittest是Python自動化測試框架之一,提供了一系列測試工具和接口,支持單元測試、功能測試、集成測試等多種測試類型。unittest使用面向?qū)ο蟮乃枷雽崿F(xiàn)測試用例的編寫和管理,可以方便地擴展和定制測試框架,支持多種測試結(jié)果輸出格式
    2023-04-04
  • python使用三角迭代計算圓周率PI的方法

    python使用三角迭代計算圓周率PI的方法

    這篇文章主要介紹了python使用三角迭代計算圓周率PI的方法,實例分析了Python迭代算法的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • pytorch制作自己的LMDB數(shù)據(jù)操作示例

    pytorch制作自己的LMDB數(shù)據(jù)操作示例

    這篇文章主要介紹了pytorch制作自己的LMDB數(shù)據(jù)操作,結(jié)合實例形式分析了pytorch使用lmdb的相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2019-12-12

最新評論

额敏县| 色达县| 内黄县| 平安县| 琼海市| 临海市| 顺义区| 乃东县| 禹州市| 崇明县| 阿克苏市| 兴和县| 珠海市| 平山县| 龙州县| 明水县| 麻栗坡县| 乌兰浩特市| 武义县| 宜良县| 新源县| 平定县| 文昌市| 贵阳市| 安西县| 东港市| 望奎县| 阜新市| 呼伦贝尔市| 习水县| 夏邑县| 平乐县| 信丰县| 郸城县| 诏安县| 樟树市| 上虞市| 平度市| 客服| 清涧县| 中牟县|