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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Python个人笔记.docx

1、Python个人笔记Python1. 概述1) Python是大小写敏感2) 注释 注释不仅可以用来解释临近的代码,还可以组织代码的运行。一个很好的例子就是Django的settings.py配置文件。 任何在#符号右面的内容都是注释. Python至少应当有第一行那样的特殊形式的注释。它被称作 组织行 源文件的头两个字符是#!,后面跟着一个程序。这行告诉你的Linux/Unix系统当你 执行 你的程序的时候,它应该运行哪个解释器。3) 在Python中有4种类型的数整数、长整数、浮点数和复数。2. 对象的布尔类型1) 可以用bool函数来决定任何Python对象的布尔值 bool(x):当且

2、仅当x=0时,返回False bool(None)返回Fasle bool(None,0)返回True bool(0,0)返回True3. 数字1) Python有两个主要的数值类型:int(整数)和float(浮点数)。【老版本中的整数类型long现在已经被合并到了int】2) 另外,还有一个Decimal,但不是内置类型,必须通过decimal模块访问,它的范围比较小,但是更精确。3) 内置数据类型int:带符号整数(没有大小限制)4) 内置数据类型float:双精度浮点数5) 内置数据类型complex:复数(实部+虚部)4. 字符串1) 单双引号:在双引号中的字符串与单引号中的字符串的

3、使用完全相同。2) 使用三引号(或”): 利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。3) 转义字符:如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。4) Unicode字符:处理Unicode文本你只需要在字符串前加上前缀u或U。5) 字符串是不可变的6) 按字面意义级连字符串:如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,Whats your name?会被自动转为Whats your name?。【用“+”效果一样,但效率比较低下。可用方法:

4、a.用字符串的格式化操作符%;b.用jion方法;c.对于列表来说,extend方法也可以把另一个列表的内容加进来(相比list1 += list2,list1.extend(list2)要好得多)】5. 标识符的命名1) 变量是标识符的例子。 标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则: 标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线( _ )。 标识符名称的其他部分可以由字母(大写或小写)、下划线( _ )或数字(0-9)组成。 标识符名称是对大小写敏感的。6. 对象:Python把在程序中用到的任何东西都称为 对象。7. 如何编写Pyt

5、hon程序下面是保存和运行Python程序的标准流程。1). 打开你最喜欢的编辑器。2). 输入例子中的程序代码。3). 用注释中给出的文件名把它保存为一个文件。我按照惯例把所有的Python程序都以扩展名.py保存。4). 运行解释器命令python program.py或者使用IDLE运行程序。你也可以使用先前介绍的可执行的方法。8. 逻辑行与物理行1) 如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。2) 强烈建议你坚持在每个物理行只写一句逻辑行。9. 运算符:1) *(幂运算)2) /除3) /求余4) 按位翻转

6、5) and 布尔“与”6) or 布尔“或”7) not 布尔“非”8) 备注:没有自增/自减运算符(即+,-)10. 运算符的优先级(从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)):运算符描述lambdaLambda表达式or布尔“或”and布尔“与”not x布尔“非”in,not in成员测试is,is not同一性测试,=,!=,=比较|按位或按位异或&按位与移位+,-加法与减法*,/,%乘法、除法与取余+x,-x正负号x按位翻转*指数x.attribute属性参考xindex下标xindex:index寻址段f(arguments.)函数调用(experession

7、,.)绑定或元组显示expression,.列表显示key:datum,.字典显示expression,.字符串转换11. 控制语句:在Python中有三种控制流语句if、for和while。1) if# -*- coding: cp936 -*-# Filename : if.pynumber = 23grade = int(raw_input(请输入您的成绩:)if grade = 90 : print 成绩优秀!elif grade = 80: print 成绩良好!elif grade = 70 : print 成绩合格!else : print 还需要加油哦!2) while循环【w

8、hile语句有一个可选的else从句。】# -*- coding: cp936 -*-# Filename while.pynumber = 99option = Truewhile option : guess = int(raw_input(请输入一个数字:) #接受用户的输入 if number = guess : print 恭喜您!猜中了! option = False else: print 抱歉,您没有猜中哦!重来吧!else: print 谢谢您的参与!3) for循环【for.in是另外一个循环语句,它在一序列的对象上 递归 即逐一使用队列中的每个项目】 我们所做的只是提供两

