python 基础知识补充
程序员文章站
2022-05-10 11:49:23
...
1,当函数参数数量不确定时,可以使用 *args
和 **kwargs
做形参
*args
适用于一般类型的参数,应用举例:
def fun_var_args(farg, *args):
print('args:', farg)
for value in args:
print('another arg:',value )
fun_var_args(1, 'two', 3, None) #method 1
myargs = ['two',3, None]
fun_var_args(1,*myargs) #method2
**kwargs
适用于字典类型的参数,应用举例:
def fun_var_kwargs(farg, **kwargs):
print('args:',farg)
for key in kwargs:
print('another keyword arg:%s:%s' % (key, kwargs[key]))
fun_var_kwargs(1, arg1=1, arg2=2, arg3=None) #method1
mykwargs = {'arg1': '1', 'arg2': 'two', 'arg3': None}
fun_var_kwargs(1,**mykwargs) #method2
2,hasatrr 与 getattr 的使用:
hasattr 用于判断一个类或对象中是否含有某个函数,getattr 则返回该函数。应用实例:
class A:
def __init__(self):
self.name = 'zhangjing'
def method(self):
print("method print" )
Instance = A()
print(getattr(Instance , 'name', 'not find'))
print(getattr(Instance , 'age', 'not find'))
print(getattr(a, 'method', 'default') )
b = getattr(a, 'method', 'default')
b()
*******************************************
zhangjing
not find
<bound method A.method of <__main__.A object at 0x7f67b81ee828>>
method print
参考:
1, http://www.jb51.net/article/44104.htm
2, https://www.cnblogs.com/zhangjing0502/archive/2012/05/16/2503702.html
上一篇: 基础知识补充