今天学习了Head First Python(中文版)这本书的第1章-人人都爱列表,很有意思。好,为了珍惜时间,下边开始干巴巴的笔记:
1. 查看Python版本
1)$python -V(大写) 查看Python2版本
2)$python3 -V
3)$python3 -v 使用小写v会进入Python解释器,Python大小写敏感。
2. 退出Python解释器
使用 >>> quit()
3. 安装Python3时,会得到一个IDLE,这是Python的集成开发环境。IDLE包括一个颜色突出显示语法的编辑器、一个调试工具、Python Shell,以及一个完整的Python3在线文档集。
1)TAB完成
输入一些代码,按TAB键,IDLE会有一些提示。
2)回退代码语句
使用Alt-P和Alt-N来切换前一个(Previous)和下一个(Next)代码语句
Mac使用Ctrl-P和Ctrl-N
4. 创建列表(打了激素的数组)
>>> movies = ["Grail","Brian","Life"]
movies是变量标识符,没有类型。标识符可以以字母或下划线开头,可以包括任意个字母、数字、和/或下划线,不允许有奇怪的字符(如%$),最好使用上下文中有意义的名字,如members、the_time和people。
列表的数据项自下而上堆放,形成一个堆栈。
5. 使用中括号记法访问列表数据
使用"print()"BIF(内置函数)在屏幕上显示一个数据项:>>> print(movies[1])
6. 列表方法
1)>>> print(movies) 显示列表
2)>>> print(len(movies))
3)>>> movies.append("Idle")
4)>>> movies.pop()
5)>>> movies.extend(["Gill","Chap"])
6)>>> movies.remove("Gill")
7)>>> movies.insert(0,"Happ")
8)>>> isinstance(movies,list)
查看Python3中的BIF用 >>> dir(__builtins__),70多个
查看某个BIF(如input())的使用方法用 >>> help(input)
7. 列表可存放任意数据,可以是混合类型,还可以是其他列表。
>>> movies = ["Grail",1975,"Terry",91,["Chap",["Palin","John","Eric"]]]
movies[4]是第2个内列表的起始位置,movies[4][1]是第3个下一级内列表的起始位置。
8. for循环处理任意大小的列表
for 目标标识符 in 列表:
列表处理代码(组suite)
迭代处理一个列表时,for循环比while循环更方便。
使用“while”时,必须考虑“状态信息”,这就要求使用一个计数标识符。
count = 0
while count < len(movies):
print(movies[count])
count = count + 1
使用“for”时,将由Python解释器为你考虑“状态信息”。
for each_item in movies:
print(each_item)
9. 处理多层嵌套列表
for each_item in movies:
if isinstance(each_item,list):
for nested_item in each_item:
if isinstance(nested_item,list):
for deeper_item in nested_item:
if isinstance(deeper_item,list):
for deepest_item in deeper_item:
print(deepest_item)
else:
print(deeper_item)
else:
print(nested_item)
else:
print(each_item)
不要重复代码,应当创建一个函数。
10. 创建函数
函数是一个命名的代码组。
def 函数名(参数):
函数代码组
定义函数
def print_lol(the_list):
for each_item in the_list:
if isinstance(each_item,list):
print_lol(each_item)
else:
print(each_item)
调用函数
>>> print_lol(movies)
递归函数不需要任何改变就可以正确地处理任意深度的嵌套列表。
Python3默认递归深度不超过100,可以改变深度上限。
写完了,下班咯~ ^_^