阿齐兹的Python学习笔记——初识Python
2018-01-31 20:02
761 查看
初识Python
在命令行中打开Python
在Windows上,输入c:\Python34\python.exe -V34代表Python的版本号,使用大写V,会显示Python的版本。如果没有-V,则直接进入Python解释器,使用quit()命令退出。
在Mac OS X或者Linux中,输入python3 -V
Python的集成开发环境IDLE
包括一个编辑器、一个调试工具、Python Shell、以及Python3在线文档集BIF(built in function):内置函数
Python直接利用缩进指示代码块
print()的作用是把消息显示到标准输出(屏幕)
有效地使用IDLE
TAB完成:按下TAB键,IDLE会提供完成命令的一组建议回退代码语句:Alt+P可以回退到前一个代码语句,Alt+N可以移至下一个代码语句
编辑回退的代码:一旦回退代码语句,就可以编辑之前输入的语句
调整IDLE的首选项
创建简单的Python列表
数据两边加引号,将数据转换为字符串用逗号将列表项与下一项隔开
在列表两边加上开始和结束中括号
使用赋值操作符(=)将列表赋值至一个标识符
movies = ["The Holy Grail", "The Life of Brain", "The Meaning of Life"]
不需要为列表声明类型信息,因为Python的变量标识符没有类型
列表就像数组
创建列表时,解释器会在内存创建一个类似数组的数据结构来存储数据,数据项自上而下堆放(形成一个堆栈)数据项从左到右编号从0到N-1
可以使用中括号记法访问列表数据
print(movies[1])
列表是完备的Python集合对象
可以对一个BIF的结果再调用另一个BIF>>> cast = ["Cleese", "Palin", "Jones", "Idle"] >>> print(cast) ['Cleese', 'Palin', 'Jones', 'Idle'] >>> print(len(cast)) 4 >>> print(cast[1]) Palin
可以使用append()方法在列表的末尾增加一个数据项
可以使用pop()方法从列表末尾删除数据
>>> cast.append("Gilliam") >>> print(cast) ['Cleese', 'Palin', 'Jones', 'Idle', 'Gilliam'] >>> cast.pop() 'Gilliam' >>> print(cast) ['Cleese', 'Palin', 'Jones', 'Idle']
可以使用extend()方法在列表末尾增加一个数据项集合
增加的数据项集合是一个列表,需要用中括号括起
>>> cast.extend(["Gilliam", "Chapman"]) >>> print(cast) ['Cleese', 'Palin', 'Jones', 'Idle', 'Gilliam', 'Chapman']
可以使用remove()方法在列表中找到并删除一个特定的数据项
可以使用insert()方法在某个特定的位置前面增加一个数据项
>>> cast.remove("Chapman") >>> print(cast) ['Cleese', 'Palin', 'Jones', 'Idle', 'Gilliam'] >>> cast.insert(0, "Chapman") >>> print(cast) ['Chapman', 'Cleese', 'Palin', 'Jones', 'Idle', 'Gilliam']
向列表增加更多数据
Python列表可以包含混合类型的数据,可以在列表中存储任意类型的数据Python列表是一个高层集合,设计为存储“相关事物”的集合,不关心这些事物的类型是什么,只提供一种机制,采用列表形式存储数据
处理列表数据
通常需要迭代处理列表,内置的for循环可以很方便地做到这一点使用for循环是可伸缩的,适用于任意大小的列表
>>> fav_movies = ["The Holy Grail", "The Life of Brain"] >>> for each_flick in fav_movies: print(each_flick) The Holy Grail The Life of Brain
for循环处理任意大小的列表
for目标标识符in
列表:
列表处理代码
列表处理代码被称为“组”(suit)
目标标识符(target identifier):每次执行循环代码时,目标标识符都会指示一个不同的数据值,循环会一直迭代,直到处理完列表的所有数据
while循环编写迭代代码
使用while时,必须考虑“状态信息”,这要求使用一个计数标识符>>> count = 0 >>> while count < len(fav_movies): print(fav_movies[count]) count = count+1 The Holy Grail The Life of Brain
值得注意的问题
Python的“越界”: 如果试图访问一个不存在的数据项,Python会给出一个IndexError作为响应字符串的用法: Python中,单引号、双引号都可以用来创建字符串;在字符串中嵌入一个双引号,可以通过 \” 对双引号转义,也可以用单引号引起这个字符串
标识符命名规则:名字可以以一个字母或者一个下划线开头,接下来可以包括任意个字母字符、数字和/或下划线
大小写敏感性:Python代码区分大小写
在列表中存储列表
列表中嵌套列表是可以的,列表中嵌套的列表还可以嵌套下一级列表,实际上可以嵌套任意多级可以使用每个列表自己的列表方法来管理,并使用中括号记法来访问
>>> movies = ["The Holy Grail", 1975, "Terry Jones & Terry Gilliam", 91, ["Graham Chapman", ["Michael Palin", "Jones Cleese", "Terry Gilliam", "Eric Idle", "Terry Jones"]]] >>> print(movies) ['The Holy Grail', 1975, 'Terry Jones & Terry Gilliam', 91, ['Graham Chapman', ['Michael Palin', 'Jones Cleese', 'Terry Gilliam', 'Eric Idle', 'Terry Jones']]] >>> print(movies[4][1][3]) Eric Idle
for循环处理一个包含另一个列表(或多个列表)的列表
for循环只打印外列表的各个数据项,嵌套在内列表的下一层列表会原样打印
>>> for each_item in movies: print(each_item) The Holy Grail 1975 Terry Jones & Terry Gilliam 91 ['Graham Chapman', ['Michael Palin', 'Jones Cleese', 'Terry Gilliam', 'Eric Idle', 'Terry Jones']]
在列表中查找列表
if…else…模式:if
某个条件满足:
"true"组
else:
"false组"
注意有两个冒号,“true”组和“false”组都要缩进
BIF isinstance()
isinstance:可以检查某个特定的标识符是否包含某个特定类型的数据
>>> names = ["Michael", "Terry"] >>> isinstance(names, list) True >>> num_names = len(names) >>> isinstance(num_names, list) False
改进版1.0的for循环处理一个包含另一个列表的列表
>>> for each_item in movies: if isinstance(each_item, list): for nested_item in each_item: print(nested_item) else: print(each_item) The Holy Grail 1975 Terry Jones & Terry Gilliam 91 Graham Chapman ['Michael Palin', 'Jones Cleese', 'Terry Gilliam', 'Eric Idle', 'Terry Jones']
改进版2.0的for循环处理一个包含另一个列表的列表
>>> 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: print(deeper_item) else: print(nested_item) else: print(each_item) The Holy Grail 1975 Terry Jones & Terry Gilliam 91 Graham Chapman Michael Palin Jones Cleese Terry Gilliam Eric Idle Terry Jones
值得注意的问题
查找BIF:在Python或IDLE shell中,键入dir(__builtins__)可以看到Python提供的内置方法列表(builtins前面和后面分别有两个下划线字符)
查看某个BIF做什么:比如说input,可以在shell中键入help(input)
在Python中创建一个函数
def函数名(参数):
函数代码组
参数表是可选的,但是括号少不了
结束括号后面有一个冒号,指示函数代码组开始
函数代码组必须在
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) The Holy Grail 1975 Terry Jones & Terry Gilliam 91 Graham Chapman Michael Palin Jones Cleese Terry Gilliam Eric Idle Terry Jones
Python 3默认为递归深度不能超过100
小结
在命令行或者IDLE中运行Python 3标识符没有类型
列表可以存放任意数据
BIF: print()、len()、isinstance()
for循环、if…else…
如何定义函数
相关文章推荐
- Python学习笔记(初识webpy)
- Python学习笔记 ——正则表达式初识
- python学习笔记六之初识面向对象上(基础篇)
- 【学习笔记】Python初识
- python 3.0学习笔记之一------初识python
- 【python学习笔记】24:scipy扩展库的安装与初识
- Python爬虫(入门+进阶)学习笔记 1-2 初识Python爬虫
- Python个人学习笔记1_初识python_http服务器篇
- python学习笔记 - 初识socket
- 初识python 学习笔记系列1
- 阿齐兹的Python学习笔记——持久存储
- Python学习笔记初识beautifulsoup
- python学习笔记(类比C)---安装与初识python
- Python学习笔记1_初识Python
- 初识python 学习笔记系列1
- 【学习笔记】Python基础-Web 开发初识
- 阿齐兹的Python学习笔记——处理数据
- 阿齐兹的Python学习笔记——Web开发
- Python学习笔记一(初识Python)
- python学习笔记之初识Python