python 基础知识补充

来源:互联网 发布:手机淘宝怎么投诉商家 编辑:程序博客网 时间:2024/06/05 00:55

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 1myargs = ['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) #method1mykwargs = {'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()*******************************************zhangjingnot 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

原创粉丝点击