effective python目录_【python】effective python读书笔记

3、bytes, str, unicode的区别

二进制在python2中为str,在python3中为bytes。

unicode在python2中为unicode,在python3中为str。

两者转换关系如下:

二进制.decode('utf-8') = unicode

unicode.encode('utf-8') = 二进制

6、单次切片不能同时指定start end stride

如果stride为负,那么机制上会出问题

12、不要在for / while后面写else

两种合适的写法:

1、写函数,如果满足条件直接return

2、写循环,如果满足条件直接break

13、熟练使用try / except / else / finally

try有异常except,没有异常else,最终finally

15、闭包中使用外部变量

方法一:外面用个List / dict

方法二:写个类,然后用类变量

方法三:使用nonlocal,此方法不推荐

20、动态默认值的参数使用None

然后在函数内部init。函数的默认值只在函数init的时候跑一次,最好没有可变的参数。

21、只能使用关键字的参数

在位置参数的最后加入一个星号*(在python3中生效)

def safe_division(number, divisor, *, ignore_overflow=True, ignore_zero=True)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值