Python参数(必需参数、关键字参数、默认参数、不定长参数)

Python参数(必需参数、关键字参数、默认参数、不定长参数)

以下是调用函数时可使用的正式参数类型:
必需参数
关键字参数
默认参数
不定长参数

图片.png

必需参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
调用 print_myself() 函数,你必须传入一个参数,不然会出现语法错误:

代码:
def print_myself(str):
    "打印任何传入的字符串"
    print(str)
    return
# 调用 print_myself 函数,不加参数会报错
print_myself()

图片.png

关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
以下实例在函数 print_myself() 调用时使用参数名:
def print_myself( str ):
   "打印任何传入的字符串"
   print(str)
   return
#调用print_myself函数
print_myself( str = "
www.zh-cjh.com")

图片.png

演示函数参数的使用不需要使用指定顺序:
def print_info(name, age):
    "打印任何传入的字符串"
    print("名字: ", name)
    print("年龄: ", age)
    return
# 调用print_info函数
print_info(age=30, name="www.zh-cjh.com")

图片.png

默认参数
调用函数时,如果没有传递参数,则会使用默认参数。以下代码(在线python3环境)中如果没有传入 age 参数,则使用默认值:

def print_info(name, age=35):
    "打印任何传入的字符串"
    print("名字: ", name)
    print("年龄: ", age)
    return
# 调用print_info函数
print_info(age=30, name="www.zh-cjh.com")
print("------------------------")
print_info(name="CJH")

图片.png

不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下:
def function_name([formal_args, ] * var_args_tuple):
    "函数_文档字符串"
    function_suite
    return [expression]
加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
def print_info(arg1, *vartuple):
    "打印任何传入的参数"
    print("输出: ")
    print(arg1)
    print(vartuple)
# 调用print_info 函数
print_info(100, 90, 80)

图片.png

如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。
def print_info(arg1, *vartuple):
    "打印任何传入的参数"
    print("输出: ")
    print(arg1)
    for var in vartuple:
        print(var)
    return
# 调用printinfo 函数
print_info(100)
print_info(90, 80, 70)

图片.png

还有一种就是参数带两个星号 **基本语法如下:

def function_name([formal_args, ] ** var_args_dict):
    "函数_文档字符串"
    function_suite
    return [expression]
加了两个星号 ** 的参数会以字典的形式导入。
def print_info(arg1, **vardict):
    "打印任何传入的参数"
    print("输出: ")
    print(arg1)
    print(vardict)
# 调用print_info 函数
print_info(1, a=2, b=3)

图片.png

声明函数时,参数中星号 * 可以单独出现,例如:
    def f(a,b,*,c):
        return a+b+c

如果单独出现星号 * 后的参数必须用关键字传入。
    def f(a,b,*,c):
       return a+b+c
    f(1,2,c=3) # 正常
    f(1,2,3)   # 报错


1、本站资源长期持续更新。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。

转载请保留出处:  www.zh-cjh.com珠海陈坚浩博客 » Python参数(必需参数、关键字参数、默认参数、不定长参数)

作者: cjh


手机扫一扫,手机上查看此文章:

一切源于价值!

其他 模板文件不存在: ./template/plugins/comment/pc/index.htm

未雨绸缪、居安思危!

数据安全、有备无患!

注意操作、数据无价!

一切源于价值!