因为 Python 的语法糖,代码简洁优美,越来越喜欢 Python 了。
人生苦短,请用 Python
- 四则运算不会溢出
- 乘方,排列组合数内置且不会溢出
- 支持
x,y = y,x等简单操作 - 分号可用来分割,实现一行多句
- 函数返回值可以是元组,列表,甚至是函数
- lambda 表达式
- 列表生成式 , 三元操作符:
[x//2 if x%2 == 0 else x for x in range(10)] in, enumerate在for循环中使用- 列表,元组反向标号从
-1开始数,不用担心越界- 字符串的
split和join方法,eval计算器。
- 字符串的
map将一批数据同时用一个函数处理zip把列表或元组打包argv直接可用,不用再管argc- 函数可变参数
*args(保存元组),**kwargs(保存字典) yield和yield from做生成器reduce函数计算列表内全部乘积等(需要from functools import reduce)。- exec 函数 执行 Python 文件中的代码。
- 用 list 当函数参数实现传引用(指针)的功能
- 装饰器
- 带
*赋值:a,*b,c = [1,3,4,5,6,3,6] raise ValueError('error type...')处理异常,哈哈- Python 交互界面中:
_返回的是最近一次的值 - 任意类有
__init__和__repr__方法(不解释了,顾名思义) - 运算符重载,运算符重载 2
非语法糖: 生成器表达式中, in 子句在声明时执行, 而条件子句则是在运行时执行
装饰器示例
1 | def log(func): |
看
log(funB(12))就知道了!因为 log 是 return 的是函数 wrapper ,然后 12 就作为 arg 传入了。
类中装饰器: 自带 @properity @staticmethod @classmethod
To be Continue
我始终相信极简的代码,优美的代码才是正确的编程姿势。
Python 的坑 : 动态语言火葬场岂是浪得虚名
- 列表快速复制是浅复制
- 注意传列表等同转指针
- 深复制和浅复制 一定要细心
- list 自带的 copy 是浅 copy


