Python 的运算符和语句(条件、循环、异常)基本使用指南

简介: Python 的运算符和语句(条件、循环、异常)基本使用指南

运算符的分类

  • 算数运算符
  • 赋值运算符
  • 复合赋值运算符
  • 比较运算符
  • 逻辑运算符


算数运算符

运算符 描述 实例
+ 1 + 1 输出结果为 2
- 1 - 1 输出结果为 0
* 2 * 2 输出结果为 4
/ 10 / 2 输出结果为 5
// 整除 9 // 4 输出结果为 2
% 取余 9 % 4 输出结果为 1
** 指数 2 ** 4 输出结果为 16,2 * 2 * 2 * 2
() 小括号 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9

注:

  • 混合运算优先级顺序: () ⾼于 ** ⾼于 * / // % ⾼于 + -
  • 由于算术运算符是 双目运算符 ,即有两个操作数参加运算,当参加运算的两个操作数的类型不一致时,首先转换成同一类型,然后进行运算,否则会提示错误。转换的基本规则是:
  • 如果参加算术运算的两个操作数中有一个是 复数 ,则把另一个也转换为复数;
  • 如果两个操作数中有一个是 浮点数 ,则把另一个也换成浮点数;
  • 如果两个操作数中有一个是 长整数 ,则把另一个也转换成长整数。
  • 转换时不同类型之间的转换必须遵守一定转换方向,例如不可以把一个浮点数转换为一个整数,也不能把一个复数转换为其它数值类型。


赋值运算符

  • 单个变量赋值(简单赋值)
num = 1
print ( num )
  • 多个变量赋值(序列赋值)在序列赋值语句中,等号左侧是元组或列表表示的多个变量,等号右侧是元组、列表或字符串等序列表示的数据。Python 按先后顺序依次将数据赋值给变量。
num1, float1, str1 = 10, 0.5, 'hello world'
print(num1)
print(float1)
print(str1)
  • 注:
  • 等号右侧为字符串时,Python 会将字符串分解为单个字符,依次赋值给各个变量,此时,变量个数和字符个数必须相等,否则会出错;
a, b, c, d, f = 'hello'
print(a)
print(b)
print(c)
print(d)
print(f)
  • 序列赋值时,可以在变量名之前使用 *,不带星号的变量仅匹配一个值,剩余的值作为列表赋值给带星号的变量。
a, b, *c = 'hello'
print(a)
print(b)
print(c)
  • 多变量赋相同值(多目标赋值)
a = b = 10
print(a)
print(b)


复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 c += a 等价于 c == c + a
-= 减法赋值运算符 c -= a 等价于 c == c - a
*= 乘法赋值运算符 c *= a 等价于 c == c * a
/= 除法赋值运算符 c /= a 等价于 c == c / a
//= 整除法赋值运算符 c //= a 等价于 c == c // a
%= 取余法赋值运算符 c % = a 等价于 c == c % a
**= 幂赋值运算符 c **= a 等价于 c = c ** a


比较运算符

运算符 描述
== 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则为假(False)
!= 不等于。如果两个操作数的结果不相等,则条件结果为真(True),否则为假(False)
> 运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假
< 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假
>= 运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于等于,则条件为真,否则为假
<= 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于等于,则条件为真,否则为假


逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与":x 和 y 均为 True,则 x and y 为 True,否则为 False True and False,返回 False
or x or y 布尔"或":x 和 y 均为 False,则 x and y 为 False,否则为 True True or False,返回 True
not not x 布尔"非":如果 x 为 True,返回 False。如果 x 为 False,返回 True not True,返回 False


三元运算符

在 Python 中,三元运算符(也称为条件运算符)是一种简洁的方式来编写条件表达式

  • 语法结构如下:
value_if_true if condition else value_if_false
# 示例
x = 10
y = 20
max_value = x if x > y else y   # 输出:20


条件语句(if-elif-else)

  • if 语句
if 条件:
  条件成⽴执⾏的代码1
  条件成⽴执⾏的代码2
  ......
  • if…else…
if 条件:
  条件成⽴执⾏的代码
  ......
