Python基础整理
一、Python理解
1、python是一种可跨平台的动态强类型解释性编程语言
(1)动静状态:编译时就知道变量类型的是静态类型;运行时才知道一个变量类型的叫做动态类型
(2)强弱类型:不允许隐式转换的是强类型,允许隐式转换的是弱类型。
(3)解释与编译:将源代码逐条转换成目标代码同时逐条运行的过程叫解释。;将源代码一次性转换成目标代码的过程叫编译
2、python优点
(1)简单:大部分内容就是英语直接翻译过来的意思一致,让你更专注于解决问题并不用去搞明白语言本身
(2)易学:极其容易上手,语法极其简单
(3)免费、开源:可以自由的发布、拷贝、阅读源代码,对于它的改动可以被用于新的软件中
(4)高级语言:不用考虑底层是如何实现的
(5)解释型语言:不需要编译可以直接运行,移植也更容易
(6)面向对象:支持面向过程和面向对象的编程
(7)丰富的库:标准库很庞大,可以处理各种工作(如:正则表达式、文档生成、线程、数据库、HTML、Word等)
(8)规范性:满足pep8格式,强制缩进具有极佳的可读性
(9)可扩展性与可嵌入性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
(8)可移植性:Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行
3、python缺点
(1)运行速度慢:解释性语言通病(可以调用C扩展或直接使用CPyhon解决)
(2)不能加密:由于开源的原因(对于不需要将代码给用户的情况可忽略,如web、app应用)
4、python应用场景
(1)web应用开发
(2)操作系统管理、服务器运维的自动化脚本
(3)网络爬虫
(4)科学计算
(5)桌面软件
(6)服务器软件
(7)游戏
二、Python基础(六种标准数据类型)
Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)
| 不可变数据(3 个): | Number(数字) |String(字符串) | Tuple(元组)
| 可变数据(3 个): | List(列表) |Dictionary(字典) | Set(集合)
1、数字(Number)类型
python中数字有四种类型:整数、布尔型、浮点数和复数。
(1)int (整数):如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
(2)bool (布尔):如 True。
(3)float (浮点数),:如 1.23、3E-2
(4)complex (复数):如 1 + 2j、 1.1 + 2.2j
2、字符串(String)
-
python中单引号和双引号使用完全相同。
-
使用三引号(''' 或 """)可以指定一个多行字符串。
-
转义符 \
-
反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。
-
按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
-
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
-
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
-
Python中的字符串不能改变。
-
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
-
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
3、List(列表)
-
List(列表) 是 Python 中使用最频繁的数据类型。
-
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
-
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
-
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
-
列表截取的语法格式如下:
变量[头下标:尾下标] -
索引值以 0 为开始值,-1 为从末尾的开始位置。
-
加号 + 是列表连接运算符,星号 * 是重复操作。
注意: -
1、List写在方括号之间,元素用逗号隔开。
-
2、和字符串一样,list可以被索引和切片。
-
3、List可以使用+操作符进行拼接。
-
4、List中的元素是可以改变的。
4、Tuple(元组)
-
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
-
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
-
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号 -
string、list 和 tuple 都属于 sequence(序列)。
注意: -
1、与字符串一样,元组的元素不能修改。
-
2、元组也可以被索引和切片,方法一样。
-
3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
-
4、元组也可以使用+操作符进行拼接。
5、Set(集合)
-
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
-
基本功能是进行成员关系测试和删除重复元素。
-
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
parame = {value01,value02,...}
或者
set(value)
6、Dictionary(字典)
-
字典(dictionary)是Python中另一个非常有用的内置数据类型。
-
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
-
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
-
键(key)必须使用不可变类型。
-
在同一个字典中,键(key)必须是唯一的。
-
构造函数 dict() 可以直接从键值对序列中构建字典
注意: -
1、字典是一种映射类型,它的元素是键值对。
-
2、字典的关键字必须为不可变类型,且不能重复。
-
3、创建空字典使用 { }。
三、Python数据类型转换

四、Python运算符
Python 语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
1、算数运算符

2、比较运算符

3、赋值运算符

4、逻辑运算符

5、位运算符

6、成员运算符

7、身份运算符

8、运算符优先级

五、条件语句
1、if、elif、else
2、if嵌套
六、循环语句
1、for
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
break 语句用于跳出当前循环体
2、while
while 判断条件(condition):
执行语句(statements)……
3、while 循环使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
4、break 和 continue 语句及循环中的 else 子句
-
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
-
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
-
循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被 break 终止时不执行。
5、pass语句
-
Python pass是空语句,是为了保持程序结构的完整性。
-
pass 不做任何事情,一般用做占位语句,如下实例
>>>while True:
... pass # 等待键盘中断 (Ctrl+C)
七、迭代器与生成器
1、迭代器
-
迭代是Python最强大的功能之一,是访问集合元素的一种方式。
-
迭代器是一个可以记住遍历的位置的对象。
-
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
-
迭代器有两个基本的方法:iter() 和 next()。
-
字符串,列表或元组对象都可用于创建迭代器:
2、创建迭代器
-
把一个类作为一个迭代器使用需要在类中实现两个方法 iter() 与 next() 。
-
如果你已经了解的面向对象编程,就知道类都有一个构造函数,Python 的构造函数为 init(), 它会在对象初始化的时候执行。
-
更多内容查阅:Python3 面向对象
-
iter() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 next() 方法并通过 StopIteration 异常标识迭代的完成。
-
next() 方法(Python 2 里是 next())会返回下一个迭代器对象。
-
创建一个返回数字的迭代器,初始值为 1,逐步递增 1:
3、StopIteration
- StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在 next() 方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代。
4、生成器
在 Python 中,使用了 yield 的函数被称为生成器(generator)。
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
调用一个生成器函数,返回的是一个迭代器对象。

浙公网安备 33010602011771号