当前位置:文档之家› Python学习手册

Python学习手册

Python学习手册2014/01/16第一部分:使用入门1Python安装与测试1.1下载地址1.2安装注意选择添加系统环境变量1.3测试Win+R>cmd>python2如何运行程序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列表解析假设我们要从列举的矩阵中提取出第二列。

因为矩阵是按照行进行存储的,所以通过简单的索引即可获取行,使用列表解析可以同样简单地获得列:还可以更复杂,结合运算和条件判断:3.3.6Python的()中的解析语法# 实际上,在中,列表、集合和字典都可以用解析来创建:3.3.7提示:更强大的数值计算可以查看NumPy相关内容3.4字典不是序列,而是映射,可将键映射到值,大小可变,无序。

{}3.4.1映射操作创建字典:3.4.2重访嵌套3.4.3键的排序:for循环注意字典式无序的:序列化输出:有序的:(sorted自动对字典的键进行排序)for循环实现小写转大写:while循环:3.4.4迭代和优化像下面这样的任何列表解析表达式都可以计算一列数字的平方:能够编写成一个等效的for 循环,通过在运行的时手动添加列表来创建最终的列表:尽管这样,列表解析和相关的函数编程工具,如map和filter,通常运行得比for 循环快(也许快了两倍):这是对有大数据结合的程序有重大影响的特性一。

3.4.5不存在的键:if测试3.5元组元组是序列,具有不可变性,编写在圆括号中,支持任意类型,支持嵌套。

3.5.1元组的简单操作3.5.2为什么要用元组元组的关键是不可变性,提供了一种完整性的约束,对于编写大型程序是非常方便的。

3.6文件创建文件,调用内置的open函数:传递一个外部的文件名以及一个处理模式的字符串写操作:读操作:二进制文件3.7其他核心类型【新增】(.集合)3.7.1集合集合、更像是一个无值的字典的键3.7.2十进制数和分数3.7.3布尔值True 对应1False对应0特殊占位符对象None(通常用来初始化名字和对象)3.8如何破坏代码的灵活性(type)允许交互的探究对象,这个函数的实际应用是,允许编写代码来检查它所处理的对象的类型。

实际上,Python脚本中至少有3种方法可以做到这点:但是,判断类型这种做法往往是错误的,因为限制了Python的语法和优势。

3.9用户定义的类4数字4.1Python的数字类型4.1.1数字常量4.1.2内置数学工具和扩展4.1.3Python表达式操作符4.2在实际应用中的数字4.2.1变量和基本的表达式4.2.2数字显示的格式4.2.3比较:一般的和连续的4.2.4str和repr显示格式4.2.5除法:传统除法、Floor除法和真除法4.2.6整数精度4.2.7复数4.2.8十六进制、八进制、二进制记数4.2.9位操作4.2.10其他的内置数学工具4.3其他数字类型4.3.1小数数字4.3.2分数类型4.3.3集合4.3.4布尔型4.4数字扩展5Others5.1命令行下清空python语句,import os 5.2IDLE下运行python文件5.3Python读指定路径下的文件5.4python查找遍历指定文件路径下指定后缀名的文件5.5import与from...import....5.6字典删除操作5.7Python中“ ;”的作用5.8Python/Jython WMI的配置实用教程:5.9 ImportError:No module named win32comprojects/pywin32/files/pywin32/下载安装5.10关于WMIC5.11Jython Beautiful Soup安装下载Beautiful Soup4的源码,拷贝到下面的目录中:5.12Jython下调用java的jar包正常向java那样调用。

相关主题