python核心编程第二版笔记_第1页
python核心编程第二版笔记_第2页
python核心编程第二版笔记_第3页
python核心编程第二版笔记_第4页
python核心编程第二版笔记_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、python核心编程-笔记(很详细,建议收藏)解释器options:1.1 d 提供调试输出1.2 O 生成优化的字节码(生成.pyo文件)1.3 S 不导入site模块以在启动时查找python路径1.4 v 冗余输出(导入语句详细追踪)1.5 m mod 将一个模块以脚本形式运行1.6 Q opt 除法选项(参阅文档)1.7 c cmd 运行以命令行字符串心事提交的python脚本1.8 file 以给定的文件运行python脚本2 _在解释器中表示最后一个表达式的值.3 print支持类c的printf格式化输出: print “%s is number %d!” % (“python”

2、, 1)4 print的输入内容后面加逗号, 就会使其输入不换行5 把输出重定向到日志文件:logfile = open(“c:/1.log”, “a”); /打开文件c:/1.log使用a模式.即add, 添加.print logfile, “Fatal error: invalid input!”; 为重定向.将print的结果重定向到logfile, 输出内容是”Fatal error: invalid input!”logfile.close(); /关闭文件流6 程序输入: raw_input(“提示字符串”): user = raw_input(“请输入您的姓名”);7 int(数

3、值).将数值字符串转换成整数值8 运算符:8.1 + - * / %是和其他语言相同的加减乘及取模运算.取余运算8.2 / 在浮点取模中得到的结果是完整的浮点数8.3 / 在浮点取模中得到的结果是经过舍去运算的结果.8.4 * 是乘方8.5 和 和 移位.8.6 = + != 等比较运算符8.7 and or not 等逻辑运算符9 变量和赋值: python是弱类型语言.10 list, tuple, map * 4 得到的结果是一个新的 list | tuple | map, 是原数据的4份11 数字:11.1 int(有符号整数)11.2 long(长整数)11.3 bool(布尔值)1

4、1.4 float(浮点值)11.5 complex(复数)11.6 python2.3开始, 如果结果从int溢出, 会自动转型为long11.7 python2.4开始支持decimal数字类型, 需要导入decimal模块.由于在二进制表示中会有一个无限循环片段, 普通的浮点1.1实际是不能被精确表示的, 被表示为1.00001. 使用print decimal.Decimal(1.1);则可以得到精确的1.112 字符串: 引号之间的字符集合, 支持使用成对的单引号和双引号, 三引号(三个连续单引号或双引号)可以用来包含特殊字符. 使用索引运算符和切片运算符 : 可以得到子字符串字符串

5、中第一个字符的索引是0, 最后一个字符的索引是-1;13 列表和元组: 可以看作是普通的数组, 能保存任意数量任意类型的python对象13.1 列表元素用中括号包裹, 元素的个数及元素的值可以改变.13.2 元组元素用小括号包裹, 不可以更改, 尽管他们的内容可以, 元组可以看成是只读的列表. 可以使用切片运算得到子集.14 字典: 相当于其他语言中的map, 使用key: value的方式表示. 取值的方式和其他语言的map一致. 也可以直接使用mapkey = value的方式为其赋值.15 条件语句:if expression: path 1elif expression2: path

