chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python-函數(shù)的進(jìn)階與遞歸

汽車電子技術(shù) ? 來源:程序猿知秋 ? 作者: 程序猿知秋 ? 2023-02-16 15:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

函數(shù)的返回值

返回值

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

**返回值示例

**

# 單返回值示例
def test1():
  name="zs"
  return name


n=test1()
print("名字是:%s" %n)




# 多返回值,返回元組
def test2():
  name="zs"
  age=12
  return name,age


n,a=test2()
print("名字是:%s,年齡是:%d" %(n,a))


#第二種返回值接收形式
result=test2()
print(result)
print("名字是:%s,年齡是:%d" %(result[0],result[1]))




# 多返回值,返回元組2,與上一個(gè)函數(shù)返回的結(jié)果是一樣的
def test3():
  name="zs"
  age=12
  return (name,age)
n,a=test3()
print("名字是:%s,年齡是:%d" %(n,a))

輸出結(jié)果

圖片

交換變量的值

a=100
b=10


# 形式一
b,a=a,b
print(b,a)


# 形式二,注: 其實(shí)兩種方式是一樣的,只是看起來一個(gè)加了括號(hào)一個(gè)沒加,但其實(shí)后面都是用的元組
b,a=(a,b)
print(b,a)

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

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

  • 在函數(shù)內(nèi)部,針對(duì)參數(shù)使用 賦值語句 ,不會(huì)影響調(diào)用函數(shù)時(shí)傳遞的 實(shí)參變量
  • 不管是可變還是不可變類型的參數(shù),針對(duì)參數(shù)使用 ** 賦值語句** ,會(huì)在 函數(shù)內(nèi)部修改局部變量的引用 ,不會(huì)影響 外部變量的引用
  • 當(dāng)參數(shù)是** 可變類型**時(shí),在函數(shù)內(nèi)部,使用 方法 修改了數(shù)據(jù)的內(nèi)容,會(huì)影響到外部的數(shù)據(jù)

示例

# 可變與不可變類型參數(shù),使用賦值語句 不會(huì)影響外部調(diào)用時(shí)的 變量
def test1(num,num_list):
  num=10
  num_list=[4,5,6]
  print("函數(shù)內(nèi)部num值:%d" %num)
  print("函數(shù)內(nèi)部num_list值:",num_list)


gl_num=3
gl_num_list=[1,2,3]
test1(gl_num,gl_num_list)
print("函數(shù)外部num值:%d" %gl_num)
print("函數(shù)外部num_list值:",gl_num_list)




# 可變類型的參數(shù),使用 方法賦值,會(huì)影響外部調(diào)用時(shí)的 變量
def test2(num_list):
  # 形式一
  num_list.append(9)
  # 形式二
  num_list.extend([2,2,2])
  # 形式三(默認(rèn)使用的也是 extend)
  num_list+=[3,3,3]
  print("函數(shù)內(nèi)部調(diào)用后的值是:",num_list)


gl_num_list2=[1,1,1]
test2(gl_num_list2)
print("函數(shù)外部調(diào)用后的值是:",gl_num_list2)

輸出結(jié)果

圖片

缺省參數(shù)

  • 定義函數(shù)時(shí),可以給 **某個(gè)參數(shù) **指定一個(gè) 默認(rèn)值 ,具有默認(rèn)值的參數(shù)就叫 缺省參數(shù)
  • 調(diào)用函數(shù)時(shí),如果沒有傳入缺省參數(shù)的值,則在函數(shù)內(nèi)部會(huì)使用 參數(shù)的默認(rèn)值
  • 函數(shù)的缺省參數(shù),將常見的值設(shè)置為參數(shù)的缺省值,從而 簡(jiǎn)化函數(shù)的調(diào)用
  • 缺省參數(shù)的定義位置,應(yīng)該放在參數(shù)列表的末尾
  • 如果有 ** 多個(gè)缺省參數(shù),調(diào)用時(shí)需要指定參數(shù)名,** 這樣解釋器才能知道參數(shù)的對(duì)應(yīng)關(guān)系
