亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python函數(shù)定義及傳參方式詳解(4種)

 更新時(shí)間:2019年03月18日 11:09:47   作者:暮光微涼  
這篇文章主要介紹了Python函數(shù)定義及傳參方式詳解(4種),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、函數(shù)初識(shí)

1、定義:將一組語句的集合通過一個(gè)名字(函數(shù)名)封裝起來,要想執(zhí)行這個(gè)函數(shù),只需調(diào)用其函數(shù)名即可?!?/p>

2、好處:代碼重用;保持一致性;可擴(kuò)展性。

3、示例如下:    

# -*-coding:utf-8-*-
def sayHello():
  print('Hello world!')
sayHello()

二、函數(shù)傳參方式

如上面的實(shí)例是函數(shù)中最基礎(chǔ)的一種,是不傳參數(shù)的,說到這里,我們有必要了解一下何為函數(shù)參數(shù):

1、函數(shù)參數(shù):

形參變量: 只有在被調(diào)用時(shí)才分配內(nèi)存單元,調(diào)用結(jié)束時(shí),即刻釋放所分配的內(nèi)存單元。因此,形參只在函數(shù)內(nèi)部有效。

函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后不能再使用該形參變量

實(shí)參:可以是常量,變量,表達(dá)式,函數(shù)等,無論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用,它們都必須有確定的值,以便把這些值傳送給形參。因此應(yīng)預(yù)先用賦值,輸入等辦法使參數(shù)獲得確定值。

2、函數(shù)傳參的分類

<1> 位置參數(shù)

位置參數(shù)顧名思義,就是調(diào)用函數(shù)時(shí)傳的實(shí)參與函數(shù)的形參位置上一一對(duì)應(yīng)的參數(shù)。

如下實(shí)例:

#位置參數(shù)
print('\n以下是位置參數(shù)傳值\n')
def stu_info(name,age,major,country):
  print('--------學(xué)生信息-------')
  print('姓名:',name)
  print('年齡:',age)
  print('專業(yè):',major)
  print('國籍:',country)

stu1 = stu_info('Jack',21,'Chinese','CN') # 實(shí)參依次與函數(shù)中的name,age,major,country對(duì)應(yīng)
stu2 = stu_info('Frank',20,'JP','UN')
stu3 = stu_info('Rose',19,'Art','UK')

<2> 默認(rèn)參數(shù)

默認(rèn)參數(shù)就有點(diǎn)不同了,是你在函數(shù)形參中定義好的,當(dāng)實(shí)參中未傳對(duì)應(yīng)的參數(shù)時(shí),它就派上用場(chǎng)了,默認(rèn)給你加上。是不是有點(diǎn)貼心呢?

注意:默認(rèn)參數(shù),必須放在位置參數(shù)之后,否則會(huì)出錯(cuò)

實(shí)例如下:

#默認(rèn)參數(shù)
print('\n以下是默認(rèn)參數(shù)傳值\n')
def stu_info(name,age,major,country = 'CN'):# country設(shè)為了默認(rèn)參數(shù),必須放在位置參數(shù)之后,否則會(huì)出錯(cuò)
  print('--------學(xué)生信息-------')
  print('姓名:',name)
  print('年齡:',age)
  print('專業(yè):',major)
  print('國籍:',country)

stu1 = stu_info('Jack',21,'Chinese') # 此處未傳對(duì)應(yīng)的值,但形參中已經(jīng)定義了,所以不用擔(dān)心找不家了!
stu2 = stu_info('Frank',20,'JP')  # 你也是的
stu3 = stu_info('Rose',19,'Art','UK')  # 既然你已經(jīng)傳參了,就隨你了。

<3> 關(guān)鍵參數(shù)

正常情況下,給函數(shù)傳參數(shù)要按順序,不想按順序就可以用關(guān)鍵參數(shù),只需指定參數(shù)名即可(指定參數(shù)名的參數(shù)就叫關(guān)鍵參數(shù)),但記住一個(gè)要求就是,關(guān)鍵參數(shù)必須放在位置參數(shù)(以位置順序確定對(duì)應(yīng)關(guān)系的參數(shù))之后。

還是奉上實(shí)例:

#關(guān)鍵參數(shù),不能重復(fù)賦值,且指定的參數(shù)應(yīng)在位置參數(shù)之后

print('\n以下是關(guān)鍵參數(shù)傳值\n')
def stu_info(name,age,major,country = 'CN'): #
  print('--------學(xué)生信息-------')
  print('姓名:',name)
  print('年齡:',age)
  print('專業(yè):',major)
  print('國籍:',country)

stu1 = stu_info('Jack',21,'Chinese')
stu2 = stu_info('Frank',20,major='JP') # major即為關(guān)鍵參數(shù),單獨(dú)指定,但必須放在位置參數(shù)之后
stu3 = stu_info('Rose',19,'Art',country='UK')

<4> 非固定傳參

這種傳參方式可就大有講究了,花樣可謂繁多,自然本領(lǐng)也就大多了,不信往下看。

可以細(xì)分為兩類:

非固定傳參方式一:

可同時(shí)指定多個(gè)用戶,傳過來的所有參數(shù)打包成元祖。如下:

