Python学习手册
- 格式:doc
- 大小:43.00 KB
- 文档页数:15
Python学习手册
2014/01/16
第一部分:使用入门
1Python安装与测试
1.1下载地址
1.2安装注意
选择添加系统环境变量
1.3测试
Win+R>cmd>python
2如何运行程序
2.1基本语句
2**8表示2^8;
Windows下可以使用Ctrl+Z来推出Python。
*对于数字来说,表示相乘,对于字符来说表示重复。不懂得话直接在交互模式下尝试。
交互提示模式也是一个测试程组件的地方:引入一个预编码的模块,测试里面的函数,获得当前工作目录的名称。
注意缩进(4个空格);
回车(Enter)两次,多行语句才会执行。
执行python,注意文件后缀为.py。
2.2UNIX可执行脚本(#!)
他们的第一行是特定的。脚本的第一行往往以字符#!开始(常叫做“hash bang”),其后紧跟着机器Python解释器的路径。
他们往往都拥有可执行的权限。Chmod+x 来修改可执行权限。
注意没有后缀名。Unix下运行命令为:
% brain
运行结果: The Bright Side of Life…
2.3Unix env查找技巧
避免硬编码Python解释器的路径,env程序可以通过系统的搜索路径的设置定位Python解释器。这种方式比中的方法更常用。
2.4Windows下input的技巧
在windows系统下,双击后,会一闪而过,这时候就可以使用input()。一般来说input读取标准输入的下一行,如果还没有得到输入,就一直等待输入。从而达到了让脚本暂停的效果。
运行结果:
缺陷:看不到错误信息。
2.5模块导入和重载
每一个以扩展名py结尾的Python源代码文件都是一个模块。
其他模块可以通过导入这个模块读取这个模块的基础知识。
如上import可以运行,但只是在每次会话的第一次运行,在第一次导入之后,其他的导入都不会再工作。(这是有意设计的结果,导入是一个开销很大的操作)
2.6模块的显要特性:属性
作为替代方案,可以通过这样的语句从模块语句中获得变量名:
从技术上讲,from 复制了模块的属性,以便属性能够成为接收者的直接变量。
实际应用中,模块文件往往定义了一个以上的可被外部文件使用的变量名。下面这个例子中定义三个变量,并且在文件内部也对这三个变量进行了调用:
注意,结果显示在括号里,这里面实际是元组。
下面代码返回一个Python字符串的列表:(后面会介绍列表)
dir返回指定模块内部的所有属性:
2.7模块和命名空间
每一个模块文件是一个独立完备的变量包,即一个命名空间。
正是由于模块将变量封装为不同部分,Python具有了能够避免命名冲突的优点。
就目前而言,模块是一个不需要重复输入而可以反复运行代码的方法。
2.8import和reload的使用注意事项
reload是不可传递的,重载一个模块的话只会重载该模块,而不能重载该模块所导入的任何模块。
避免使用reload和import启动程序,这是一个好的建议。
2.9使用exec运行模块文件
更多方法运行模块文件中保存的代码:
exec的优点:不需要导入模块,每次都重新运行文件。
execの缺点:变量值可能会被覆盖
2.10 IDLE用户界面
Ctrl+O打开一个python文件进行编辑
在编辑界面按F5进行运行
IDLE可进行定制,如字体及颜色
IDLE中没有清屏选项
可以开启Debugger功能
使用之前的命令Alt + P 或Alt + N
类型和运算
3Python对象类型
3.1数字
3.2字符串
3.2.1len与字符串截取
3.2.2+ 和 * 运算符
3.2.3不可变性
But we can run expression to make new objects:
3.2.4类型特定的方法
find返回-1表示不存在;>=0则表示第一个匹配的索引位置replace方法并不会改变原来的字符串的值
split方法用于字符串的分割,得到的是list
大小写转换
判断对象类型
#Remove whitespace characters on the right side
#Formating expression(all) 表达式形式或字符串方法调用
3.2.5寻求帮助
# dir方法方法返回一个列表,包含对象所有的属性。由于方法是函数属性,它们也会在这个列表中出现:
# dir方法简单的给出了方法的名称,要查询它们是做什么的,可以使用help函数:
3.2.6编写字符串的其他方法
# 反斜线转义序列表示特殊字符:
\n表示换行,\t表示tab
# python允许字符串包括在双引号或单引号中(它们表示着相同的东西)。
# 也允许在三个引号(单引号或双引号)中包括多行字符串常量。当采用这种方式的时候,所有的行都合并在一起,并在每一行的末尾添加换行符。
三个引号(单引号或双引号)没怎么搞明白
3.2.7模式匹配
3.3列表
无固定大小,大小可变,可修改列表的大小。[]
3.3.1序列操作
3.3.2类型特定的操作
append尾部扩充列表大小
pop移除给定偏移量的一项
sort 默认按照升序进行排序
reverse 对队列进行翻转
Insert 指定位置插入元素
Remove 移除指定元素
3.3.3边界检查
Python不允许引用不存在的元素:
3.3.4嵌套
支持任意的嵌套,能够以任意的组合对其进行嵌套,并可以多个层次进行嵌套:(这个特性的直接应用就是实现矩阵)
3.3.5列表解析
假设我们要从列举的矩阵中提取出第二列。因为矩阵是按照行进行存储的,所以通过简单的索引即可获取行,使用列表解析可以同样简单地获得列:
还可以更复杂,结合运算和条件判断: