当前位置:首页>python>【2026零基础学Python - 初级版】第五课:Python语言基础 —运算符与表达式

【2026零基础学Python - 初级版】第五课:Python语言基础 —运算符与表达式

  • 2026-10-02 15:51:38
【2026零基础学Python - 初级版】第五课:Python语言基础 —运算符与表达式

1. 运算符与表达式

在Python编程中,运算符包括算术运算符、赋值运算符、比较运算符、逻辑运算符、身份运算符、成员运算符和位运算符。表达式是由一个或多个常量、变量、函数和运算符组合而成,编程语言可以对其进行解释和计算以得到另一个值。

1.2 算术运算符

Python 中的算术运算符非常丰富,除了加(+)、减(-)、乘()、除(/)之外,还有整除运算符(//)、求模(求余数)运算符(%)和求幂运算符(**);算术运算符主要用于整型和浮点型数据类型的运算。

示例代码:

# 算术运算符a=321b=12print(a + b)     # 加法运算,输出333print(a - b)     # 减法运算,输出309print(a * b)     # 乘法运算,输出3852print(a / b)     # 除法运算,输出26.75print(a // b)    # 整除运算,输出26print(a % b)     # 求模运算,输出9print(a ** b)    # 求幂运算,输出1196906950228928915420617322241

算术运算需要先乘除后加减;如果还有求幂运算,求幂运算的优先级是高于乘除法的。如果想改变算术运算的执行顺序,可以使用英文输入法状态下(小括号),写在小括号中的表达式会被优先执行。代码示例:

# 算术运算的优先级print(2 + 3 * 5)           # 17print((2 + 3) * 5)         # 25print((2 + 3) * 5 ** 2)    # 125print(((2 + 3) * 5) ** 2)  # 625

1.3  赋值运算符

赋值运算符应该是最为常见的运算符,它的作用是将右边的值赋给左边的变量。赋值运算符还可以跟上面的算术运算符放在一起,组合成复合赋值运算符。如下图:

示例代码:

# 赋值运算符和复合赋值运算符a = 10b = 3a += b        # 相当于:a = a + ba *= a + 2    # 相当于:a = a * (a + 2)print(a)      # 大家算一下这里会输出什么

1.4 比较运算符

比较运算符也称关系运算符,用于比较两个表达式的大小,其结果是布尔类型的数据 ,即True或False。

示例代码:

# 比较运算符a=1b=2print(a>b)  # Falseprint(a<=b)  # True

1.5 逻辑运算符

逻辑运算符用于对布尔型变量进行运算,其结果也是布尔型。逻辑运算符有三种:逻辑与(and)、逻辑或(or)、逻辑非(not)。运算关系如下图:

Python语言中,“逻辑与”和“逻辑或”都采用了“短路”设计,所谓的“短路”设计是指“逻辑与”和“逻辑或”在计算过程中,只要结果确定,则不再计算后面的表达式,从而提高了程序的执行效率。如下图:

代码实例:

# 逻辑运算符的使用flag1 = Trueflag2 = Falseprint(flag1 and flag2)   # Falseprint(flag1 or flag2)  # Trueprint(not flag1)    # False

1.6 身份运算符

在 Python 中,身份运算符用于比较两个对象的内存地址是否相同(即判断是否为同一个对象),而不是比较它们的值是否相等。如下图:

示例代码:

# 整数缓存(小整数 -5 到 256 在 CPython 中被预先创建)a = 100b = 100print(a is b)      # True(小整数复用对象)c = 1000d = 1000print(c is d)      # 可能为 True 或 False(取决于实现细节)# 字符串驻留s1 = "hello"s2 = "hello"print(s1 is s2)    # True(字符串字面量可能被复用)# 列表(可变对象)list1 = [1, 2, 3]list2 = [1, 2, 3]print(list1 is list2)   # False(不同对象)print(list1 == list2)   # True(值相等)

注意点:Python的小整数缓存(-5到256)策略:Python 在启动时会预先创建 -5 到 256 之间的所有整数对象,并保存在内存中。当你创建这个范围内的整数时,Python 直接返回已经存在的对象引用,而不是创建新对象。所以上述代码中,变量a和b,用 is 进行比较时,返回值为:True;变量c和d ,用 is 比较时,给出的结论:可能为 True 或 False(取决于实现细节)。请看在交互式环境中运行的结果:

从运行结果看,变量c和d ,用 is 比较时返回值确实为False,也就是说Python只缓存了-5到256所用整数对象,超过256的整数不存在缓存。

身份运算符主要事项:

  • 不要对数字和字符串过度依赖is,因为对象复用行为依赖具体实现
  • 比较值相等性始终要使用==
  • 比较None、True、False时使用is(Python 官方推荐)

1.7 成员运算符

在Python中,成员运算符比较简单,主要用于检查一个值是否存在于某个序列(如字符串、列表、元组、字典、集合等)中。主要有两个:

  • in运算符

检查值是否存在于序列中,存在则返回 True,否则返回 False。

  • not in运算符

检查值是否不存在于序列中,不存在则返回 True,存在则返回 False。

示例代码:

# 成员运算符的使用fruits = ['apple', 'banana', 'orange']print('apple' in fruits)     # Trueprint('grape' in fruits)     # Falseprint('grape' not in fruits) # True# 成员运算符在字典中的应用person = {'name': 'Alice', 'age': 30, 'city': 'New York'}# 检查键(默认行为)print('name' in person)      # Trueprint('Alice' in person)     # False(检查的是键,不是值)print('gender' not in person) # True# 检查值print('Alice' in person.values())   # Trueprint(30 in person.values())        # True

1.7 位运算符

位运算是以二进位(bit)为单位进行运算的,操作数和结果都是整 数类型的数据。如下图:

位运算符主要应用场景:权限系统和状态标志;硬件编程和嵌入式系统;加密算法和哈希函数;性能关键的数值计算;图形学和游戏开发。

示例代码:

# 位运算符的使用a = 0b1010  # 十进制 10b = 0b1100  # 十进制 12# 按位与print(bin(a & b))  # 0b1000 (十进制 8)# 按位或print(bin(a | b))  # 0b1110 (十进制 14)# 按位异或print(bin(a ^ b))  # 0b0110 (十进制 6)# 按位取反print(bin(~a))     # -0b1011 (十进制 -11)# 注意:Python使用无限位数的补码表示# 左移print(bin(a << 1)) # 0b10100 (十进制 20)print(bin(a << 2)) # 0b101000 (十进制 40)# 右移print(bin(a >> 1)) # 0b101 (十进制 5)

1.8  运算符优先级

使用运算符的时候,需要注意运算符的优先级。因此,在创建运算表达式时,小括号的使用是非常重要的,添加或者删除小括号可能会导致表达式的运算结果发生改变。下图为运算符的优先级:

注意事项: 所谓优先级就是在一个运算的表达式中,如果出现了多个运算符,应该先执行什么再执行什么的顺序。编写代码的时候,如果搞不清楚一个表达式中运算符的优先级,可以使用圆括号(小括号)来确保运算的执行顺序。

2. 基本输入和基本输出

2.1 基本输入:input()

语法格式:variable = input(prompt)

prompt 是一个显示在控制台的字符串,提示用户输入数据;用户输入的数据赋值给变量名variable,variable为字符串类型,可以根据需求转换为其他数据类型。如下示例代码:

# 基本用法name = input("请输入你的名字:")# 在控制台输入 壹创客print("您好,我的名字叫{}".format(name)) # 您好,我的名字叫壹创客 
# 类型转换age = int(input("请输入年龄:")) # 转换为整数# 转换为浮点数height = float(input("请输入身高(米):"))

2.2 基本输出:print()

语法格式:print([obj1,obj2...][,sep=' '][,end='\n'])

obj1,obj2...,为输出对象;[ ]表示可以省略的参数,即全部都可以省略;sep表示分隔符,即第一个参数"obj1,obj2..."之间的分隔符,默认为空;end表示结尾符,默认为换行符 "\n"。

2.2.1基本用法:

# 基本用法print("Hello World") # Hello Worldprint(123)  # 123# 输出变量name = "张三"   print(name)  # 张三# 用逗号分隔,输出多个内容print("姓名:", "张三", "年龄:", 18)   # 输出:姓名: 张三 年龄: 18

2.2.2 格式化输出:

  • 使用 f-string(推荐,Python 3.6+)

name = "李四"age = 20print(f"姓名:{name},年龄:{age}")# 输出:姓名:李四,年龄:20# 支持表达式print(f"明年年龄:{age + 1}")
  • 使用format()方法

print("姓名:{},年龄:{}".format("王五", 25))# 输出:姓名:王五,年龄:25
  • 使用%格式化

print("姓名:%s,年龄:%d" % ("赵六", 30))# %s: 字符串, %d: 整数, %f: 浮点数

3. 运算符和表达式应用案例

3.1 华氏温度转摄氏温度

要求:输入华氏温度将其转换为摄氏温度,华氏温度到摄氏温度的转换公式为:C = (F - 32) / 1.8。

# 将华氏温度转换为摄氏温度f = float(input('请输入华氏温度: '))  # float转换为浮点数c = (f - 32) / 1.8print('%.1f华氏度 = %.1f摄氏度' % (f, c))#  %.1f 为浮点数占位符,表示保留一位小数。

3.2 计算圆的周长和面积

要求:输入一个圆的半径(),计算出它的周长(  )和面积(  )。

# 输入半径计算圆的周长和面积radius = float(input('请输入圆的半径: '))perimeter = 2 * 3.1416 * radiusarea = 3.1416 * radius * radiusprint('周长: %.2f' % perimeter)print('面积: %.2f' % area)# %.2f为浮点数占位符,表示保留两位小数。

3.3 判断闰年

要求:输入一个 1582 年以后的年份,判断该年份是不是闰年。

# 输入年份,闰年输出True,平年输出Falseyear = int(input('请输入年份: '))is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0print(f'{is_leap = }')

说明:判断闰年的规则是:1. 公元年份非 4 的倍数是平年;2. 公元年份为 4 的倍数但非 100 的倍数是闰年;3. 公元年份为 400 的倍数是闰年。

总结

通过上面的讲解和案例,相信大家已经感受到了运算符和表达式的力量。实际编程中的很多问题,都需通过构造表达式来解决,所以变量、运算符、表达式对于任何一门编程语言都是极为重要的基础。一定要牢牢掌握,为正式开始我们的项目编程打下坚实的基础。有什么问题请先在评论区留言讨论,我们一起去探讨和学习。祝大家学习愉快!!!

最新文章

随机文章