def test1(name,work="工程師",gender="男"):
  print("名字是:%s,職位是:%s,性別是:%s" %(name,work,gender))


test1("張三",gender="女")
test1("李四",work="設(shè)計(jì)師")
test1("王五",work="設(shè)計(jì)師",gender="人妖")

輸出結(jié)果

圖片

多值參數(shù)

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

  • 參數(shù)名前增加 兩個(gè)** * 可以接收 字典**

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

    • ***args 存放 元組 參數(shù),前面有一個(gè) ***
    • ****kwargs 存放 字典 參數(shù),前面有兩個(gè) ***
  • args 是 arguments 的縮寫,有變量的含義

  • **kw 是 keyword 的縮寫,kwargs 可以記憶 鍵值對(duì)參數(shù)

    **

示例

# 測(cè)試普通參數(shù),元組,字典傳參
def test(num,*args,**kwargs):
  print(num)
  print(args)
  print(kwargs)




test(1,2,3,4,5,nmae="zs",age="12")

輸出結(jié)果

圖片

**元組和字典的拆包

**

  • 在調(diào)用帶有多值參數(shù)的函數(shù)時(shí),如果希望:
    • 將一個(gè) 元組變量,直接傳遞給 args
    • 將一個(gè) 字典變量,直接傳遞給 kwargs
  • 就可以使用 ** 拆包,** 簡(jiǎn)化參數(shù)的傳遞,拆包的方式是**:**
    • 在 元組變量前**,增加一個(gè) ***

    • 在 字典變量前**,增加兩個(gè) *

      **

示例

def test(*args,**kwargs):
  print(args)
  print(kwargs)


# 不使用拆包
test(1,2,3,name="zs",age=12)


# 使用拆包
t_tuple=(1,2,3)
d_dict={"name":"zs","age":12}
test(*t_tuple,**d_dict)

**輸出結(jié)果

**

圖片

遞歸

  • 一個(gè)函數(shù),內(nèi)部自己調(diào)用自己
  • 當(dāng) 參數(shù)滿足一個(gè)條件時(shí),函數(shù)不再執(zhí)行,這個(gè)非常重要,通常被稱為 遞歸的出口,否則 就會(huì)出現(xiàn) 死循環(huán)

示例

# 使用遞歸 計(jì)算累加  1+2+3....num
def sum_num(num):
  # 定義出口
  if num==1:
    return 1


  tmp=sum_num(num-1)
  return num+tmp


total=sum_num(10)
print("累加的值是:",total)

