自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 python之类与继承总结

1.尽量用辅助类来维护程序的状态,而不要用字典和元组不要使用包含其他字典的字典,也不要使用过长的元组。 如果容器中包含简单而又不可变的数据,那么可以先使用 namedtuple(具名元组) 来表示,带稍后有需要时,再修改为完整的类。 保存内部状态的字典如果变得比较复杂,那就应该把这些代码拆解为多个辅助类。2.简单的接口应该接受函数,而不是类的实例defaultdict函数钩子(hook)函数...

2021-03-17 22:20:34 331 4

原创 python之函数总结

1.尽量用异常来表示特殊情况,而不要返回 None用 None 这个返回值来表示特殊意义的函数,很容易使调用者犯错,因为 None 和 0 以及空字符串之类的值,在表达式里都会评估为 False。函数在遇到特殊情况时,应该抛出异常,而不要返回 None 。调用者在看到该函数的文档中所描述的异常之后,应该就会编写相应的代码来处理它们了。def divide(a, b): try: return a / b except ZeroDivisionError as e

2021-03-09 22:18:40 625 4

原创 异常处理 try/except/else/finally

1.try/finally结构既要将异常向上传播,又要在异常发生时执行清理工作。常见用途之一:确保程序能够可靠的关闭文件句柄handle = open('filepath') # 可能发生IOErrortry: data = handle.read() # 可能发生UnicodeDecodeErrorfinally: handel.close() # 一定可以执行2.try/except结构3.try/except/else结构清晰的描绘出哪些异常

2021-03-07 16:53:58 2307 2

原创 尽量不要在 for 和 while 循环后面写 else 块

将程序的逻辑搞得直白一点,不要太复杂。

2021-03-07 15:54:02 152

原创 zip()函数

用 zip() 函数同时遍历两个迭代器names = ['Cecilia', 'Lise', 'Marie']letters = [len(n) for n in names]longest_name = Nonemax_letters = 0for name, count in zip(names, letters): if count > maxletters: longest_name = name max_letters = count

2021-03-07 15:27:25 293 2

原创 python 位运算符及运算符的优先级

python运算符优先级a|=2等价于a=a|2a>>=2等价于a=a>>2a<<=2等价于a=a<<2

2021-03-02 19:45:35 194

原创 random.randint(0, 1)

random.randint() 产生指定范围内的随机整数,包括边界。因为它会产生 0 或 1 随机,而数字 0 是 False 并且其他所有数字都是 True , 所以它会随机产生一个假值或真值。在Python中,空容器,空字符串None和数字0(整数0,float 0.0等)都是假值。...

2021-03-02 19:21:09 5880

原创 enumerate 函数

enumerate 函数提供了一种精简的写法,可以在遍历迭代器时获知每个元素的索引; 尽量用 enumerate 来改写那种将 range 与下标访问相结合的序列遍历代码; 可以给 enumerate 提供第二个参数,以指定开始计数时所用的值(默认为0)。 for i, name in enumerate(name_list, 1): print('%d:%s' % (i, name)) ...

2021-03-02 18:38:25 354

原创 列表推导(list comprehension)总结

1. 用列表推导来取代 map + filter 函数列表推导a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_squares = [x**2 for x in a if x % 2 == 0]print(even_squares)>>>[4, 16, 36, 64, 100]map + filter 函数alt = map(lambda x: x**2, filter(lambda x: x % 2 == 0, a))eve.

2021-03-02 16:47:40 225

原创 在单次切片操作内,不要同时指定 start, end 和 stride

将以字节形式存储的字符串反转:x = b'mongoose'y = x[::-1]print(y)>>>b'esoognom'这对字节串和 ASCII 字符有用,对已经编码成 UTF-8 字节串的 Unicode 字符无效。例子:a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']a[::2] # ['a', 'c', 'e', 'g']a[::-2] # ['b', 'd' 'f', 'h']a[2

2021-03-02 13:36:28 129

原创 切片(slice)

切割列表时,索引越界不会出现问题; 访问列表中的单个元素时,索引不能越界。

2021-03-01 21:19:44 89

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除