ImageVerifierCode 换一换
格式:PDF , 页数:61 ,大小:1.89MB ,
资源ID:3438178      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3438178.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Python非常详细编程笔记.pdf)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Python非常详细编程笔记.pdf

1、1 基本配置及基础语法基本配置及基础语法(1,2 章章)1 Python.exe 的解释器 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 格式化输

2、出:print“%s is number%d!”%(“python”,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=

3、raw_input(“请输入您的姓名”);7 int(数值).将数值字符串转换成整数值 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(长整数)1

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

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

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

7、dEvens=x*2 for x in range(8)if not x%2,获取一个序列,该序列是 0-8的数字中所有 x%2 为 0(false)的 x 的平方 18 文件和内建函数:open(),file()18.1 handle=open(file_name,access_mode=“r”),只读方式打开文件,得到的句柄是handle.该方法如果没有提供 access_mode,默认是 r 19 异常处理:raise 可以故意引发异常 try:#process except IOError,e:#error process 20 函数:如果函数中没有 return 语句,自动返回 No

8、ne 对象 def function_name(arguments):“optional document string”function_suite 20.1 python 的函数调用中参数是引用传递 20.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_me

9、thod_name(self,arguments):/operation /self is the class instance /if you want to use class variable,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.

10、class_name 22.2 sys 模块概览 22.2.1 sys.stdout.write(Hello World!n)/使用 sys 模块的标准输出 22.2.2 sys.platform /返回系统的标记 22.2.3 sys.version /返回系统的版本 23 PEP:一个PEP就是一个python增强提案(python enhancement proposal),是在新版python中增加新特性的方式索引网址是:http:/python.org/dev/peps 24 一些常用函数 24.1 dir(obj)显示对象的属性,如果没有提供参数,显示全局变量的名字 24.2 he

11、lp(obj)显示对象的文档,如果没有参数,进入交互式帮助 24.3 int(obj)将一个对象转换为整数 24.4 len(obj)返回对象的长度 24.5 open(file_name,mode)以 mode(r|w|a)方式打开一个文件 24.6 range(start,stop,step)返回一个整数列表结束值是 stop-1,step 默认是 1 24.7 raw_input(str)提示 str 等待用户输入 24.8 str(obj)将一个对象转换为字符串 24.9 type(obj)返回对象的类型返回值本身是一个 type 对象 24.10 sum(iterable,start

12、=0)可以对纯数值的 list|tuple|map 进行求和操作.24.11 dir(object)如果没有参数获得当前脚本 scope 内定义的对象,如果有参数,返回该对象内部定义的对象,如果该对象有一个_dir_方法,该方法将被调用,并且必须返回属性的列表这就允许通过自定义_getattr_()或_getattribute_()方法的方式实现dir的自定义显示属性列表.如果没有指定参数,是根据该对象的_dict_内存字典的最佳聚合信息显示的.24.12 type(object)参数为空显示,参数不为空显示该对象的类型 24.13 type(name,bases,dict)通过名称,基类,内

13、存字典动态创建一个类型 24.14 object_name._doc_ 查看该对象的文档字符串 24.15 _doc_ 对象的文档字符串,该文档字符串在定义对象时写在对象语句块中第一句,使用单纯的字符串的方式表示 24.16 sys.exit()退出 python 解释器 24.17 append(Object)给 list 添加一个元素 24.18 os.linesep 返回的是系统换行符不同的系统换行符是不同的,使用linesep可以提高代码跨平台性 24.19 string_variable_name.strip(chars)脱离,滤去字符串中的某些字符,如果没有参数返回原字符串 25

14、数值按进制分为:25.1 二进制:0b101010 25.2 八进制:07167 25.3 十进制:98767 25.4 十六进制:0 xf2134 Python 基础基础(chapter3)1 setence and syntax 语句和语法 1.1#为注释符号 1.2 n 是标准行分隔符,通常一个语句一行 1.3 反斜线表示下一行继续,用来将单条语句放入多行尽量使用括号代替 1.4 分号;表示将两个语句连接在一行中不提倡 1.5 冒号:表示将代码块的头和体分开 1.6 语句(代码块)用缩进块方式体现:同一个代码组的代码必须严格左对齐.由于不同的editor 制表符宽度不一,为了使代码跨平台

15、,推荐使用 4 个空格缩进 1.7 不同缩进深度分隔不同的代码块 1.8 python 文件以模块的形式组织:模块以磁盘文件的形式存在,不应该让某个模块充斥的太大 2 赋值 2.1 赋值语句没有返回值,但可以使用链式赋值 2.2 python2.0 开始支持增量赋值(算符和等号连接赋值),但是 python 不支持+,-2.3 赋值操作中,可变对象会被直接修改(引用位置值的修改),不可变对象则被重新赋予新的对象(引用修改)2.4 多元赋值:a,b,c=1,2,string,建议使用 tuple 的方式进行多元赋值:(a,b,c)=(1,2,string)3 swap 操作:x,y=y,x 4

16、标识符 4.1 大小写敏感 4.2 python 的关键字列表和 iskeyword()函数在 keyword 模块,方便查阅 4.3 内建:built-in 可以看作是系统保留字.对于一些内建函数需要覆盖(重定义,替换)built-in 是_builtins_模块的成员,该模块由解释器自动导入 4.4 python 不支持重载 4.5 下划线:作为变量前缀和后缀指定特殊变量 4.5.1 _xxx:不用from module import*导入 4.5.2 _xxx_:系统定义名字 4.5.3 _xxx:类中的私有变量名 5 python 之禅 The Zen of Python,by Tim

17、 Peters python 之禅.作者 Tim Peters Beautiful is better than ugly.漂亮胜于丑陋 Explicit is better than implicit.详尽胜于含蓄 Simple is better than complex.简单胜于复杂 Complex is better than complicated.组合胜于复杂(结构)Flat is better than nested.单一胜于嵌套 Sparse is better than dense.稀少胜于繁杂 Readability counts.可读性价值 Special cases a

18、rent special enough to break the rules.特例不足以违反规则 Although practicality beats purity.实践胜于理论 Errors should never pass silently.错误可能从不沉默 Unless explicitly silenced.除非明白沉默 In the face of ambiguity,refuse the temptation to guess.面对歧义,不被猜想诱惑 There should be one-and preferably only one-obvious way to do it

19、.可能仅有一种更好的方法 Although that way may not be obvious at first unless youre Dutch.Now is better than never.现在胜于一切 Although never is often better than*right*now.If the implementation is hard to explain,its a bad idea.难于解释的实现是不好的 If the implementation is easy to explain,it may be a good idea.易于明白的实现可能是个好方

20、案 Namespaces are one honking great idea-lets do more of those!名空间是一个好方案,让我们去超越这些 6 模块组织#起始行#模块文档#模块导入#变量定义#类定义#函数定义#主程序 7 _name_用于指示模块应该如何被加载,如果值是”_main_”说明是主模块,如果是模块名,说明是被导入的 8 主模块测试代码 def main():#business process if(_name_=_main_)main()9 内存管理 9.1 基本 9.1.1 弱类型 动态类型 9.1.2 programmer 不关心内存管理 9.1.3 变量

21、并会被回收 9.1.4 del 语句能够直接释放资源 9.2 变量未初始化不允许使用 9.3 引用计数:对于一个内存堆中的对象,有多少个指针引用它.引用计数就是多少,引用计数为 0 时,该对象可以被垃圾回收器回收 9.3.1 增加 9.3.1.1 对象创建 9.3.1.2 别名创建(引用赋值)9.3.1.3 参数传递(引用传值)9.3.1.4 被容器引用 9.3.2 减少 9.3.2.1 引用生命周期结束 9.3.2.2 对象别名被显示销毁 del y 9.3.2.3 对象别名被赋予其他引用 9.3.2.4 窗口对象本身被销毁 9.3.3 del 9.3.3.1 从现在的名字空间中删除一个别名

22、 9.3.3.2 对象的引用计数减一 9.4 垃圾回收:有对象引用计数为 0,对象被显示告知需要销毁,有内存消耗大户存在导致系统压力较大时,垃圾回收机制运行,清理需要回收的内存区域垃圾回收机制还有一个循环垃圾回收器,确保释放循环引用对象(a引用b,b引用a,导致其引用计数永远不为0)10 将引入的其他模块中常用的变量重新赋予一个本地别名(ls=os.linesep)不仅可以避免冗长的变量名,又可以提高加载速度(因为现在是本地变量了)11 重要的其他模块 11.1 debugger:pdb 允许设置断点,逐行调试,检查堆栈,还支持事后调试 11.2 logger:logging 分紧急,错误,警

23、告,信息,调试五级日志 11.3 profilers:性能测试器 11.3.1 profile:python 编写,测试函数执行时间,每次脚本执行总时间.11.3.2 hotshot:python2.2,c 编写,解决了性能测试过载问题,但需要更多时间生成结果,python2.5 修正了 hotshot 的时间计量 bug 11.3.3 cProfile:python2.5,c 编写,需要较长时间从日志文件载入分析结果,不支持子函数状态细节,某些结果不准 python 对象对象(chapter4)1 python 对象有三个特征:身份和类型是只读的,如果对象支持不支持更新操作,那么值也就是只读

24、的.1.1 身份:唯一的身份标识,可以使用内建函数 id()得到,可以看作是对象的内存地址 1.2 类型:对象的类型决定该对象保存什么类型的值,可以进行什么操作,遵循什么规则.,可以使用内建函数 type()查看 python 对象的类型.1.3 值:对象表示的数据项 2 对象属性:主要有属性,值,相关联的可执行代码(method),一些 python 类型也有数据属性,含有数据属性的对象包括但不限于:类,类实例,模块,复数,文件.3 基础数据类型:数字,整形,布尔型,长整型,浮点型,复数型,字符串,列表,元组,字典.4 其他内建类型:类型,None,文件,集合/固定集合,函数/方法,模块,类

25、 4.1 type(type(1)可以看出类型对象本身也是对象,它的类型是 type 4.2 None的类型是NoneType,NoneType只有一个值,就是None,不支持任何运算也没有任何内建方法,布尔值总返回 False 5 每个对象天生都有布尔值,以下对象的布尔值是 False 5.1 None 5.2 False(bool 类型)5.3 所有值为 0 的数 5.4 空字符串 5.5|()|空列表,空元组,空字典 5.6 用户创建的实例如果定义了 nonzero(_nonzero_()或 length(_len_()且值为 0,那么返回的布尔值也是 False 6 当要获取一个对象的

26、布尔值的时候,首先会调用_nonzero_(必须返回布尔类型或者int类型.)方法,如果实现了该方法,就返回该方法返回的布尔值,如果没有实现该方法,继续调用_len_方法(该方法返回值必须是大于等于 0 的),如果实现了_len_方法,就根据其返回值返回布尔值.7 内部类型:python 内部机制 7.1 代码:编译过的 python 的源代码片段,是可执行对象.通过调用内建函数 compile()可以得到代码对象.代码对象可以被 exec 命令或 eval()内建函数来执行.代码是用户自定义函数的核心,运行期获得上下文._code_是函数的一个属性,函数除了代码这个属性,还有函数名,文档字符

27、串,默认参数,全局命名空间等必须的属性 7.2 帧对象:用于跟踪记录对象 7.3 跟踪记录:用于异常发生时,程序访问跟踪记录对象处理程序.7.4 切片:7.4.1 步进切片 sequence:number number 为负数,倒序显示字符串,正数则正序显示字符串,数值代表显示字符的 step 值.7.4.2 多维切片 sequencestart1:end1,start2:end2 7.4.3 省略切片 sequence,start1:end1 7.4.4 切片对象 使用 slice(start,stop,step)可以创建一个切片对象 7.5 省略对象:用于扩展切片语法,起记号作用.在切片语

28、法中表示省略号,省略对象有一个唯一的名字 Ellipsis,布尔值始终是 True 7.6 Xrange:调用 xrange()生成 Xrange 对象,类似内建函数 range,用于节省内存使用或range 无法完成的超大数据集场合 8 标准类型运算符 8.1 对象值比较 8.1.1 数字根据大小比较 8.1.2 字符串根据字符先后顺序比较 8.1.3 list|tuple|dict 顺序按照其中元素(dict 按照键)比较 8.1.4 链式比较相当于多个比较使用 and 连接 8.1.5 自定义类型对象的比较是引用值比较,也就是 id(object_name)的比较 8.2 对象身份比较

29、8.2.1 is/is not 用来比较两个别名是否引用同一个对象 8.2.2 整数对象和字符串对象是不可变对象 8.3 布尔类型运算符:and,or,not 9 标准类型内建函数 9.1 cmp(obj1,obj2)比较 obj1 和 obj2,根据比较结果返回整数 i,i0 obj10 obj1obj2,i=0 obj1=obj2.自定义类型中通过定义方法_cmp_(target)来实现.使用比较运算符,或直接调用 cmp 时该方法被调用 9.2 type(obj)得到一个对象的类型,返回相应的 type 对象 9.3 str(obj)返回对象适合可读性好的字符串表示在自定义类中使用_st

30、r_(self)返回一个字符串,调用 str(obj)时会被隐式调用 9.4 repr(obj)返回一个对象的字符串表示,repr 返回的字符串通常可以被用于使用 eval 动态创建一个对象.通常 obj=eval(repr(obj)是成立的 9.5,反单引号,obj和 repr(obj)做的事情是一样的.9.6 isinstance(obj,(type,type,)判断 obj 是不是第二个参数 tuple 中的列举的类型的实例 9.7 types 模块提供一些已知的类型 9.8 由于每一种类型都只有一个类型对象,所以,可以使用引用比较代替值比较以提升性能:用 if type(num)is

31、types.IntType 替代 if type(num)=types.IntType 9.9 from-import:只引入某个模块的一部分属性:比如 from types import IntType 这样做可以有效的减少查询次数 9.10 python 的 operator 模块中有绝大多数运算符对应的同功能的函数可供使用.10 类型工厂函数:int(),long(),float(),complex(),str(),Unicode(),basestring(),list(),tuple(),type(),dict(),bool(),set(),frozenset(),object(),c

32、lassmethod(),staticmethod(),super(),property(),file()11 标准类型的分类:11.1 标准类型是”基本内建数据对象原始类型”11.1.1 基本:是 python 的标准或核心 11.1.2 内建:python 默认提供 11.1.3 数据:用于一般数据存储 11.1.4 对象:对象是数据和功能的默认抽象 11.1.5 原始:这些类型提供的是最底层的粒度数据存储 11.1.6 类型:本身就是数据类型 11.2 按存储模型进行分类:11.2.1 标量/原子类型:数值,字符串等可以存储单一字面对象的类型.11.2.2 容器类型:列表,元素,字典等可

33、以存储多个字面变量的类型,python 中的容器类型都可以存储不同类型的元素 11.3 按更新模型进行分类:对象创建之后,值不可以改变,注意:这里是对象,而不是变量 11.3.1 可变类型:列表,字典 11.3.2 不可变类型:数字,字符串,元组 11.4 按访问模型进行分类:访问对象的方式 11.4.1 直接访问:数值 11.4.2 顺序访问:列表,元组,字符串等可以按照索引访问的类型 11.4.3 映射访问:字典 12 不支持的类型:char,byte,pointer 数字数字(chapter5)1 支持的数字类型:整型,长整型,布尔型,双精度浮点型,十进制浮点型和复数 2 整型 2.1 布尔型 包含 True 和 False 两个值的整型 2.2 标准整数类型 0 x 表示十六进制,无前缀表示十进制,0 表示八进制,0b 表示二进制 2.3 长整型 整数后加 L,表示范围与可用内存大

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2