您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Python > Python个人笔记
Python1.概述1)Python是大小写敏感2)注释注释不仅可以用来解释临近的代码,还可以组织代码的运行。一个很好的例子就是Django的settings.py配置文件。任何在#符号右面的内容都是注释.Python至少应当有第一行那样的特殊形式的注释。它被称作组织行——源文件的头两个字符是#!,后面跟着一个程序。这行告诉你的Linux/Unix系统当你执行你的程序的时候,它应该运行哪个解释器。3)在Python中有4种类型的数——整数、长整数、浮点数和复数。2.对象的布尔类型1)可以用bool函数来决定任何Python对象的布尔值bool(x):当且仅当x=0时,返回Falsebool(None)返回Faslebool([None,0])返回Truebool([0,0])返回True3.数字1)Python有两个主要的数值类型:int(整数)和float(浮点数)。【老版本中的整数类型long现在已经被合并到了int】2)另外,还有一个Decimal,但不是内置类型,必须通过decimal模块访问,它的范围比较小,但是更精确。3)内置数据类型int:带符号整数(没有大小限制)4)内置数据类型float:双精度浮点数5)内置数据类型complex:复数(实部+虚部)4.字符串1)单双引号:在双引号中的字符串与单引号中的字符串的使用完全相同。2)使用三引号(’’’或”””):利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。3)转义字符:如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。4)Unicode字符:处理Unicode文本——你只需要在字符串前加上前缀u或U。5)字符串是不可变的6)按字面意义级连字符串:如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,'What\'s''yourname?'会被自动转为What'syourname?。【用“+”效果一样,但效率比较低下。可用方法:a.用字符串的格式化操作符%;b.用jion方法;c.对于列表来说,extend方法也可以把另一个列表的内容加进来(相比list1+=list2,list1.extend(list2)要好得多)】5.标识符的命名1)变量是标识符的例子。标识符是用来标识某样东西的名字。在命名标识符的时候,你要遵循这些规则:标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘_’)。标识符名称的其他部分可以由字母(大写或小写)、下划线(‘_’)或数字(0-9)组成。标识符名称是对大小写敏感的。6.对象:Python把在程序中用到的任何东西都称为对象。7.如何编写Python程序下面是保存和运行Python程序的标准流程。1).打开你最喜欢的编辑器。2).输入例子中的程序代码。3).用注释中给出的文件名把它保存为一个文件。我按照惯例把所有的Python程序都以扩展名.py保存。4).运行解释器命令pythonprogram.py或者使用IDLE运行程序。你也可以使用先前介绍的可执行的方法。8.逻辑行与物理行1)如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。分号表示一个逻辑行/语句的结束。2)强烈建议你坚持在每个物理行只写一句逻辑行。9.运算符:1)**(幂运算)2)/除3)//求余4)~按位翻转5)and布尔“与”6)or布尔“或”7)not布尔“非”8)备注:没有自增/自减运算符(即++,--)10.运算符的优先级(从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)):11.控制语句:在Python中有三种控制流语句——if、for和while。1)if#-*-coding:cp936-*-#Filename:if.pynumber=23grade=int(raw_input('请输入您的成绩:'))ifgrade=90:print'成绩优秀!'elifgrade=80:运算符描述lambdaLambda表达式or布尔“或”and布尔“与”notx布尔“非”in,notin成员测试is,isnot同一性测试,=,,=,!=,==比较|按位或^按位异或&按位与,移位+,-加法与减法*,/,%乘法、除法与取余+x,-x正负号~x按位翻转**指数x.attribute属性参考x[index]下标x[index:index]寻址段f(arguments...)函数调用(experession,...)绑定或元组显示[expression,...]列表显示{key:datum,...}字典显示'expression,...'字符串转换print'成绩良好!'elifgrade=70:print'成绩合格!'else:print'还需要加油哦!'2)while循环【while语句有一个可选的else从句。】#-*-coding:cp936-*-#Filenamewhile.pynumber=99option=Truewhileoption:guess=int(raw_input('请输入一个数字:'))#接受用户的输入ifnumber==guess:print'恭喜您!猜中了!'option=Falseelse:print'抱歉,您没有猜中哦!重来吧!'else:print'谢谢您的参与!'3)for循环【for..in是另外一个循环语句,它在一序列的对象上递归即逐一使用队列中的每个项目】我们所做的只是提供两个数,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跳过当前循环块中的剩余语句,然后继续进行下一轮循环。12.函数1)函数的定义:defsayHello():2)定义全局变量:global关键字;可以使用同一个global语句指定多个全局变量。例如globalx,y,z。3)pass语句在Python中表示一个空的语句块。13.DocStrings:1)Python有一个很奇妙的特性,称为文档字符串,它通常被简称为docstrings。DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!2)惯例:文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。3)你可以使用__doc__(注意双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。14.模块1)模块基本上就是一个包含了所有你定义的函数和变量的文件。2)为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。3)记住,脚本的名称总是sys.argv列表的第一个参数。4)创建字节编译的文件,这些文件以.pyc作为扩展名。字节编译的文件与Python变换程序的中间状态有关。当你在下次从别的程序输入这个模块的时候,.pyc文件是十分有用的——它会快得多,因为一部分输入模块所需的处理已经完成了。另外,这些字节编译的文件也是与平台无关的。5)如果你想要直接输入argv变量到你的程序中(避免在每次使用它时打sys.),那么你可以使用fromsysimportargv语句。如果你想要输入所有sys模块使用的名字,那么你可以使用fromsysimport*语句。这对于所有模块都适用。一般说来,应该避免使用from..import而使用import语句,因为这样可以使你的程序更加易读,也可以避免名称的冲突。6)每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。这在一个场合特别有用——就如前面所提到的,当一个模块被第一次输入的时候,这个模块的主块将被运行。假如我们只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块,我们该怎么做呢?这可以通过模块的__name__属性完成。7)dir():你可以使用内建的dir函数来列出模块定义的标识符。标识符有函数、类和变量。默认地,它返回当前模块的属性列表。a=5#createanewvariable'a'.dela,你将无法再使用变量a——它就好像从来没有存在过一样。15.数据结构1)在Python中有三种内建的数据结构——列表、元组和字典.2)列表:list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。而在Python中,你在每个项目之间用逗号分割。列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表。一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的。常用方法:append(x),insert(x,x),remove(x),pop(),extend(x),sort()3)元组(tuple):元组和列表十分类似,只不过元组和字符串一样是不可变的,即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。len函数可以用来获取元组的长度。含有0个或1个项目的元组。一个空的元组由一对空的圆括号组成,如myempty=()。然而,含有单个元素的元组就不那么简单了。你必须在第一个(唯一一个)项目后跟一个逗号,这样Python才能区分元组和表达式中一个带圆括号的对象。即如果你想要的是一个包含项目2的元组的时候,你应该指明singleton=(2,)。元组与打印语句#!/usr/bin/python#Filename:print_tuple.pyage=22name='Swaroop'print'%sis%dyearsold'%(name,age)print'Whyis%splayingwiththatpython?'%name4)字典:字典是可变的、无序的、大小可变的键值映射,亦称散列表。字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。键值对在字典中以这样的方式标记:d={key1:value1,key2:value2}。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。记住字典中的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前自己对它们排序。5)序列列表、元组和字符串都是序列。序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意
本文标题:Python个人笔记
链接地址:https://www.777doc.com/doc-7027800 .html