9、个数,range返回一个序列的数。这个序列从第一个数开始到第二个数为止。例如,range(1,5)给出序列1, 2, 3, 4。默认地,range的步长为1。如果我们为range提供第三个数,那么它将成为步长。例如,range(1,5,2)给出1,3。记住,range 向上 延伸到第二个数,即它不包含第二个数。 else部分是可选的。如果包含else,它总是在for循环结束后执行一次,除非遇到break语句。4) break语句:如果你从for或while循环中 终止 ,任何对应的循环else块将不执行。5) continue语句:continue语句被用来告诉Python跳过当前循环块中的剩

10、余语句,然后 继续 进行下一轮循环。12. 函数1) 函数的定义:def sayHello():2) 定义全局变量:global关键字;可以使用同一个global语句指定多个全局变量。例如global x, y, z。3) pass语句在Python中表示一个空的语句块。13. DocStrings:1) Python有一个很奇妙的特性,称为 文档字符串 ,它通常被简称为 docstrings 。DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!2) 惯例:文档字符串的惯例是一个多行字符串,它的首行以大

11、写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。3) 你可以使用_doc_(注意双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。14. 模块1) 模块基本上就是一个包含了所有你定义的函数和变量的文件。2) 为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。3) 记住,脚本的名称总是sys.argv列表的第一个参数。4) 创建 字节编译的文件 ,这些文件以.pyc作为扩展名。字节编译的文件与Python变换程序的中间状态有关。当你在下次从别的程序输入这个模块的时候,.pyc文件是十分有用的它会快得多,因为一部分输入模块所需的处理已经完成了。另外,这些

12、字节编译的文件也是与平台无关的。5) 如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用from sys import argv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用from sys import *语句。这对于所有模块都适用。一般说来,应该避免使用from.import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。6) 每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。这在一个场合特别有用就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的

13、时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的_name_属性完成。7) dir(): 你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。 默认地,它返回当前模块的属性列表。 a = 5 # create a new variable a. del a,你将无法再使用变量a它就好像从来没有存在过一样。15. 数据结构1) 在Python中有三种内建的数据结构列表、元组和字典.2) 列表: list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目。 而在Python中,你在每个项目之间用逗号分割。 列表中的项目

14、应该包括在方括号中,这样Python就知道你是在指明一个列表。 一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。 由于你可以增加或删除项目,我们说列表是 可变的 数据类型,即这种类型是可以被改变的。 常用方法:append(x),insert(x,x),remove(x),pop(),extend(x),sort()3) 元组(tuple): 元组和列表十分类似,只不过元组和字符串一样是 不可变的 ,即你不能修改元组。 元组通过圆括号中用逗号分割的项目定义。 元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。 len函数可以用来获取元组的长度

15、。 含有0个或1个项目的元组。一个空的元组由一对空的圆括号组成,如myempty = ()。然而,含有单个元素的元组就不那么简单了。你必须在第一个(唯一一个)项目后跟一个逗号,这样Python才能区分元组和表达式中一个带圆括号的对象。即如果你想要的是一个包含项目2的元组的时候,你应该指明singleton = (2 , )。 元组与打印语句#!/usr/bin/python# Filename: print_tuple.pyage = 22name = Swaroopprint %s is %d years old % (name, age)print Why is %s playing wi

16、th that python? % name4) 字典:字典是可变的、无序的、大小可变的键值映射,亦称散列表。 字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。 注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。 键值对在字典中以这样的方式标记:d = key1 : value1, key2 : value2 。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些

17、都包括在花括号中。 记住字典中的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前自己对它们排序。5) 序列 列表、元组和字符串都是序列。 序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。 切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。 切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。如果不指定第一个数,Python就从序列首开始。如果没有指定

18、第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置 开始 ,刚好在 结束 位置之前结束。6) 参考【个人理解:即引用】 当你创建一个对象并给它赋一个变量的时候,这个变量仅仅 参考 那个对象,而不是表示这个对象本身!也就是说,变量名指向你计算机中存储那个对象的内存。这被称作名称到对象的绑定。#!/usr/bin/env python# Filename: reference.pyprint Simple Assignmentshoplist=apple,mango,carrot,bananamylist=shoplist # mylist is just another name

19、 pointing to the same object!del shoplist0print shoplist is,shoplistprint mylist is,mylist# notice that both shoplist and mylist both print the same list without# the apple confirming that they point to the same objectprint Copy by making a full slicemylist=shoplist: # make a copy by doing a full sl

20、icedel mylist0 # remove first itemprint shoplist is, shoplistprint mylist is, mylist# notice that now the two lists are different 如果你想要复制一个列表或者类似的序列或者其他复杂的对象(不是如整数那样的简单 对象 ),那么你必须使用切片操作符来取得拷贝。7) 字符串 你在程序中使用的字符串都是str类的对象。 startwith方法是用来测试字符串是否以给定字符串开始。 in操作符用来检验一个给定字符串是否为另一个字符串的一部分。 find方法用来找出给定字符串在另

