zoukankan      html  css  js  c++  java
  • python核心高级学习总结1*args和**kwargs

    *args 和 ** kwargs 的用法

    首先,这两者在用法上都是用来补充python中对不定参数的接受。
    比如下面的列子
    def wrappedfunc(*args, **kwargs):
    print("%s called at %s"%(func.__name__, ctime()))  
    

    这是一个函数

     
    其次,在调用时候 1.   wrappedfunc('1','2')#这样会自动将'1','2'这两个参数赋值给args
    此时args这个变量就是一个list
             2.   wrappedfunc(a='1',b='2')#这样会自动将a='1',b='2'这两个键值对传递给kwargs
    此时kwargs这个变量就是一个dict
    如果对Python这两个类型熟悉的,其实也可以理解,当传递的值是两者混合的时候,python编译器会将这两者分别代入对应的list和dict来使用。

    callable()方法的使用

    callable 用来检查变量的类型,对于函数或对象返回true,对于普通的值类型返回false。需要注意的是,类对象返回的True,类实例对象返回的是False,它在装饰器中的用法如下,装饰器函数其实是这样⼀个接⼝约束, 它必须接受⼀个callable对象作为参数, 然后返回⼀个callable对象。 在Python中⼀般callable对象都是函数, 但也有例外。 只要某个对象重写了 __call__() ⽅法, 那么这个对象就是callable的。

    >>> re.match(r"aa(\d+)","aa2343ddd").group(1)
    '2343'
    >>> re.match(r"aa(\d+?)","aa2343ddd").group(1)
    '2'
    >>> re.match(r"aa(\d+)ddd","aa2343ddd").group(1)
    '2343'
    >>> re.match(r"aa(\d+?)ddd","aa2343ddd").group(1)
    '2343'
     
  • 相关阅读:
    DOM
    ES6的export和import
    JavaScript:Location
    垃圾回收机制之一:标记删除算法
    KnockoutJS:
    package.json
    2016/7/27
    requirejs:研究笔记
    postmessage/cors跨域postMessage、xhr2和xmldomain
    javascript:算法之数组sort排序
  • 原文地址:https://www.cnblogs.com/hulichao/p/python_arg.html
Copyright © 2011-2022 走看看