Python参数(必需参数、关键字参数、默认参数、不定长参数)
Python参数(必需参数、关键字参数、默认参数、不定长参数)
以下是调用函数时可使用的正式参数类型:
必需参数
关键字参数
默认参数
不定长参数
必需参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
调用 print_myself() 函数,你必须传入一个参数,不然会出现语法错误:
代码:
def print_myself(str):
"打印任何传入的字符串"
print(str)
return
# 调用 print_myself 函数,不加参数会报错
print_myself()
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
以下实例在函数 print_myself() 调用时使用参数名:
def print_myself( str ):
"打印任何传入的字符串"
print(str)
return
#调用print_myself函数
print_myself( str = "www.zh-cjh.com")
演示函数参数的使用不需要使用指定顺序:
def print_info(name, age):
"打印任何传入的字符串"
print("名字: ", name)
print("年龄: ", age)
return
# 调用print_info函数
print_info(age=30, name="www.zh-cjh.com")
默认参数
调用函数时,如果没有传递参数,则会使用默认参数。以下代码(在线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")
不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 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)
如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。
def print_info(arg1, *vartuple):
"打印任何传入的参数"
print("输出: ")
print(arg1)
for var in vartuple:
print(var)
return
# 调用printinfo 函数
print_info(100)
print_info(90, 80, 70)
还有一种就是参数带两个星号 **基本语法如下:
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)
声明函数时,参数中星号 * 可以单独出现,例如:
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) # 报错
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » Python参数(必需参数、关键字参数、默认参数、不定长参数)
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm