单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,0,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,0,Python,语言,Python语言,1,第二章 基本语法,2.1 PEP8,风格指南,2.2,变量与数据类型,2.3,表达式,习题,2.4,实验,2.5,小结,第二章 基本语法2.1 PEP8 风格指南2.2 变量与数,2,PEP8,2.1 PEP8,风格指南,Python Enhancement Proposal#8,,是,Python,增强提案(,Python Enhancement Proposals,)中的第,8,号,缩写为,PEP 8,,它是针对,Python,代码格式而编订的风格指南。本节将介绍,PEP8,的部分内容,例如变量、函数和方法、属性和类、模块和包等关键因素的命名规则,以及运算符等相关规定,并强烈建议读者在编写,Python,程序源代码时,应该遵循该指南,可以使项目更利于多人协作,并且后续的维护工作也将变得更容易。,第二章 基本语法,PEP82.1 PEP8 风格指南Python Enhanc,3,2.1.1,变量,全局变量使用英文大写,单词之间加下划线:,SCHOOL_NAME=Tsinghua University#,学校名称,全局变量一般只在模块内有效,实现方法:使用,_All_,机制或添加一个前置下划线。,私有变量使用英文小写和一个前导下划线:,_student_name,内置变量使用英文小写,两个前导下划线和两个后置下划线:,_maker_,一般变量使用英文小写,单词之间加下划线:,class_name,2.1 PEP8,风格指南,第二章 基本语法,2.1.1 变量全局变量使用英文大写,单词之间加下划线:2.,4,2.1.1,变量,变量命名规则:,名称第一字符为英文字母或者下划线,名称第一字符后可以使用英文字母、下划线和数字,名称不能使用,python,的关键字或保留字符,名称区分大小写,单词与单词之间使用下划线连接,2.1 PEP8,风格指南,第二章 基本语法,2.1.1 变量变量命名规则:2.1 PEP8 风格指南第二,5,2.1.1,变量,Python 3,的关键字和保留字,可以从,shell,命令行中查看,方法如下:,import keyword#,导入,keyword,模块,keyword.kwlist#,调用,kwlist,显示保留关键字列表,False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield,2.1 PEP8,风格指南,第二章 基本语法,2.1.1 变量Python 3的关键字和保留字,可以从sh,6,2.1.2,函数和方法,函数名是英文小写,单词之间加下划线,提高可读性。,函数名不能与保留关键字冲突,如果冲突,最好在函数名后面添加一个后置下划线,不要使用缩写或单词拆减,最好的方式是使用近义词代替。,实例方法的第一个参数总是使用,self,。,类方法的第一个参数总是使用,cls,。,2.1 PEP8,风格指南,第二章 基本语法,2.1.2 函数和方法函数名是英文小写,单词之间加下划线,提,7,2.1.3,属性和类,类的命名遵循首字母大写(,CapWords,)的方式,大部分内置的名字都是单个单词(或两个),首字母大写方式只适用于异常名称和内置的常量,模块内部使用的类采用添加前导下划线的方式。,类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线。公有属性不应该有前导下划线,如果公有属性与保留关键字发生冲突,在属性名后添加后置下划线。对于简单的公有数据属性,最好是暴露属性名,不使用复杂的访问属性或修改属性的方法。,如果该类是为了被继承,有不让子类使用的属性,给属性命名时可以给它们加上双前导下划线,不要加后置下划线。,为避免与子类属性命名冲突,在类的一些属性前,前缀两条下划线。比如:类,Faa,中声明,_a,,访问时,只能通过,Faa._Faa_a,,以避免歧义。,2.1 PEP8,风格指南,第二章 基本语法,2.1.3 属性和类类的命名遵循首字母大写(CapWords,8,2.1.4,模块和包,模块命名要使用简短的小写英文的方式,可使用下划线来提高可读性。,包的命名和模块命名类似,但不推荐使用下划线。,模块名对应到文件名,有些模块底层使用,C,或,C+,书写,并有对应的高层,Python,模块,,C/C+,模块名有一前置下划线。,2.1 PEP8,风格指南,第二章 基本语法,2.1.4 模块和包模块命名要使用简短的小写英文的方式,可使,9,2.1.5,规定,下列运算符前后都需使用一个空格:,=+-=type(1)#,查看数值,1,的数据类型,#,返回结果,type(int)#,查看”,int”,的数据类型,#,返回结果,2.2,变量与数据类型,第二章 基本语法,2.2.4 type()函数type()函数是内建的用来,22,2.2.5,数据类型的转换,转换为整型,int,类型:,int(x,base),int(),函数将,x,转换为一个整数,,x,为字符串或数字,,base,进制数,默认为十进制。,int(100.1)#,浮点转整数,100#,返回结果,int(01010101,2)#,二进制转换整数,85#,返回结果,2.2,变量与数据类型,第二章 基本语法,2.2.5 数据类型的转换转换为整型int类型:2.2 变量,23,2.2.5,数据类型的转换,转换为浮点型,float,类型:,float(x),float(),函数将,x,转换为一个浮点数,,x,为字符串或数字,没有参数的时默认返回,0.0,。,float()#,空值转换,0.0#,返回结果,float(1)#,整数转浮点,1.0#,返回结果,float(120)#,字符转浮点,120.0#,返回结果,2.2,变量与数据类型,第二章 基本语法,2.2.5 数据类型的转换转换为浮点型float类型:2.2,24,2.2.5,数据类型的转换,转换为字符串,str,类型:,str(x),str(),函数将对象转化为适于人阅读的形式,,x,为对象,返回值为对象的,string,类型。,x=,今天是晴天,#,定义,x,str(x)#,对,x,进行转换,今天是晴天,#,返回结果,2.2,变量与数据类型,第二章 基本语法,2.2.5 数据类型的转换转换为字符串str类型:2.2 变,25,2.2.5,数据类型的转换,转换为布尔值布尔类型:,bool(x),bool(),函数用于把给定参数转换为布尔类型,返回值为,True,或者,False,,在没有参数的情况下默认返回,False,。,bool()#,空置转布尔类型,False#,返回结果,bool(0)#,整数,0,转布尔值,False#,返回结果,bool(1)#,整数,1,转布尔值,True#,返回结果,bool(100)#,整数,100,转布尔值,True#,返回结果,2.2,变量与数据类型,第二章 基本语法,2.2.5 数据类型的转换转换为布尔值布尔类型:2.2 变量,26,2.2.5,数据类型的转换,Python,中常用的数据类型:整数,(int),、字符串,(str),、布尔值,(bool),、列表,(list),、元组,(tuple),、字典,(dict),、浮点数,(float),、复数,(complex),、可变集合,(set),之间可以按规则互相转化。,2.2,变量与数据类型,第二章 基本语法,2.2.5 数据类型的转换Python中常用的数据类型:整数,27,第二章 基本语法,2.1 PEP8,风格指南,2.2,变量与数据类型,2.3,表达式,习题,2.4,实验,2.5,小结,第二章 基本语法2.1 PEP8 风格指南2.2 变量与数,28,2.3.1,算术运算符,算术运算符主要是用于数字类型的数据基本运算,,Python,支持直接进行计算,也就是可以将,python shell,当计算器来使用。,2.3,表达式,第二章 基本语法,2.3.1 算术运算符算术运算符主要是用于数字类型的数据基本,29,2.3.2,比较运算符,比较运算符用于判断同类型的对象是否相等,比较运算的结果是布尔值,Ture,或,False,,比较时因数据类型不同比较的依据不同。复数不可以比较大小,但可以比较是否相等。,在,Python,中比较的值相同时也不一定是同一个对象。,2.3,表达式,第二章 基本语法,2.3.2 比较运算符 比较运算符用于判断同类型的对象是否相,30,2.3.3,逻辑运算符,逻辑运算符为,and,(与)、,or,(或)、,not,(非)用于逻辑运算判断表达式的,True,或者,False,,通常与流程控制一起使用,2.3,表达式,第二章 基本语法,2.3.3 逻辑运算符逻辑运算符为and(与)、or(或)、,31,2.3.4,复合赋值运算符,复合赋值运算符时将一个变量参与运算的运算结果赋值给改变量,即,a,参加了该运算,运算完成后结果赋值给,a,2.3,表达式,第二章 基本语法,2.3.4 复合赋值运算符复合赋值运算符时将一个变量参与运算,32,2.3.5,运算符优先级,由数值、变量、运算符组合的表达式和数学上相同,是有运算符优先级的,优先级高的运算符先进行运算,同级运算符,自左向右运算,遵从小括号优先原则。等号的同级运算时例外,一般都是自右向左进行运算。,2.3,表达式,第二章 基本语法,2.3.5 运算符优先级由数值、变量、运算符组合的表达式和数,33,第二章 基本语法,2.1 PEP8,风格指南,2.2,变量与数据类型,2.3,表达式,习题,2.4,实验,2.5,小结,第二章 基本语法2.1 PEP8 风格指南2.2 变量与数,34,2.4.1,用常量和变量,常量,,Python,中在程序运行时不会被更改的量称之为常量,一旦初始化后就不能修改的固定值。,Python,中定义常量需要用对象的方法来创建。,2.4,实验,现在有直径为,68cm,的下水道井盖,需要求面积,其中直接使用数学库中的,pi,,,pi,即为,Python,中的常量。,第二章 基本语法,2.4.1 用常量和变量常量,Python中在程序运行时不会,35,2.4.1,用常量和变量,实验实例如下:,from math import*#,引入数学库,pi*(68/2)*2#,计算,3631.681107549801#,计算结果,int(pi*(68/2)*2)#,嵌套转换为,int,类型,3631#,返回取整的结果,2.4,实验,现在有直径为,68cm,的下水道井盖,需要求面积,其中直接使用数学库中的,pi,,,pi,即为,Python,中的常量。,第二章 基本语法,2.4.1 用常量和变量实验实例如下:2.4 实验现在有直径,36,2.4.1,用常量和变量,为,a,、,b,、,c,赋值为“,Python,编程”,“,3.6”,,“,2018”,,然后输出“,2018Python,编程,3.6”,然后计算,b,和,c,的和,在输出,a,的内容。,2.4,实验,变量的使用,Python,中变量不需要声明,使用等号直接赋值,值的数据类型为动态类型,也可以使用等号为多个变量赋值。,第二章 基本语法,2.4.1 用常量和变量为a、b、c赋值为“Python编程,37,2.4.1,用常量和变量,为,a,、,b,、,c,赋值为“,Python,编程”,“,3.6”,,“,2018”,,然后输出“,2018Python,编程,3.6”,然后计算,b,和,c,的和,在输出,a,的内容。,2.4,实验,实验实例如下:,a,