21、一个字符串中的位置,或者返回-1以表示找不到子字符串。 str类也有以一个作为分隔符的字符串join序列的项目的整洁的方法,它返回一个生成的大字符串。 isupper()是否是大写 title()大写每个单词的第一个字母 strip()移除行首行尾的空白符16. 我们可以使用物理行尾的反斜杠来表示逻辑行在下一物理行继续。17. 面向对象:1) 简介 对象可以使用普通的 属于 对象的变量存储数据。 属于一个对象或类的变量被称为域。对象也可以使用 属于 类的函数来具有功能。这样的函数被称为类的方法。这些术语帮助我们把它们与孤立的函数和变量区分开来。域和方法可以合称为类的属性。 域有两种类型属于每个

22、实例/类的对象或属于类本身。它们分别被称为实例变量和类变量。 类使用class关键字创建。类的域和方法被列在一个缩进块中。2) self: 假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)这就是self的原理3) _init_方法: _init_方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。注意,这个名称的开始和结尾都是双下划线。 _init_方法类似

23、于C+、C#和Java中的 constructor 。4) 类与对象的方法: 有两种类型的 域 类的变量和对象的变量,它们根据是类还是对象 拥有 这个变量而区分。 类的变量 由一个类的所有对象(实例)共享使用。只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。 对象的变量 由类的每个对象/实例拥有。因此每个对象有自己对这个域的一份拷贝,即它们不是共享的,在同一个类的不同实例中,虽然对象的变量有相同的名称,但是是互不相关的。 Python中所有的类成员(包括数据成员)都是 公共的 ,所有的方法都是 有效的 。 只有一个例外:如果你使用的数据成员名称以

24、 双下划线前缀 比如_privatevar,Python的名称管理体系会有效地把它作为私有变量。 这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀。而其他的名称都将作为公共的,可以被其他类/对象使用。记住这只是一个惯例,并不是Python所要求的(与双下划线前缀不同)。同样,注意_del_方法与 destructor 的概念类似。5) 举例# -*- coding: cp936 -*-# Filename: extends.py# 成员类 基类class Member: def _init_(self,name,age): self.name = name self.a

25、ge = age print Intinalized Member:,self.name def tell(self): Tell my details. print Name:%s age:%s % (self.name,self.age),# 老师类 继承自成员类class Teacher(Member): I am a teacher. def _init_(self,name,age,salary): Member._init_(self,name,age) self.salary = salary print (Initialized Teacher:%s) % self.name

26、def tell(self): Member.tell(self) print Salary: %d % self.salary# 学生类 继承自成员类class Student(Member): I am a student def _init_(self,name,age,grade): Member._init_(self,name,age) self.grade = grade print (Initialized Student:%s) % self.name def tell(self): Member.tell(self) print Grade: %d % self.grade

27、t = Teacher(X-David,23,9000)s = Student(J-John,21,89)members = t,sfor menber in members: menber.tell()18. 输入和输出1) 读文件:def read_file(file_name): f = file(file_name) while True: line = f.readline() if len(line) = 0: break print line f.close()2) 写文件:def write_file(context,filname): fil = file(filname,w

28、) fil.write(context) fil.close()19. 存储器1) Python提供一个标准的模块,称为pickle。使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为 持久地 储存对象。2) 还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多(比pickle快1000倍)。3) 我们把这两个模块都简称为pickle模块。4) 为了在文件里储存一个对象,首先以写模式打开一个file对象,然后调用储存器模块的dump函数,把对象储存到打开的文件中。这个过程称为 储存 。5) 接下来

29、,我们使用pickle模块的load函数的返回来取回对象。这个过程称为 取储存 。#!/usr/bin/python# Filename: pickling.pyimport cPickle as p#import pickle as pshoplistfile = shoplist.data# the name of the file where we will store the objectshoplist = apple, mango, carrot# Write to the filef = file(shoplistfile, w)p.dump(shoplist, f) # dum

30、p the object to a filef.close()del shoplist # remove the shoplist# Read back from the storagef = file(shoplistfile)storedlist = p.load(f)print storedlist20. 异常:1) try.except 用try.except语句来处理异常。我们把通常的语句放在try-块中,而把我们的错误处理语句放在except-块中。 except从句可以专门处理单一的错误或异常,或者一组包括在圆括号内的错误/异常。如果没有给出错误或异常的名称,它会处理 所有的 错误和异常。对于每个try从句,至少都有一个相关联的exce

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1