欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

相关标签: python