在写代码时会遇到一些参数相关的小问题,记录下来,方便自查
有时候定义函数时,参数有无及其个数都是可选择的,这时参数的形式可以为
**kwargs 字典对象
*args 数组对象
如
# -*- coding:utf-8 -*-
class food():
v1='fruit'
v2='meat'
def eat(self,**kwargs):
# v1=food.v1
# v2=food.v2
v1='orige'
v2='chiken'
print(v1,v2)
if kwargs:
if kwargs['v1']:
v1=kwargs['v1']
elif kwargs['v2']:
v2=kwargs['v2']
print(v1,v2)
food=food()
food.eat(v1='apple')
# 执行结果
('orige', 'chiken')
('apple', 'chiken')
以上是为了顺便证明一下函数中初始化的变量无法覆盖掉类中初始化的变量,但是可以对初始化变量重新赋值