今天学习了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,可以改变深度上限。


写完了,下班咯~  ^_^