else:
  条件不成⽴执⾏的代码
  ......
  • 多重判断
if 条件1:
  条件1成⽴执⾏的代码
  ......
elif 条件2:
  条件2成⽴执⾏的代码
  ......
......
else:
  以上条件都不成⽴执⾏执⾏的代码
  • if 嵌套
if 条件1:
  条件1成⽴执⾏的代码
  ......
  if 条件2:
    条件2成⽴执⾏的代码
    ......


循环语句(for、while)

  • for 循环for 循环是 Python 中最常用的循环语句之一,可以遍历任何序列,如一个列表或者一个字符串。基本语法为:
for variable in sequence:
    # 循环体
[else]
  # 循环体
  • variable :表示变量名
  • sequence :表示要遍历的序列
  • 示例:
# 遍历列表或元组
for number in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    print(number**2)
# 遍历字符串
for char in "hello world":
    print(char.upper())
# 遍历字典
d = {'apple': 2, 'banana': 3, 'orange': 4}
for key, value in d.items():
    print(key, value)
# 遍历文件内容
with open('file.txt', 'r') as f: 
    for line in f:
        print(line.strip())
  • while 循环
    基本语法:
while 条件:
    # 循环体
[else]
  # 循环体
  • 示例:
fruits = ['apple', 'banana', 'orange', 'grape']
i = 0
while i < len(fruits):
    print(fruits[i])
    i += 1
  • break 语句可以跳出 for 和 while 的循环体,如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
  • continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
  • pass 语句是空语句,是为了保持程序结构的完整性,pass 不做任何事情,一般用做占位语句


异常的捕获和处理(try-except-finally)

  • try语句和except语句:用于捕获和处理异常
  • try 语句:包含可能会引发异常的代码块。如果在 try 代码块中发生异常,程序将立即跳转到 except 代码块,以执行异常处理操作。
  • except 语句:在 except 语句中,异常对象被赋值给变量 e,可以使用它来获取有关异常的信息。
  • else 语句:可以使用 else 语句来指定当没有异常发生时要执行的代码块
  • finally 语句:指定无论是否发生异常都必须执行的代码块
  • 自定义异常:可以创建自定义异常类,以便根据应用程序需求引发和捕获异常。
  • 代码示例:
# 自定义异常类
class MyCustomError(Exception):
    pass
try:  # 可能会引发异常的代码块
    if some_condition:
        raise MyCustomError("This is a custom error") # 抛出自定义异常
    result = 10 / 0  # 除以零会引发一个异常
except MyCustomError as e:  # 处理自定义异常
    print(f"Custom error occurred: {e}")
except ZeroDivisionError as e:
    print(f"Division by zero error: {e}")
except Exception as e:
    print(f"An error occurred: {e}")
else:  # 当没有异常发生时要执行的代码块
    print(f"Result is {result}")
finally:  # 无论是否发生异常都必须执行的代码块
    print("This code always runs")
相关文章
|
3天前
|
Python
【Python进阶(一)】——异常与错误
【Python进阶(一)】——异常与错误
|
1天前
|
Python 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
3天前
|
Python
【Python操作基础】——运算符
【Python操作基础】——运算符
|
5天前
|
Python Windows
python中的异常与模块
python中的异常与模块
10 1
|
8天前
|
监控 Python
Python中精通异常日志记录
Python中精通异常日志记录
11 0
|
8天前
|
机器学习/深度学习 JSON 数据库
Python每循环一次保存一次结果
Python每循环一次保存一次结果
9 1
|
14天前
|
机器学习/深度学习 算法 数据可视化
Python用KNN(K-近邻)回归、分类、异常值检测预测房价、最优K值选取、误差评估可视化
Python用KNN(K-近邻)回归、分类、异常值检测预测房价、最优K值选取、误差评估可视化
|
15天前
|
Python 容器
Python中的for循环用法详解,一文搞定它
Python中的for循环用法详解,一文搞定它
|
15天前
|
Python
Python中的while循环,知其然知其所以然
Python中的while循环,知其然知其所以然
|
16天前
|
存储 运维 算法
python运算符详解(二)
python运算符详解(二)