步骤/目录:
无

本文首发于个人博客https://lisper517.top/index.php/archives/4242/,转载请注明出处。
本文的原文写作日期为2020年9月17日,主要目的是总结《Learn Python the Hard Way/笨办法学python》(第三版)。

下面的内容有些缩进或者图片缺失,可以参考 原word文档

总结:这本书适合自学能力较强的,或者有一定基础的人自学。

1.格式化输出:%s用于string(基于str()),%r用于debug(基于repr(),原封不动显示输出,双引号转换为单引号),%d用于整数。format更先进。

2.sys.argv:脚本接受的参数列表。[0]为脚本路径。

3.文件操作:f=open(文件名,’w’)。常用方法:f.close()、read()、readline()、truncate()、write(字符串)等。注意方法的参数。

4.f.seek(整数)将读/写指针放到指定位置。

5.str.split(‘ ’)以空格为标志分割str,返回列表。
列表.pop(x)弹出(即删除)列表[x]元素,返回这个元素。
sorted()整理一个列表或元组等。

6.一些关键字:
global:在函数中定义的变量默认是局部变量,局部变量覆盖同名全局变量。引入全局变量需要用global。
assert(断言):判断后面跟着的表达式,若值为False则立刻终止程序并触发一个assert错误。
pass:用来占位。
yield:在函数中遇到yield后,会将所有局部变量保存,返回yield后面的对象,然后继续执行函数。yield主要是为了节省空间。
exec:将字符串当作python语句执行。总是返回None。

7.使用 字典名.items()来遍历字典。字典的get方法:get(key,default)用键找到对应的值,若没有则返回default,默认为None。

8.super方法:为了使子类调用父类方法可使用super方法。在python3中,格式为super().父类方法。在复杂的继承中,super调用的哪个方法可能比较复杂。
为了以一定的顺序快速寻找到指定方法,python使用了MRO(Method Resolution Order)方法解析顺序,涉及到C3算法。应该尽量避免多重继承。

9.str.strip([chars])方法:去除str两端的chars字符串,默认为去除空白符。

10. random库:
>>> import random
>>> random.choice(['apple', 'pear', 'banana'])'apple'
>>> random.sample(range(100), 10)   # sampling without replacement
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>>> random.random()    # random float
0.17970987693706186
>>> random.randrange(6)    # random integer chosen from range(6)4

11.后面可以不用看了

标签: none

添加新评论