輸出結(jié)果

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4379

    瀏覽量

    64737
  • 程序開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10624
  • Return
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7831
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    快速掌握Python遞歸函數(shù)與匿名函數(shù)調(diào)用

    函數(shù)Python技術(shù)學(xué)習(xí)中重要的一個(gè)環(huán)節(jié),深入掌握該階段的知識(shí)內(nèi)容,對(duì)于Python技術(shù)能力的提升非常有幫助,這里就針對(duì)遞歸函數(shù)與匿名
    發(fā)表于 07-19 16:22

    Labview遞歸函數(shù)的使用案例

    Labview遞歸函數(shù)的使用案例,簡(jiǎn)單的1+2+3...+100求和,簡(jiǎn)單易懂,充分理解遞歸函數(shù)的思想
    發(fā)表于 10-09 09:37

    請(qǐng)問python-樹莓派如何通過按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn)?

    步進(jìn)電機(jī)驅(qū)動(dòng)原理是什么?python-樹莓派如何通過按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn)?
    發(fā)表于 10-09 08:45

    C++教程之函數(shù)遞歸調(diào)用

    C++教程之函數(shù)遞歸調(diào)用 在執(zhí)行函數(shù) f 的過程中,又要調(diào)用 f 函數(shù)本身,稱為函數(shù)遞歸調(diào)
    發(fā)表于 05-15 18:00 ?35次下載

    python-控制khr3hv-master機(jī)器人

    python-控制khr3hv機(jī)器人,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-22 15:40 ?2次下載

    遞歸指的是在函數(shù)的定義中使用函數(shù)自身的方法

    C語言支持遞歸,即一個(gè)函數(shù)可以調(diào)用其自身。但在使用遞歸時(shí),程序員需要注意定義一個(gè)從函數(shù)退出的條件,否則會(huì)進(jìn)入死循環(huán)。遞歸
    的頭像 發(fā)表于 11-12 15:06 ?7509次閱讀

    C++的實(shí)驗(yàn)教程之函數(shù)遞歸算法資料免費(fèi)下載

    函數(shù)遞歸算法 1.范例:求組合數(shù), 一、實(shí)驗(yàn)?zāi)康?. 學(xué)會(huì)解決簡(jiǎn)單的遞歸算法。2. 掌握函數(shù)的嵌套調(diào)用。
    發(fā)表于 01-29 10:51 ?2次下載
    C++的實(shí)驗(yàn)教程之<b class='flag-5'>函數(shù)</b>的<b class='flag-5'>遞歸</b>算法資料免費(fèi)下載

    進(jìn)階必備的68個(gè)Python 內(nèi)置函數(shù)分析

    來源: pypypypy 內(nèi)置函數(shù)就是Python給你提供的,拿來直接用的函數(shù),比如print.,input等。 截止到python版本3.6.2 ,
    的頭像 發(fā)表于 11-01 10:18 ?4428次閱讀

    C語言-內(nèi)聯(lián)函數(shù)、遞歸函數(shù)、指針函數(shù)

    這篇文章介紹C語言的內(nèi)聯(lián)函數(shù)、遞歸函數(shù)函數(shù)指針、指針函數(shù)、局部地址、const關(guān)鍵字、extern關(guān)鍵字等知識(shí)點(diǎn);這些知識(shí)點(diǎn)在實(shí)際項(xiàng)目開發(fā)
    的頭像 發(fā)表于 08-14 10:03 ?1987次閱讀

    Python-函數(shù)

    所謂函數(shù),就是把 **具有獨(dú)立功能的代碼塊** 組織為一個(gè)小模塊,在需要的時(shí)候調(diào)用
    的頭像 發(fā)表于 02-16 14:54 ?977次閱讀

    Python-變量的引用與可變

    變量和數(shù)據(jù)都是保存在內(nèi)存中的,在Python中,函數(shù)的參數(shù)傳遞和返回值都是靠引用傳遞的
    的頭像 發(fā)表于 02-16 15:15 ?1115次閱讀
    <b class='flag-5'>Python-</b>變量的引用與可變

    Python支持遞歸函數(shù)

    Python支持遞歸函數(shù)——即直接或間接地調(diào)用自身以進(jìn)行循環(huán)的函數(shù)遞歸是頗為高級(jí)的話題,并且它在Pyt
    的頭像 發(fā)表于 02-21 14:28 ?820次閱讀

    函數(shù)遞歸-3

    程序調(diào)用自身的編程技巧稱為遞歸(recursion)。遞歸作為一種算法在程序設(shè)計(jì)語言中廣泛應(yīng)用。一個(gè)過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個(gè)大型復(fù)雜的問題層層轉(zhuǎn)化為一個(gè)
    的頭像 發(fā)表于 02-21 15:57 ?843次閱讀

    什么是Python遞歸函數(shù)

    遞歸函數(shù)必須有終止條件。編程中,函數(shù)的調(diào)用要占用名叫棧(stack)的內(nèi)存空間。調(diào)用函數(shù)時(shí),程序會(huì)將相關(guān)的數(shù)據(jù)存儲(chǔ)到計(jì)算機(jī)的棧里。
    的頭像 發(fā)表于 02-23 10:25 ?2160次閱讀

    Python遞歸的經(jīng)典案例

    當(dāng)我們碰到諸如需要求階乘或斐波那契數(shù)列的問題時(shí),使用普通的循環(huán)往往比較麻煩,但如果我們使用遞歸時(shí),會(huì)簡(jiǎn)單許多,起到事半功倍的效果。這篇文章主要和大家分享一些和遞歸有關(guān)的經(jīng)典案例,結(jié)合一些資料談一下個(gè)人的理解,也借此加深自己對(duì)遞歸
    的頭像 發(fā)表于 08-05 15:57 ?707次閱讀