工-python注解

1、无参数和带参数

def spamrun(fn):
    def sayspam(*args):
        print("spam,spam,spam")
        fn(*args)
    return sayspam
@spamrun
def useful(a,b):
    print(a*b)


def attrs(**kwds):
    def decorate(f):
        for k in kwds:
            setattr(f, k, kwds[k])
        return f

    return decorate


@attrs(versionadded="2.2",
       author="Guido van Rossum")
def mymethod(f):
    print(getattr(mymethod,'versionadded',0))
    print(getattr(mymethod,'author',0))
    print(f)


if __name__=="__main__": 
  #useful(2,5) 
  mymethod(2)  

https://blog.csdn.net/u013474436/article/details/75675113

2、

staticmethod 声明为静态方法

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class C(object):
    @staticmethod
    def f():
        print('runoob');
 
C.f();          # 静态方法无需实例化
cobj = C()
cobj.f()        # 也可以实例化后调用

https://www.runoob.com/python/python-func-staticmethod.html

3、

contextmanager 创建上下文
 
https://www.cnblogs.com/zhbzz2007/p/6158125.html

 

posted @ 2022-11-17 11:08  cnchengv  阅读(27)  评论(0编辑  收藏  举报