zoukankan      html  css  js  c++  java
  • 【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)

  • 相关阅读:
    负载平衡问题
    [SHOI2008]堵塞的交通traffic
    Bzoj3626 [LNOI2014]LCA
    [TJOI2015]旅游
    [SCOI2016]美味
    [AH/HNOI2017]单旋
    Luogu3613 睡觉困难综合征
    [SCOI2007]降雨量
    [SCOI2005]王室联邦
    HAOI2011 problem a
  • 原文地址:https://www.cnblogs.com/yesuuu/p/13526719.html
Copyright © 2011-2022 走看看