9、控制流语句
Python编程语言提供以下类型的决策语句。
编号 | 语句 | 描述 |
|---|---|---|
1 | if语句 | 一个if语句由一个布尔表达式,后跟一个或多个语句组成。 |
2 | if…else语句 | 一个 if 语句可以跟随一个可选的 else 语句,当 if 语句的布尔表达式为 FALSE 时,则 else 语句块将被执行。 |
3 | 嵌套if语句 | 可以在一个 if 或 else 语句中使用一个 if 或 else if 语句。 |
Python编程语言提供以下类型的循环来处理循环需求。
编号 | 循环 | 描述 |
|---|---|---|
1 | while循环 | 在给定条件为 TRUE 时,重复一个语句或一组语句。 它在执行循环体之前测试状态。 |
2 | for循环 | 多次执行一系列语句,并缩写管理循环变量的代码。 |
3 | 嵌套循环 | 可以使用一个或多个循环在 while 或 for 循环中。 |
循环控制语句从正常顺序更改执行。 当执行离开范围时,在该范围内创建的所有自动对象都将被销毁。
Python支持以下控制语句。
编号 | 控制语句 | 描述 |
|---|---|---|
1 | break语句 | 终止循环语句并将执行转移到循环之后的语句。 |
2 | continue语句 | 使循环跳过其主体的剩余部分,并立即重新测试其状态以进入下一次迭代。 |
3 | pass语句 | 当语法需要但不需要执行任何命令或代码时,Python中就可以使用 pass 语句,此语句什么也不做,用于表示“占位”的代码,有关实现细节后面再写 |
11、 Python数字
数字数据类型用于存储数值。它们是不可变数据类型。这意味着,更改数字数据类型的值会导致新分配对象。
当为数字数据类型分配值时,Python将创建数字对象。 例如 -
var1 = 1 var2 = 10
可以使用 del 语句删除对数字对象的引用。 del 语句的语法是 -
del var1 [, var2 [, var3 [...., varN ]]]]
可以使用 del 语句一次删除单个对象或多个对象。 例如 -
del var del var_a , var_b
Python支持不同的数值类型 -
可以以十六进制或八进制形式表示整数 -
复数由一个 a + bj 来表示,它是由实际浮点数的有序对组成,其中 a 是实部, b 是复数的虚部。
数字类型转换
Python可将包含混合类型的表达式内部的数字转换成用于评估求值的常用类型。 有时需要从一个类型到另一个类型执行明确数字转换,以满足运算符或函数参数的要求。
数学函数
Python中包括执行数学计算的函数,如下列表所示 -
编号 | 函数 | 描述 |
|---|---|---|
1 | abs(x) | x 的绝对值, x 与零之间的(正)距离。 |
2 | ceil(x) | x 的上限,不小于 x 的最小整数。 |
3 | cmp(x, y) | 如果 x < y 返回 -1 , 如果 x == y 返回 0 , 或者 如果 x > y 返回 1 。在 Python 3 中已经弃用,可使用 return (x>y)-(x<y) 代替。 |
4 | exp(x) | x 的指数,返回 e 的 x 次幂 |
5 | fabs(x) | x 的绝对值。 |
6 | floor(x) | 不大于 x 的最大整数。 |
7 | log(x) | x 的自然对数( x > 0 )。 |
8 | log10(x) | 以基数为 10 的 x 的对数( x > 0 )。 |
9 | max(x1, x2,…) | 给定参数中的最大值,最接近正无穷大值 |
10 | min(x1, x2,…) | 给定参数中的最小值,最接近负无穷小值 |
11 | modf(x) | 将 x 的分数和整数部分切成两项放入元组中,两个部分与 x 具有相同的符号。整数部分作为浮点数返回。 |
12 | pow(x, y) | x 的 y 次幂 |
13 | round(x [,n]) | x 从小数点舍入到 n 位数。 round(0.5) 结果为 1.0 , round(-0.5) 结果为 -1.0 |
14 | sqrt(x) | x 的平方根( x > 0 )。 |
随机数函数
随机数字用于游戏,模拟,测试,安全和隐私应用。 Python包括以下通常使用的函数。
编号 | 函数 | 描述 |
|---|---|---|
1 | choice(seq) | 来自列表,元组或字符串的随机项目。 |
2 | randrange ([start,] stop [,step]) | 从范围(start, stop, step)中随机选择的元素。 |
3 | random() | 返回随机浮点数 r ( 0 <= r < 1 ) |
4 | seed([x]) | 设置用于生成随机数的整数起始值。在调用任何其他随机模块功能之前调用此函数,返回 None 。 |
5 | shuffle(lst) | 将列表的项目随机化到位置。 返回 None 。 |
6 | uniform(x, y) | 返回随机浮点数 r ( x <= r < y )。 |
三角函数
随机数字用于游戏,模拟,测试,安全和隐私应用。 Python包括以下通常使用的函数。
编号 | 函数 | 描述 |
|---|---|---|
1 | acos(x) | 返回 x 的弧余弦值,以弧度表示。 |
2 | asin(x) | 返回 x 的弧线正弦,以弧度表示。 |
3 | atan(x) | 返回 x 的反正切,以弧度表示。 |
4 | atan2(y, x) | 返回 atan(y / x) ,以弧度表示。 |
5 | cos(x) | 返回 x 弧度的余弦。 |
6 | hypot(x, y) | 返回欧几里得规范, sqrt(x*x + y*y) |
7 | sin(x) | 返回 x 弧度的正弦。 |
8 | tan(x) | 返回 x 弧度的正切值。 |
9 | degrees(x) | 将角度 x 从弧度转换为度。 |
10 | radians(x) | 将角度 x 从角度转换为弧度。 |
数学常数
该模块还定义了两个数学常数 -
编号 | 常量 | 描述 |
|---|---|---|
1 | pi | 数学常数 pi |
2 | e | 数学常数 e |
12、Python字符串
Python将单引号与双引号相同。创建字符串和向一个变量赋值一样简单。 例如 -
var1 = 'Hello World!' var2 = "Python Programming"
1.访问字符串中的值
Python不支持字符类型; 字符会被视为长度为 1 的字符串,因此也被认为是一个子字符串。
要访问子串,请使用方括号的切片加上索引或直接使用索引来获取子字符串。 var2 = "Python Programming" print ( "var2[1:5]: " , var2 [ 1 : 5 ]) # 切片加索引
2.更新字符串
可以通过将变量分配给另一个字符串来“更新”现有的字符串。 新值可以与其原值相关或完全不同的字符串。 例如 - var1 = 'Hello World!' print ( "Updated String :- " , var1 [: 6 ] + 'Python' )
3.转义字符
下表是可以用反斜杠表示法表示转义或不可打印字符的列表。单引号以及双引号字符串的转义字符被解析。
反斜线符号 | 十六进制字符 | 描述/说明 |
|---|---|---|
\a | 0x07 | 铃声或警报 |
\b | 0x08 | 退格 |
\cx | Control-x | |
\C-x | Control-x | |
\e | 0x1b | Escape |
\f | 0x0c | 换页 |
\M-\C-x | Meta-Control-x | |
\n | 0x0a | 新一行 |
\nnn | 八进制符号,其中 n 在0.7范围内 | |
\r | 0x0d | 回车返回 |
\s | 0x20 | 空格 |
\t | 0x09 | 制表符 |
\v | 0x0b | 垂直制表符 |
\x | 字符 x | |
\xnn | 十六进制符号,其中 n 在 0~9 , a~f 或 A~F 范围内 |
4.字符串特殊运算符
假设字符串变量 a 保存字符串值’ Hello ‘,变量 b 保存字符串值’ Python ‘,那么 -
运算符 | 说明 | 示例 |
|---|---|---|
+ | 连接 - 将运算符的两边的值添加 | a + b 结果为 HelloPython |
* | 重复 - 创建新字符串,连接相同字符串的多个副本 | a*2 结果为 HelloHello |
[] | 切片 - 给出指定索引中的字符串值,它是原字符串的子串。 | a[1] 结果为 e |
[:] | 范围切片 - 给出给定范围内的子字符串 | a[1:4] 结果为 ell |
in | 成员关系 - 如果给定字符串中存在指定的字符,则返回 true | 'H' in a 结果为 1 |
not in | 成员关系 - 如果给定字符串中不存在指定的字符,则返回 true | 'Y' not in a 结果为 1 |
r/R | 原始字符串 - 抑制转义字符的实际含义。原始字符串的语法与正常字符串的格式完全相同,除了原始字符串运算符在引号之前加上字母“ r ”。 “ r ”可以是小写( r )或大写( R ),并且必须紧靠在第一个引号之前。 | print(r'\n') 将打印 \n ,或者 print(R'\n') 将打印 \n ,要注意的是如果不加 r 或 R 作为前缀,打印的结果就是一个换行。 |
% | 格式 - 执行字符串格式化 |
5.字符串格式化运算符
以下是可以与 % 符号一起使用的完整符号集列表
编号 | 格式化符号 | 转换 |
|---|---|---|
1 | %c | 字符 |
2 | %s | 在格式化之前通过 str() 函数转换字符串 |
3 | %i | 带符号的十进制整数 |
4 | %d | 带符号的十进制整数 |
5 | %u | 无符号十进制整数 |
6 | %o | 八进制整数 |
7 | %x | 十六进制整数(小写字母) |
8 | %X | 十六进制整数(大写字母) |
9 | %e | 指数符号(小写字母’ e ‘) |
10 | %E | 指数符号(大写字母’ E ‘ |
11 | %f | 浮点实数 |
12 | %g | %f 和 %e |
13 | %G | %f 和 %E |
其他支持的符号和功能如下表所列 -
编号 | 符号 | 功能 |
|---|---|---|
1 | * | 参数指定宽度或精度 |
2 | - | 左对齐 |
3 | + | 显示标志或符号 |
4 | <sp> | 在正数之前留空格 |
5 | # | 根据是否使用“ x ”或“ X ”,添加八进制前导零(‘ 0 ‘)或十六进制前导’ 0x ‘或’ 0X ‘。 |
6 | 0 | 使用零作为左边垫符(而不是空格) |
7 | % | ‘ %% ‘留下一个文字“ % ” |
8 | (var) | 映射变量(字典参数) |
9 | m.n. | m 是最小总宽度, n 是小数点后显示的位数(如果应用) |
6.三重引号
Python中的三重引号允许字符串跨越多行,包括逐字记录的新一行, TAB 和任何其他特殊字符。
三重引号的语法由三个连续的单引号或双引号组成。
7.Unicode字符串
在 Python 3 中,所有的字符串都用Unicode表示。在 Python 2 内部存储为 8 位ASCII,因此需要附加’ u ‘使其成为 Unicode ,而现在不再需要了。
内置字符串方法
Python包括以下内置方法来操作字符串 -
编号 | 方法 | 说明 |
|---|---|---|
1 | capitalize() | 把字符串的第一个字母转为大写 |
2 | center(width, fillchar) | 返回使用 fillchar 填充的字符串,原始字符串以总共 width 列为中心。 |
3 | count(str, beg = 0,end = len(string)) | 计算字符串中出现有多少次 str 或字符串的子字符串(如果开始索引 beg 和结束索引 end ,则在 beg ~ end 范围匹配)。 |
4 | decode(encoding = ‘UTF-8’,errors = ‘strict’) | 使用编码 encoding 解码该字符串。 编码默认为默认字符串 encoding 。 |
5 | encode(encoding = ‘UTF-8’,errors = ‘strict’) | 返回字符串的编码字符串版本; 在错误的情况下,默认是抛出 ValueError ,除非使用’ ignore ‘或’ replace ‘给出错误。 |
6 | endswith(suffix, beg = 0, end = len(string)) | 确定字符串或字符串的子字符串(如果启动索引结束和结束索引结束)都以后缀结尾; 如果是则返回 true ,否则返回 false 。 |
7 | expandtabs(tabsize = 8) | 将字符串中的制表符扩展到多个空格; 如果没有提供 tabize ,则默认为每个制表符为 8 个空格。 |
8 | find(str, beg = 0 end = len(string)) | 如果索引 beg 和结束索引 end 给定,则确定 str 是否在字符串或字符串的子字符串中,如果找到则返回索引,否则为 -1 。 |
9 | index(str, beg = 0, end = len(string)) | 与 find() 相同,但如果没有找到 str ,则引发异常。 |
10 | isalnum() | 如果字符串至少包含 1 个字符,并且所有字符均为数字,则返回 true ,否则返回 false 。 |
11 | isalpha() | 如果字符串至少包含 1 个字符,并且所有字符均为字母,则返回 true ,否则返回 false 。 |
12 | isdigit() | 如果字符串只包含数字则返回 true ,否则返回 false 。 |
13 | islower() | 如果字符串至少包含 1 个字母,并且所有字符均为小写,则返回 true ,否则返回 false 。 |
14 | isnumeric() | 如果 unicode 字符串只包含数字字符,则返回 true ,否则返回 false 。 |
15 | isspace() | 如果字符串只包含空格字符,则返回 true ,否则返回 false 。 |
16 | istitle() | 如果字符串正确“标题单词首字母都大写”,则返回 true ,否则返回 false 。 |
17 | isupper() | 如果字符串至少包含一个可变大小写字符,并且所有可变大小写字符均为大写,则返回 true ,否则返回 false 。 |
18 | join(seq) | 将序列 seq 中的元素以字符串表示合并(并入)到具有分隔符字符串的字符串中。 |
19 | len(string) | 返回字符串的长度 |
20 | ljust(width[, fillchar]) | 返回一个空格填充的字符串,原始字符串左对齐到总共 width 列。 |
21 | lower() | 将字符串中的所有大写字母转换为小写。 |
22 | lstrip() | 删除字符串中的所有前导空格 |
23 | maketrans() | 返回在 translate 函数中使用的转换表。 |
24 | max(str) | 从字符串 str 返回最大字母字符。 |
27 | replace(old, new [, max]) | 如果给定 max 值,则用 new 或最多最大出现替换字符串中所有出现的旧字符( old )。 |
28 | rindex( str, beg = 0, end = len(string)) | 与 index() 相同,但在字符串中向后搜索。 |
29 | rjust(width,[, fillchar]) | 返回一个空格填充字符串,原始字符串右对齐到总共宽度( width )列。 |
30 | rstrip() | 删除字符串的所有尾随空格。 |
31 | split(str= | 根据分隔符 str (空格,如果没有提供)拆分字符串并返回子字符串列表; 如果给定,最多分割为 num 子串。 |
32 | splitlines( num=string.count(‘\n’)))”) | 全部拆分字符串(或 num )新行符,并返回每行的列表,并删除新行符。 |
33 | startswith(str, beg=0,end=len(string)) | 确定字符串或字符串的子字符串(如果给定起始索引 beg 和结束索引 end )以 str 开头; 如果是则返回 true ,否则返回 false 。 |
34 | strip([chars]) | 对字符串执行 lstrip() 和 rstrip() |
35 | swapcase() | 反转在字符串中的所有字母大小写,即小写转大写,大写转小写。 |
36 | title() | 返回字符串的标题版本,即所有单词第一个字母都以大写开头,其余的都是小写的。 |
37 | translate(table, deletechars= | 根据转换表STR(256个字符),除去那些在 del 字符串转换字符串。 |
38 | upper() | 将字符串中的小写字母转换为大写。 |
39 | zfill(width) | 返回原始字符串,左边填充为零,总共有宽度( width )字符; 对于数字 zfill() 保留给定的任何符号(少于一个零)。 |
40 | isdecimal() | 如果unicode字符串只包含十进制字符,则返回 true ,否则返回 false 。 |