6、2else: path316 while循环while expression: process business17 for循环for item in list|tuple|map: print item17.1 range(len(list)得到一个list长度范围内的整数list, 方便遍历过程中获取索引值.17.2 python2.3中增加了enumerate(), 可以通过它遍历list, 同时得到索引和值for index, data in enumerate(list): print index, “:”, data,17.3 列表解析:expression for target1

7、 in iterable1 if condition1 for target1 in iterable2 if condition2 for target1 in iterable3 if condition3 for target1 in iterable4 if condition4 . . . . . . . . . . . . . . . for targetN in iterableN if conditionN1、列表解析的语法是借鉴函数式编程语言Haskell。2、列表解析的语法形式:表达式+for循环+in+可迭代的对象表达式 for item in iterable 实例:x

8、*2 for x in xrange(10) x*2 for x in xrange(10)0, 2, 4, 6, 8, 10, 12, 14, 16, 183、列表解析的拓展形式:结合if语言表达式 for item in iterable if 条件表达式实例: x*2 for x in xrange(10) if x % 2 != 02, 6, 10, 14, 18 sqdEvens = x * 2 for x in range(8) if not x % 2, 获取一个序列, 该序列是0-8的数字中所有x%2为0(false)的x的平方18 文件和内建函数: open(), file(

9、)18.1 handle = open(file_name, access_mode = “r”), 只读方式打开文件, 得到的句柄是handle.该方法如果没有提供access_mode, 默认是r19 异常处理: raise可以故意引发异常try: # processexcept IOError, e: # error process20 函数: 如果函数中没有return语句, 自动返回None对象def function_name(arguments): “optional document string” function_suite20.1 python的函数调用中参数是引用传递2

10、0.2 可以在定义函数的时候, 在参数列表中通过=设置参数的默认值.21 类:21.1 定义:class class_name: static_variable_name = value def _init_(self, arguments): /operation /self in here is the reference for this class instance def general_method_name(self, arguments): /operation /self is the class instance /if you want to use class vari

11、able, please use like self._class_._name_21.2 实例化: instance = class_name(arguments, );22 模块: 不带.py后缀名的文件名一个模块创建之后, 可以使用import导入这个模块使用.22.1 访问模块内的函数或变量: module_name.function() | module_name.variable | module_name.class_name22.2 sys模块概览22.2.1 sys.stdout.write(Hello World!n) /使用sys模块的标准输出22.2.2 sys.pla

12、tform /返回系统的标记22.2.3 sys.version /返回系统的版本23 PEP: 一个PEP就是一个python增强提案(python enhancement proposal), 是在新版python中增加新特性的方式索引网址是: /dev/peps24 一些常用函数24.1 dir(obj) 显示对象的属性, 如果没有提供参数, 显示全局变量的名字24.2 help(obj) 显示对象的文档, 如果没有参数, 进入交互式帮助24.3 int(obj) 将一个对象转换为整数24.4 len(obj) 返回对象的长度24.5 open(file_

13、name, mode) 以mode(r|w|a)方式打开一个文件24.6 range(start, stop, step) 返回一个整数列表结束值是stop-1, step默认是124.7 raw_input(str) 提示str等待用户输入24.8 str(obj) 将一个对象转换为字符串24.9 type(obj) 返回对象的类型返回值本身是一个type对象24.10 sum(iterable, start=0) 可以对纯数值的list|tuple|map进行求和操作.24.11 dir(object) 如果没有参数获得当前脚本scope内定义的对象, 如果有参数, 返回该对象内部定义的对

14、象, 如果该对象有一个_dir_方法, 该方法将被调用, 并且必须返回属性的列表这就允许通过自定义_getattr_()或_getattribute_()方法的方式实现dir的自定义显示属性列 表.如果没有指定参数, 是根据该对象的_dict_内存字典的最佳聚合信息显示的.24.12 type(object) 参数为空显示, 参数不为空显示该对象的类型24.13 type(name, bases, dict) 通过名称, 基类, 内存字典动态创建一个类型24.14 object_name._doc_ 查看该对象的文档字符串24.15 _doc_ 对象的文档字符串, 该文档字符串在定义对象时写在

15、对象语句块中第一句, 使用单纯的字符串的方式表示24.16 sys.exit() 退出python解释器24.17 append(Object) 给list添加一个元素24.18 os.linesep 返回的是系统换行符不同的系统换行符是不同的, 使用linesep可以提高代码跨平台性24.19 string_variable_name.strip(chars) 脱离, 滤去字符串中的某些字符, 如果没有参数返回原字符串25 数值按进制分为:25.1 二进制: 0b.2 八进制: .3 十进制: .4 十六进制: 0xf2134Python基础(chapter3)1 setence and s

16、yntax语句和语法1.1 #为注释符号1.2 n是标准行分隔符, 通常一个语句一行1.3 反斜线表示下一行继续, 用来将单条语句放入多行尽量使用括号代替1.4 分号;表示将两个语句连接在一行中不提倡1.5 冒号:表示将代码块的头和体分开1.6 语句(代码块)用缩进块方式体现: 同一个代码组的代码必须严格左对齐.由于不同的editor制表符宽度不一, 为了使代码跨平台, 推荐使用4个空格缩进1.7 不同缩进深度分隔不同的代码块1.8 python文件以模块的形式组织: 模块以磁盘文件的形式存在, 不应该让某个模块充斥的太大2 赋值2.1 赋值语句没有返回值, 但可以使用链式赋值2.2 python2.0开始支持增量赋值(算符和等号连接赋值), 但是python不支持+, -2.3 赋值操作中, 可变对象会被直接修改(引用位置值的修改), 不可变对象则被重新赋予新的对象(引用修改)2.4 多元赋值: a, b, c = 1, 2, string, 建议使用t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论