1.

① python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

python分为哪几种语句 python语句分为哪几类_字符串

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_02

② 多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句。但在(),[ ]或{}不需要。

python分为哪几种语句 python语句分为哪几类_字符串_03

python分为哪几种语句 python语句分为哪几类_字符串_04

python数据类型有6个:number数字(有4个类型:int整数、float浮点数、bool布尔、complex复数),string字符串,list列表,tuple元组,set集合,dictionary字典

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

④ 字符串string

(1)单引号与双引号没区别

(2)‘\’ 是转义符

(3)反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 如 r"this is a line with \n" 则\n会显示,并不是换行

(4)字符串可以用 + 运算符直接连在一起,用 * 运算符重复

(5)有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始

(6)Python 没有char类型,一个字符就是长度为 1 的字符串

(7)与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误。

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_05

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_06

python分为哪几种语句 python语句分为哪几类_字符串_07

⑤ print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=" "

python分为哪几种语句 python语句分为哪几类_Python_08

⑥ Python 中的变量不需要声明,但每个变量在使用前都必须赋值。

    在 Python 中,变量就是变量,本身没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

⑦ 一个变量可以通过赋值指向不同类型的对象;

    数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数;

    在混合计算时,Python会把整型转换成为浮点数。

⑧ 与Python字符串不一样的是,列表中的元素是可以改变的

python分为哪几种语句 python语句分为哪几类_Python_09

⑨ 元组

python分为哪几种语句 python语句分为哪几类_迭代器_10

⑩ 字典

python分为哪几种语句 python语句分为哪几类_字符串_11

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_12

python分为哪几种语句 python语句分为哪几类_迭代器_13

2.

① 列表

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_14

python分为哪几种语句 python语句分为哪几类_字符串_15

python分为哪几种语句 python语句分为哪几类_字符串_16

② 迭代器与生成器

(1)迭代器有两个基本的方法:iter() 和 next()

python分为哪几种语句 python语句分为哪几类_Python_17

迭代器对象可以使用常规for语句进行遍历:

python分为哪几种语句 python语句分为哪几类_迭代器_18

也可以使用 next() 函数:

python分为哪几种语句 python语句分为哪几类_字符串_19

自定义迭代器 :把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。

__iter__() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 __next__() 方法并通过 StopIteration 异常标识迭代的完成。

__next__() 方法(Python 2 里是 next())会返回下一个迭代器对象。

如,创建一个返回数字的迭代器,初始值为 1,逐步递增 1:

python分为哪几种语句 python语句分为哪几类_Python_20

StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在 __next__() 方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代:

python分为哪几种语句 python语句分为哪几类_字符串_21

(2)yield 生成器

python分为哪几种语句 python语句分为哪几类_迭代器_22

③ 不定长参数

加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

加了两个星号 ** 的参数会以字典的形式导入。

python分为哪几种语句 python语句分为哪几类_迭代器_23

python分为哪几种语句 python语句分为哪几类_迭代器_24

python分为哪几种语句 python语句分为哪几类_迭代器_25

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_26

python分为哪几种语句 python语句分为哪几类_迭代器_27

注:声明函数时,参数中星号 * 可以单独出现,但*后的参数必须用关键字传入

python分为哪几种语句 python语句分为哪几类_Python_28

python分为哪几种语句 python语句分为哪几类_迭代器_29

④ 匿名函数

python分为哪几种语句 python语句分为哪几类_Python_30

python分为哪几种语句 python语句分为哪几类_Python_31

⑤ 列表推导式

列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。

每个列表推导式都在 for 之后跟一个表达式,然后有零到多个 for 或 if 子句。返回结果是一个根据表达从其后的 for 和 if 上下文环境中生成出来的列表。如果希望表达式推导出一个元组,就必须使用括号。

python分为哪几种语句 python语句分为哪几类_迭代器_32

可以用 if 子句作为过滤器:

python分为哪几种语句 python语句分为哪几类_字符串_33

python分为哪几种语句 python语句分为哪几类_迭代器_34

⑥ 遍历

(1)字典遍历,关键字和值可以使用 items() 方法同时解读

python分为哪几种语句 python语句分为哪几类_Python_35

(2)序列遍历,索引位置和值可以使用 enumerate() 函数同时得到

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_36

当需要同时遍历两个或更多的序列,可以使用 zip() 组合

python分为哪几种语句 python语句分为哪几类_字符串_37

(3)按顺序或倒序来遍历序列

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_38

