Python 函数 类 语法糖

      

Python 语法糖

\,换行连接

 

 

while,for 循环外的 else

如果 while 循环正常结束(没有break退出)就会执行else。

 

zip() 并行迭代

 

 

列表推导式

 

 

字典推导式

{ key_exp : value_exp fro expression in iterable }

 

集合推导式

{expression for expression in iterable }

元组没有推导式

本以为元组推导式是列表推导式改成括号,后来发现那个 生成器推导式。

生成器推导式

 

 

函数

函数关键字参数,默认参数值

 

函数默认参数值在函数定义时已经计算出来,而不是在程序运行时。
列表字典等可变数据类型不可以作为默认参数值。

changed:

 

*args 收集位置参数

 

 

**kwargs 收集关键字参数

 

 

lamba 匿名函数

 

 

生成器

生成器是用来创建Python序列的一个对象。可以用它迭代序列而不需要在内存中创建和存储整个序列。
通常,生成器是为迭代器产生数据的。

生成器函数函数和普通函数类似,返回值使用 yield 而不是 return 。

 

装饰器

有时需要在不改变源代码的情况下修改已经存在的函数。
装饰器实质上是一个函数,它把函数作为参数输入到另一个函数。
举个栗子:

可以使用多个装饰器,多个装饰由内向外向外顺序执行。

命名空间和作用域

 

可以使用全局变量 global a 。

Python 提供了两个获取命名空间内容的函数
local()
global()

_ 和 __

Python 保留用法。
举个栗子:

 

异常处理,try…except

只有错误发生时才执行的代码。
举个栗子:

再试下:

没有自定异常类型使用任何错误。

获取异常对象,except exceptiontype as name

 

 

自定义异常

异常是一个类。类 Exception 的子类。

 

命令行参数

命令行参数

python文件:

 

PPrint()友好输出

与print()用法相同,输出结果像是列表字典时会不同。

子类super()调用父类方法

举个栗子:

 

self.__name 保护私有特性

 

 

实例方法( instance method )

实例方法,以self作为第一个参数,当它被调用时,Python会把调用该方法的的对象作为self参数传入。

 

类方法 @classmethod

 

注意,使用h.count(类特征),而不是self.count(对象特征)。

静态方法 @staticmethod

 

创建即用,优雅不失风格。

特殊方法(sqecial method)

一个普通方法:

使用特殊方法:

其他还有:

 

文本字符串

 

 

{} 和 .format

 

猜你喜欢

转载自hugoren.iteye.com/blog/2319254