Contents

Python教程-补充

本系列为作者在官网学习python时做的笔记,详见python官网

python标准库官方文档,查阅标准库相关的内容

python语言参考,查看python语法,该文档是简洁的,但试图做到准确和完整。非必要的内建对象类型和内建函数、模块的语义描述在 Python 标准库 中。

标准库和语言参考涵盖了python的所有内容,他们是互补的,如果在语言参考中没有找到需要的内容那么就一定在便准库文档中。

python内置标识符

类的内置方法

  • object.call(self[, args…]):此方法会在实例作为一个函数被“调用”时被调用;

内置函数

内置常量

内置类型

内置异常

术语对照表

文档中出现的不常用的专业术语可以在这里面找找解释,python官方文档

装饰器语法糖

python官方文档

返回值为另一个函数的函数,通常使用 @wrapper 语法形式来进行函数变换。装饰器语法只是一种语法糖,以下两个函数定义在语义上完全等价:

1
2
3
4
5
6
7
def f(...):
    ...
f = staticmethod(f)

@staticmethod
def f(...):
    ...

菜鸟教程 装饰器

比较复杂的装饰器使用装饰器类

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from functools import wraps
 
class logit(object):
    def __init__(self, logfile='out.log'):
        self.logfile = logfile
 
    def __call__(self, func):
        @wraps(func)
        def wrapped_function(*args, **kwargs):
            log_string = func.__name__ + " was called"
            print(log_string)
            # 打开logfile并写入
            with open(self.logfile, 'a') as opened_file:
                # 现在将日志打到指定的文件
                opened_file.write(log_string + '\n')
            # 现在,发送一个通知
            self.notify()
            return func(*args, **kwargs)
        return wrapped_function
 
    def notify(self):
        # logit只打日志,不做别的
        pass
 |