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

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

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

一、函數(shù)初識

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

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

3、示例如下:    

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

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

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

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

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

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

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

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

<1> 位置參數(shù)

位置參數(shù)顧名思義,就是調(diào)用函數(shù)時傳的實參與函數(shù)的形參位置上一一對應(yīng)的參數(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ù)中的name,age,major,country對應(yīng)
stu2 = stu_info('Frank',20,'JP','UN')
stu3 = stu_info('Rose',19,'Art','UK')

<2> 默認參數(shù)

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

注意:默認參數(shù),必須放在位置參數(shù)之后,否則會出錯

實例如下:

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

stu1 = stu_info('Jack',21,'Chinese') # 此處未傳對應(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ù)),但記住一個要求就是,關(guān)鍵參數(shù)必須放在位置參數(shù)(以位置順序確定對應(yīng)關(guān)系的參數(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ù),單獨指定,但必須放在位置參數(shù)之后
stu3 = stu_info('Rose',19,'Art',country='UK')

<4> 非固定傳參

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

可以細分為兩類:

非固定傳參方式一:

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

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

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

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

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

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

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

非固定傳參方式二:        

可同時指定多個用戶,傳過來的所有參數(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ù)常用的傳參方式你就都了解了?是不是又長姿勢了呢!

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

相關(guān)文章

  • python中json、字典的區(qū)別以及相互轉(zhuǎn)換方法

    python中json、字典的區(qū)別以及相互轉(zhuǎn)換方法

    在Python中我們經(jīng)常會用到JSON格式的數(shù)據(jù),而將JSON格式轉(zhuǎn)化為Python的字典類型是一種常見的操作,這篇文章主要給大家介紹了關(guān)于python中json、字典的區(qū)別以及相互轉(zhuǎn)換方法的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 一分鐘帶你上手Python調(diào)用DeepSeek的API

    一分鐘帶你上手Python調(diào)用DeepSeek的API

    最近DeepSeek非?;?作為一枚對前言技術(shù)非常關(guān)注的程序員來說,自然都想對接DeepSeek的API來體驗一把,下面小編就來為大家介紹一下Python如何快速上手調(diào)用DeepSeek?API吧
    2025-02-02
  • python 時間的訪問和轉(zhuǎn)換 time示例小結(jié)

    python 時間的訪問和轉(zhuǎn)換 time示例小結(jié)

    Python 的 time 模塊提供了各種與時間處理相關(guān)的功能,包括獲取當前時間、操作日期/時間以及執(zhí)行與時間相關(guān)的各種其它功能,這篇文章主要介紹了python 時間的訪問和轉(zhuǎn)換 time,需要的朋友可以參考下
    2024-05-05
  • 如何基于opencv實現(xiàn)簡單的數(shù)字識別

    如何基于opencv實現(xiàn)簡單的數(shù)字識別

    現(xiàn)在很多場景需要使用的數(shù)字識別,比如銀行卡識別,以及車牌識別等,在AI領(lǐng)域有很多圖像識別算法,大多是居于opencv 或者谷歌開源的tesseract 識別,下面這篇文章主要給大家介紹了關(guān)于如何基于opencv實現(xiàn)簡單的數(shù)字識別,需要的朋友可以參考下
    2021-09-09
  • Keras搭建M2Det目標檢測平臺示例

    Keras搭建M2Det目標檢測平臺示例

    這篇文章主要為大家介紹了Keras搭建M2Det目標檢測平臺實現(xiàn)的源碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式

    python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式

    這篇文章主要介紹了python?request要求接口參數(shù)必須是json數(shù)據(jù)的處理方式,Reqeusts支持以form表單形式發(fā)送post請求,只需要將請求的參數(shù)構(gòu)造成一個字典,然后傳給requests.post()的data參數(shù)即可,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-08-08
  • Python中的字符串替換操作示例

    Python中的字符串替換操作示例

    這篇文章主要介紹了Python中的字符串替換操作示例,包括一則使用字符串模板string.Template的例子及一則使用正則表達式的例子,需要的朋友可以參考下
    2016-06-06
  • Python圖像處理庫PIL的ImageGrab模塊介紹詳解

    Python圖像處理庫PIL的ImageGrab模塊介紹詳解

    這篇文章主要介紹了Python圖像處理庫PIL的ImageGrab模塊介紹詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • python密碼學(xué)RSA密碼加密教程

    python密碼學(xué)RSA密碼加密教程

    這篇文章主要為大家介紹了python密碼學(xué)RSA密碼加密教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • python實現(xiàn)局部圖像放大

    python實現(xiàn)局部圖像放大

    這篇文章主要介紹了python實現(xiàn)局部圖像放大,畫中畫形式展示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論

河间市| 东海县| 叶城县| 衡阳市| 宁蒗| 龙门县| 呼图壁县| 基隆市| 天峻县| 平凉市| 平山县| 巫溪县| 徐汇区| 名山县| 泊头市| 芮城县| 丰城市| 岫岩| 星子县| 闵行区| 金平| 四川省| 湛江市| 南木林县| 乌海市| 云阳县| 长岭县| 盈江县| 通化市| 哈巴河县| 靖宇县| 遂昌县| 尉犁县| 广宁县| 怀安县| 井研县| 无锡市| 渝北区| 兴山县| 古浪县| 丰镇市|