⑦ 异常

python分为哪几种语句 python语句分为哪几类_Python_39

Python 使用 raise 语句抛出一个指定的异常:

python分为哪几种语句 python语句分为哪几类_字符串_40

 

python分为哪几种语句 python语句分为哪几类_Python_41

如果你只想知道这是否抛出了一个异常,并不想去处理它,那么一个简单的 raise 语句就可以再次把它抛出:

python分为哪几种语句 python语句分为哪几类_迭代器_42

⑧ 类

(1)类对象

python分为哪几种语句 python语句分为哪几类_字符串_43

类有一个名为 __init__() 的特殊方法(构造方法),该方法在类实例化时会自动调用,像下面这样:

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_44

类定义了 __init__() 方法,类的实例化操作会自动调用 __init__() 方法。如下实例化类 MyClass,对应的 __init__() 方法就会被调用:

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_45

当然, __init__() 方法可以有参数,参数通过 __init__() 传递到类的实例化操作上。例如:

python分为哪几种语句 python语句分为哪几类_字符串_46

self代表类的实例,而非类:类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_47

从执行结果可以很明显的看出,self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类。

self 不是 python 关键字,我们把他随意换成其他也是可以正常执行的:

python分为哪几种语句 python语句分为哪几类_迭代器_48

(2)类方法

类的专属方法如下:

python分为哪几种语句 python语句分为哪几类_迭代器_49

在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。

python分为哪几种语句 python语句分为哪几类_迭代器_50

(3)类继承

单继承:

python分为哪几种语句 python语句分为哪几类_字符串_51

多继承:

需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_52

python分为哪几种语句 python语句分为哪几类_字符串_53

(4)类的方法重写

如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法,实例如下:

super()函数是用于调用父类(超类)的一个方法。

python分为哪几种语句 python语句分为哪几类_Python_54

(5)类属性与方法

1)类的私有属性

__private_attrs两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs

2)类的方法

在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,self 代表的是类的实例。

self 的名字并不是规定死的,也可以使用 this,但是最好还是按照约定使用 self。

3)类的私有方法

__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类的外部调用。self.__private_methods

例1

python分为哪几种语句 python语句分为哪几类_字符串_55

例2

python分为哪几种语句 python语句分为哪几类_Python_56

python分为哪几种语句 python语句分为哪几类_字符串_57

(6)类的运算符重载

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_58

⑨ 全局变量与局部变量

Python 中变量的查找顺序:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再去内置中找。

python分为哪几种语句 python语句分为哪几类_Python_59

当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字:

python分为哪几种语句 python语句分为哪几类_迭代器_60

如果要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字了,如下实例:

python分为哪几种语句 python语句分为哪几类_字符串_61

python分为哪几种语句 python语句分为哪几类_迭代器_62

python分为哪几种语句 python语句分为哪几类_迭代器_63

另外有一种特殊情况,假设下面这段代码被运行:

错误信息为局部作用域引用错误,因为 test 函数中的 a 使用的是局部,未定义,所以无法修改。

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_64

修改方法如下:

修改 a 为全局变量

python分为哪几种语句 python语句分为哪几类_字符串_65

或者通过参数传递

python分为哪几种语句 python语句分为哪几类_迭代器_66

Python 中变量的查找顺序:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再去内置中找。

举例

python分为哪几种语句 python语句分为哪几类_迭代器_67

函数 f1() 的作用就是调用函数 f2() 来打印变量int的值。

输出结果为:2

因为 local 中的 int = 2,函数将其打印出来。

现在将函数 f2() 中的 int = 2 删除:

python分为哪几种语句 python语句分为哪几类_迭代器_68

调用函数 f1() 输出结果为:1

因为 local 找不到 int 的值,就去上一层 non-local 寻找,发现 int = 1 并打印。

而进一步删除函数 f1() 中的 int = 1:

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_69

调用函数 f1() 输出结果为:0

因为 local 和 non-local 都找不到 int 的值,便去 global 中寻找,发现 int = 0 并打印。

若继续删除 int = 0这一条件:

python分为哪几种语句 python语句分为哪几类_python分为哪几种语句_70

因为 local、non-local、global 中都没有 int 的值,便去 built-in 中寻找 int 的值, 输出<class 'int'> 。

⑩ python 变量互换

通过创建临时变量:

python分为哪几种语句 python语句分为哪几类_迭代器_71

也可不用临时变量:

python分为哪几种语句 python语句分为哪几类_迭代器_72