需要牢记的是:在使用类方法以及定义类方法的时候一定需要先添加self到函数括号中。
我们通常使用time.sleep函数任意在每打印一行后插入两秒休眠。使得程序运行变的缓慢(通常情况下Python运行的非常快速)。当程序在运行过程中,可以按ctrl + c来中断或取消程序
sys.stdout.flush()通过这条语句,我们可以实时刷新跟进屏幕的输出
os.sep:输出操作系统特定的路径分隔符,win下为“\”,linux下为”/”
在try块中获取资源,然后再finally块中释放资源是一种常见的模式,因此,还有一个with语句使得这一过程可以以一种干净的姿态得以完成。
with语句所使用的协议(Protocol),它会获取由open语句返回的对象,在本案例就是’the file’
它总会在代码块开始之前调用thefile.enter函数,并且总会在代码执行完毕之后调用thefile.exit。所以我们在finally代码块中编写的代码应该格外留心exit方法的自动操作。这可以帮助我们避免重复显式使用try….finally语句。
标准库:
sys模块
日志模块 想将一些调试信息或者重要信息存储在某个地方。以便检查程序运行。可以通过logging模块来实现如何将这些信息“存储在某个地方”
os模块用于和操作系统的交互
platform模块用于获取平台—操作系统—的信息。
logging模块用来记录Log信息。
os.path.join(os.getenv(‘HOMEDRIVE’),os.getenv(‘HOMEPATH’),’test.log’)使用该函数而不是仅仅将这几段字符串拼凑在一起的原因是这个函数会确保完整的位置路径符合当前操作系统的预期格式。
一个函数中返回两个不同的值,只需要使用一个元组。
a,b=的用法会将表达使的结果解释为具有两个值的一个元组。
python中交换两个变量的最快方法是:
a=3;b=4
a,b = b,a
print(a,b)
特殊方法:
特殊方法用来模拟内置类型的某些行为。
如果你的语句块只包括单独的一句语句,那么你可以在同一行指定它,例如条件语句与循环语句
lambda语句可以创建一个新的函数对象。lambda需要一个参数,后跟一个表达式作为函数体,这一表达式执行的值将会作为这个新函数的返回值
列表推导:用于从一份现有的列表中得到一份新列表。想象一下现在已经有了一份数字列表,你想得到一个相应的列表,其中数字在大于2的情况下将乘以2.列表推到就适合这个情况。
在函数中接收元组与字典。
pow(x,y)是指x的y次方。分别使用或*作为元组或字典的前缀,来使它们作为一个参数为函数所接收。当函数需要一个可变数量的实参时,这将颇为有用。
断言:assert语句
assert语句用断言某事是真的。
例如说你非常确定你正在使用的列表中至少包
含一个元素,并想确认这一点,如果其不是真的,就抛出一个错误, assert 语句就是这种情
况下的理想选择。当语句断言失败时,将会抛出 AssertionError 。
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。