日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 不定长参数 *argc/**kargcs - Python零基础入门教程

發布時間:2024/9/27 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 不定长参数 *argc/**kargcs - Python零基础入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一.前言
  • 二.Python 不定長參數 argc/*kargcs 簡介
    • 1.函數不定長參數 *args 使用
    • 2.函數不定長參數 **kwargs 使用
    • 3.函數不定長參數*args 和**kwargs 只能放在形參的末尾,順序不能錯.
  • 三.Python 不定長參數 argc/*kargcs 實戰
  • 四.Python 不定長參數 argc/*kargcs 總結
  • 五.猜你喜歡

零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門

一.前言

Python 函數的聲明和調用 中我們簡單的了解了函數的相關使用,然而在函數傳遞參數的時候,我們埋下了一個坑,關于不定長參數的傳遞我們還沒有講,今天這篇文章主要就是講解這個問題。

Python 內置函數 print,這個函數想大家都會用,觀察如下代碼:

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 不定長參數 *argc/**kargcs.py @Time:2021/3/29 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""a = 1.0 b = False c = "python教程 - 猿說編程" print("a = %g" % (a)) print("a = %g b = %d" % (a,b)) print("a = %g b = %d c = %s" % (a,b,c))''' 輸出結果: a = 1 a = 1 b = 0 a = 1 b = 0 c = python教程 - 猿說編程 '''

問題來了,內置 Python 內置函數 print 到底需要傳遞幾個參數??

二.Python 不定長參數 argc/*kargcs 簡介

Python 函數的不定長參數包含 *args 和 **kwargs ,完整實例如下:

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 不定長參數 *argc/**kargcs.py @Time:2021/3/29 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""def function_print(*args,**kwargs): # 傳遞不定長參數,即參數個數不固定print(args)print(kwargs)function_print()''' 輸出結果: () {} '''

代碼分析:由輸出結果可以看出來,第一個形參 args 是元組 tuple 類型,第二個形參 *kwargs 是字典 dict 類型.

**1.函數不定長參數** ***args 使用**

a.形參 *args 類型是元組 tuple,外部調用函數時傳遞的參數不論是整數還是 BOOL 值或者是字符串 string ,實際上傳遞的都是元組數據;

b.如果函數形參是不定長參數,外部調用函數傳遞多個參數時,默認按順序實參匹配形參,剩余的參數全部作為(元組)不定長參數傳遞;

c.如果沒有為函數的不定長參數傳遞參數,默認為空元組();

示例代碼如下:

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 不定長參數 *argc/**kargcs.py @Time:2021/3/29 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""#普通形參 def function_print1(arg):print("普通形參 : arg=",arg)#不定長形參 def function_print2(*args):print("不定長形參 : args=",args)#普通形參 + 不定長形參 def function_print3(arg,*args):print("普通形參 + 不定長形參 : arg=",arg)print("普通形參 + 不定長形參 : args=",args)function_print1(False) function_print1("hello world") print("***"*20)function_print2(False) function_print2("hello world") print("***"*20)function_print3(False) # 只為函數傳遞了一個形參,不定長參數的形參默認為空元組() function_print3("hello world") print("***"*20)# 如果函數的形參是不定長參數,當外部調用函數傳遞多個參數時,默認按順序匹配形參,剩余的參數全部作為不定長參數傳遞 function_print3(False,1,23,4,5) function_print3("hello world",False,0,True,"python教程")''' 輸出結果: 普通形參 : arg= False 普通形參 : arg= hello world ************************************************************ 不定長形參 : args= (False,) 不定長形參 : args= ('hello world',) ************************************************************ 普通形參 + 不定長形參 : arg= False 普通形參 + 不定長形參 : args= () 普通形參 + 不定長形參 : arg= hello world 普通形參 + 不定長形參 : args= () ************************************************************ 普通形參 + 不定長形參 : arg= False 普通形參 + 不定長形參 : args= (1, 23, 4, 5) 普通形參 + 不定長形參 : arg= hello world 普通形參 + 不定長形參 : args= (False, 0, True, 'python教程')'''

**2.函數不定長參數** ****kwargs 使用**

**a.形參 **kwargs 類型是字典 dict,函數外部調用函數傳遞參數時需要使用關鍵字參數,實參寫法:a=1,b=2,c=False,d=”hello”;**

b.如果函數形參是不定長參數,外部調用函數傳遞多個參數時,默認按順序實參匹配形參,關鍵字參數全部作為(字典)不定長參數傳遞;

c.如果沒有為函數的不定長參數傳遞參數,默認為空字典 {} ;

示例代碼如下:

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 不定長參數 *argc/**kargcs.py @Time:2021/3/29 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""#普通函數 def function_print1(arg):print("普通函數形參 : arg=",arg)#普通函數不定長形參 def function_print2(**kwargs):print("不定長形參 : args=",kwargs)#普通函數形參 + 不定長形參 def function_print3(arg,**kwargs):print("普通函數形參 + 不定長形參 : arg=",arg)print("普通函數形參 + 不定長形參 : args=",kwargs)function_print1(False) function_print1("hello world") print("***"*20)function_print2(a=False) function_print2(c="hello world") print("***"*20)function_print3(False) function_print3("hello world") print("***"*20)function_print3(False,a=1,b=23,h=4,v=5) function_print3("hello world",y=False,i=0,a=True,j="python教程")''' 輸出結果: 普通函數形參 : arg= False 普通函數形參 : arg= hello world ************************************************************ 不定長形參 : args= {'a': False} 不定長形參 : args= {'c': 'hello world'} ************************************************************ 普通函數形參 + 不定長形參 : arg= False 普通函數形參 + 不定長形參 : args= {} 普通函數形參 + 不定長形參 : arg= hello world 普通函數形參 + 不定長形參 : args= {} ************************************************************ 普通函數形參 + 不定長形參 : arg= False 普通函數形參 + 不定長形參 : args= {'a': 1, 'b': 23, 'h': 4, 'v': 5} 普通函數形參 + 不定長形參 : arg= hello world 普通函數形參 + 不定長形參 : args= {'y': False, 'i': 0, 'a': True, 'j': 'python教程'}'''

3.函數不定長參數*args 和**kwargs 只能放在形參的末尾,順序不能錯.

def function_print(arg1,*args,**kwargs): # *args,**kwargs 必須在形參的末尾,順序不能亂pass

三.Python 不定長參數 argc/*kargcs 實戰

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 不定長參數 *argc/**kargcs.py @Time:2021/3/29 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""''' 普通函數形參 + 不定長形參:arg1:普通形參arg1:普通形參args:不定長參數-元組kwargs:不定長參數-字典 '''def function_print(arg1,arg2,*args,**kwargs):print(arg1,arg2,args,kwargs)function_print(False,1,b=23,h=4,v=5) function_print("hello world",False,0,True,j="python教程",a=True)''' 輸出結果: False 1 () {'b': 23, 'h': 4, 'v': 5} hello world False (0, True) {'j': 'python教程', 'a': True}'''

注意:注意參數的順序匹配

四.Python 不定長參數 argc/*kargcs 總結

注意函數傳參的三種形式:

  • 1.普通傳參;
  • 2.缺省參數,如果外部沒有為缺省參數傳遞實參,形參等于默認值;
  • 3.注意不定長參數的拆包,普通實參打包為元組 tuple 類型,關鍵字參數打包為字典 dict 類型;

五.猜你喜歡

  • Python 配置環境
  • Python 變量
  • Python 運算符
  • Python 條件判斷 if/else
  • Python while 循環
  • Python break
  • Python continue
  • Python for 循環
  • Python 字符串
  • Python 列表 list
  • Python 元組 tuple
  • Python 字典 dict
  • Python 條件推導式
  • Python 列表推導式
  • Python 字典推導式
  • 未經允許不得轉載:猿說編程 ? Python 不定長參數 *argc/**kargcs

    總結

    以上是生活随笔為你收集整理的Python 不定长参数 *argc/**kargcs - Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。