Head_First_Python
记录些啥
从小白开始学习Python。选择学习参考资料书的理念,要么独特,要么全面。对于记录些啥,我认为我应该会记录作者的一些独特思维、良好方法、优越的理念等,当然也会记录一些自己的理解与思考。另外,我希望记录的东西不太多,零星的一些提示点即可。所以,可能分为两个阶段,先把书读厚,再把书读薄。
原书可从链接下载Head First Python
其中本书的支持文件的下载见本书支持文件下载
正文
0. 引子
- 大脑就范
- 讲出来,大声讲出来。最好可以大声的解释给别人听。
- 要喝水,而且要喝大量的水。有充足的液体大脑就会有最佳的表现。
- 编写大量的软件!
1. 初识python:人人都爱列表
- Python 列表是个高级集合,列表不关心储存类型,它的存在只是为了提供一种储存机制,从而可以采用列表形式储存数据。
- for循环:用于处理列表和其他迭代结构
for循环与基础C不相同
目标标识符 标识符没有类型,但是标识符所指的数据对象有类型。 - 单双引号都可以用来创建字符串,没有区别。对此只有一个规则,如果字符串前面使用了某个引号(单引号或者双引号),那么后面的字符串也要使用同样的引号,不可混合使用。引号要统一可以用“\”或者‘ ’(单引号)引入一个想要表达的双引号
- if语句
- 解决重复代码-----------建立函数:得到代码的一般模式将其变为可重复使用的函数。
- 函数
使用def来定制一个函数。
2. 共享你的代码:函数模块
- python包索引(Python Package Index , PyPI)相关学习见PyPI
进一步熟悉操作 - 注释代码 如果使用了一个三重引号,(’’’…’’’ 或""" …""")而没有将他赋值给一个变量,三重引号之间的所有内容都被认为是一个注释。
- python的模块实现命名空间
- 命名空间 import nester ------ nester
(模块名,识别命名空间).(隔开函数)print_lol()。 - 当然也可以直接improt函数 ----- from nester import print_lol。但是此方法相当于定义了一个print_lol函数。
- 以上两种import导入方式可根据个人喜好使用,
但是“from module import function”形式会搅乱你当前的命名空间,因为当前的命名空间中已经定义的名字会被导入的名字重写。
- 命名空间 import nester ------ nester
- 缺省值的使用意义
缺省值可以在升级函数版本时使用,当我们增加了函数的传递参数时为了更兼容之前的版本,我们利用参数名后面增加一个缺省值,这样就可以多种方式调用这个函数了。 - range()可以与for一起用从而迭代固定次数 for num in range(table_num) ----num目标函数 依次等于range(table_num)的数值
range()的用法- range(start, stop, step)
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) - 实例
>>>range(10) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(1, 11) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> range(