#-*-coding:utf-8-*-

#方式一
def send_alert(msg,*users): # '*users‘ 表示非固定傳參,可同時(shí)指定多個(gè)用戶,傳過來的所有參數(shù)打包元祖
  for u in users:
    print('報(bào)警!請(qǐng)及時(shí)查看...',u,msg)
send_alert('你的系統(tǒng)已瀕臨崩潰!','cc','hyt','yuq','dy')

#方式二
def send_alert(msg,*users): # '*users‘ 表示非固定傳參,可同時(shí)指定多個(gè)用戶,傳過來的所有參數(shù)打包元祖
  for u in users:
    print('報(bào)警!請(qǐng)及時(shí)查看...',u,msg)
send_alert('你的系統(tǒng)已瀕臨崩潰!',*['cc','hyt','yuq','dy'])

'''
  如果列表前不加 * 號(hào),整個(gè)列表就會(huì)被當(dāng)作元組里的一個(gè)元素,
加 * 號(hào)后就相當(dāng)于列表里每個(gè)元素都是元祖的一個(gè)元素了。就會(huì)向元組里的每個(gè)成員都發(fā)出訊息了。
'''

def send_alert(msg,*users,age):
  for u in users:
    print('報(bào)警!請(qǐng)及時(shí)查看...',u,msg)
send_alert('你的系統(tǒng)已瀕臨崩潰!','sc','qh',age=22)

'''
'*users‘此時(shí)會(huì)默認(rèn)獲取前一個(gè)位置參數(shù)之后所有的元素,若傳參時(shí)最后不指定關(guān)鍵參數(shù)就會(huì)報(bào)錯(cuò),age無法獲取傳值
'''

非固定傳參方式二:        

可同時(shí)指定多個(gè)用戶,傳過來的所有參數(shù)打包成元組或字典。如下:  

#-*-coding:utf-8-*-

def func(name,*args,**kwargs): # 形參依次是位置參數(shù),元組,字典
  print(name,args,kwargs)

func('Hope',22,'CN','tomorrow') #輸出:Hope (22, 'CN', 'tomorrow') {}
func('Try',21,'will',addr='HG',num=666) #輸出:Try (21, 'will') {'addr': 'HG', 'num': 666}

dit = {'major':'Math','interest':'reading'}
func('want',*['day','up'],**dit) #輸出:want ('day', 'up') {'major': 'Math', 'interest': 'reading'}

小伙伴們到這里,Python中函數(shù)常用的傳參方式你就都了解了?是不是又長(zhǎng)姿勢(shì)了呢!

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

相關(guān)文章

  • python write無法寫入文件的解決方法

    python write無法寫入文件的解決方法

    今天小編就為大家分享一篇python write無法寫入文件的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 使用OpenCV-python3實(shí)現(xiàn)滑動(dòng)條更新圖像的Canny邊緣檢測(cè)功能

    使用OpenCV-python3實(shí)現(xiàn)滑動(dòng)條更新圖像的Canny邊緣檢測(cè)功能

    這篇文章主要介紹了使用OpenCV-python3實(shí)現(xiàn)滑動(dòng)條更新圖像的Canny邊緣檢測(cè)功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python快速進(jìn)階利用Tkinter定制一個(gè)信息提示框

    python快速進(jìn)階利用Tkinter定制一個(gè)信息提示框

    這篇文章主要介紹了python快速進(jìn)階利用Tkinter定制一個(gè)信息提示框,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Python如何合并多個(gè)字典或映射

    Python如何合并多個(gè)字典或映射

    這篇文章主要介紹了Python如何合并多個(gè)字典或映射,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 教你漂亮打印Pandas DataFrames和Series

    教你漂亮打印Pandas DataFrames和Series

    在今天的文章中,我們將探討如何配置所需的pandas選項(xiàng),這些選項(xiàng)將使我們能夠“漂亮地打印” pandas DataFrames,需要的朋友可以參考下
    2021-05-05
  • Tensorflow安裝問題: Could not find a version that satisfies the requirement tensorflow

    Tensorflow安裝問題: Could not find a version that satisfies the

    這篇文章主要介紹了Tensorflow安裝問題: Could not find a version that satisfies the requirement tensorflow,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python?sns.countplot()?繪畫條形圖詳情

    python?sns.countplot()?繪畫條形圖詳情

    這篇文章主要介紹了python?sns.countplot()繪畫條形圖詳情,sns.countplot()用于畫類別特征的頻數(shù)條形圖,更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-06-06
  • 在pytorch中如何查看模型model參數(shù)parameters

    在pytorch中如何查看模型model參數(shù)parameters

    這篇文章主要介紹了在pytorch中如何查看模型model參數(shù)parameters,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 用Python?Turtle畫棵櫻花樹送給自己

    用Python?Turtle畫棵櫻花樹送給自己

    心情不好的時(shí)候,來用Python和Turtle庫畫棵櫻花樹送給自己吧,自己也要好好愛自己才對(duì)!文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手試一試
    2022-02-02
  • 詳解python中的hashlib模塊的使用

    詳解python中的hashlib模塊的使用

    這篇文章主要介紹了python中的hashlib模塊的使用,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04

最新評(píng)論