hello大家好,我是你们的小编安仔。
今天给大家带来python的进阶语法之*arg和**kwarg的用法。
*args:可以理解为只有一列的表格,长度不固定。
**kwargs:可以理解为字典,长度也不固定。
安仔在这里举一个例子来说明*args的用法。
写一个简单的加法函数:Jiafa函数
def Jiafa(x, y):
z = x + y
return z
print(Jiafa(1,2))
这个很简单,一看就知道输出等于3。
那么如果要算不固定个数的数字相加,那怎么来计算呢?
接下来可以使用*args来重新定义Jiafa函数:
def Jiafa(*args):
sum = 0
for i in args:
sum = sum + i
print(sum)
Jiafa(1, 3, 5)
Jiafa(2, 4, 6, 8 )
输出结果,9和20。
安仔在这里举一个例子来说明**kwargs的用法。
写一个测试单词的小程序。
dict = {"system": "系统", "China": "中国", "link": "联接"}
# 通过Key找value的语句:
y = input("请输入China的中文意思:")
if dict['China'] == y:
print("恭喜你,答对了!")
# 通过value找Key的语句:
z = input("请输入“系统”的英文单词:")
if list(dict.keys())[list(dict.values()).index("系统")] == z:
print("恭喜你,答对了!")
如果开始不知道字典里都有哪些内容,需要在程序运程中才知道怎么办?
这个时候就可以用**kwargs来定义了。
def dict(**kwargs):
return kwargs
mydict = dict(system="系统", China="中国", link="联接")
x = input("请输入单词:")
if x in mydict.keys():
print("中文意思:", mydict[x])
else:
print("抱歉,没找到。")
安仔再使用**kwargs传递数据的案例,再设计一个用户登录的小程序。
def dict(**kwargs):
return kwargs
userdict = dict(user1="1234", user2="5678")
x = input("请输入用户名:")
if x in userdict.keys():
y = input("请输入密码:")
if userdict[x] == y:
print("完全正确")
else:
print("密码错误!")
else:
print("用户不存在!")
安仔用简单一些的代码来表达出*args和**kwarg的功能和用法。 也希望大家在学会python的初步功能后,继续进阶,加油!
转载请注明:XAMPP中文组官网 » python进阶语法之*arg和**kwarg的用法