news 2026/4/28 16:14:29

Python(运算与操作)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python(运算与操作)

目录

1.运算与操作

1.四则运算

2.取整与取余

3.字符串操作

1.字符串拼接(+)

2.字符串重复(*)

3.索引(从 0 开始)

4.切片 [start:end:step]

5. 常用方法

4.格式化输出

1.传统的 % 格式化(类似 C 语言)

2.format() 方法(Python 2.6+)

3.f-string(Python 3.6+,推荐)

4.控制小数精度


1.运算与操作

1.四则运算

在编程中四则运算包括加、减、乘、除
这些操作可以对整数、浮点数等
数据类型进行计算,用于构建复杂的算法和函数

Python 中的加减乘除与数学中几乎一致,注意除法/的结果总是浮点数(即使能整除)。

# 基本计算 a = 10 b = 3 c = 5 print(a + b) # 加法:13 print(a - b) # 减法:7 print(a * b) # 乘法:30 print(a / b) # 除法:3.3333333333333335 print(a / c) # 除法 / 的结果总是浮点数,即使能整除,2.0

对于四则运算来说,我们可以记住参与计算的有浮点型的话,结果是一定是浮点型;参与计算是整型
的话,结果一定是整型(除法例外)

小技巧:使用+还可以拼接字符串

2.取整与取余

在编程中取整是指无论小数部分是多少,都只保留整数部分
取余是当一个数除以另一个数后,余下的部分
10除以3等于3余1,所以取整结果是3取余结果是1

在处理整数时,经常需要获取整除的商和余数。

  • //:向下取整(floor division),返回整数部分(截断小数)

  • %:取余(modulo),返回余数

a = 17 b = 5 answer1 = a // b # 17 ÷ 5 = 3.4,向下取整 → 3 answer2 = a % b # 17/5=3....2 print(answer1) # 3 print(answer2) # 2

注意:负数时//的结果会向下取整(向负无穷),而不是简单截断。

print(-17 // 5) # -4 (因为 -3.4 向下是 -4) print(-17 % 5) # 3 (满足公式 a = b * (a//b) + (a%b))

3.字符串操作

字符串是 Python 中最常用的数据类型之一。我们可以对字符串进行拼接重复索引访问切片长度获取等操作。

1.字符串拼接(+)

str1 = "Hello" str2 = "World" print(str1 + " " + str2) # Hello World

2.字符串重复(*)

print("Ha" * 3) # HaHaHa

3.索引(从 0 开始)

s = "Python" print(s[0]) # P print(s[3]) # h print(s[-1]) # n(负索引表示倒数)

如果超出范围会报错 IndexError: string index out of range

s = "Python" print(s[6])

4.切片 [start:end:step]

Python 中通过[start:stop:step]对序列(字符串、列表等)进行切片。

  • 第一个冒号:分隔start索引和stop索引。

  • 第二个冒号:分隔stop索引和step步长。

省略某个部分时,使用默认值:

  • start省略 → 从开头(索引 0)开始

  • stop省略 → 一直取到末尾

  • step省略 → 步长为 1

s = "Hello, World!" #不要忽视","后面的空格 print(s[0:5]) # Hello(结束索引不包含) print(s[7:12]) # World print(s[::2]) # Hlo ol!(步长为2) print(s[::-1]) # !dlroW ,olleH(反转字符串)

5. 常用方法

text = " python programming " print(text.upper()) # 全部大写 print(text.strip()) # 去掉首尾空格 print(text.replace("python", "Java")) # 替换 print(len(text)) # 字符串长度

4.格式化输出

在编程中格式化输出,是指按指定的格式输出数据
包括控制输出的格式精度、小数位数,以便更好的展示和处理数据
格式化输出,通常使用占位符和格式说明符,来指定输出的内容和格式

输出信息时,我们经常需要将变量嵌入到字符串中。Python 提供了多种格式化方式。

1.传统的%格式化(类似 C 语言)

name = "Alice" age = 25 print("My name is %s and I am %d years old." % (name, age)) # 输出:My name is Alice and I am 25 years old.

%s→ 字符串 %d→ 整数%f→ 浮点数

2.format()方法(Python 2.6+)

name = "Alice" age = 25 print("My name is {} and I am {} years old.".format(name, age)) # 可以通过位置或名称更灵活地控制 print("I am {1} years old, and my name is {0}.".format(name, age))

3.f-string(Python 3.6+,推荐)

在字符串前加f,用大括号{}直接写入变量或表达式。

name = "Alice" age = 25 print(f"My name is {name} and I am {age} years old.") print(f"10 + 20 = {10 + 20}") # 甚至可以写表达式

f-string 转换机制中的一个关键点:f-string 确实会在最后自动调用str()把结果转为字符串,但这个过程发生在表达式先求值之后。

name = "Alice" age = 25 print(f"10 + 20 = {age + 20}") #可以 print(f"10 + 20 = {name + 20}") #不行

报错 TypeError: can only concatenate str (not "int") to str

{name + age}

  • 表达式是name + age

  • Python 必须先计算这个加法:"Alice" + 25

  • 此时+运算符的规则是:

    • 如果左边是字符串,右边必须是字符串(字符串拼接)

    • 如果左边是数字,右边必须是数字(数字加法)

  • 这里左边是字符串"Alice",右边是整数25,类型不匹配
    表达式求值阶段就抛出TypeError

  • 错误发生在 f-string 还没有机会帮你自动转换之前

4.控制小数精度

pi = 3.1415926 print(f"π ≈ {pi:.2f}") # 保留两位小数 → π ≈ 3.14 print("{:.3f}".format(pi)) # 3.142

{pi:.2f}中:

pi→ 要输出的变量

:→ 表示“接下来是格式规则”

.2f→ 具体格式:f表示固定小数点的浮点数格式,.2表示保留 2 位小数

"{:.3f}"中:

:之前可以是空({}默认取第一个参数)也可以有位置索引如{0:.3f}

:后面的.3f同样表示保留 3 位小数

这里:在 Python 格式化字符串(无论是 f-string 还是.format()方法)中,是一个分隔符,用来引入“格式说明符”(format specifier)
冒号左边是要格式化的对象(或表达式),右边是你想让它“长什么样”的规则。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 16:14:23

告别手动配置:OpCore-Simplify自动化黑苹果EFI生成工具全指南

告别手动配置:OpCore-Simplify自动化黑苹果EFI生成工具全指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾经因为复杂的OpenCo…

作者头像 李华
网站建设 2026/4/28 16:13:21

新概念英语第二册46_Expensive and uncomfortable

Lesson 46: Expensive and uncomfortable 既昂贵又受罪Key words and expressions unload 卸(货)account for 说明,作出解释occur 发生be astonished at 对。。。感到非常吃饭pile …

作者头像 李华
网站建设 2026/4/28 16:08:20

Azure Kinect传感器SDK终极指南:从零开始掌握深度相机开发

Azure Kinect传感器SDK终极指南:从零开始掌握深度相机开发 【免费下载链接】Azure-Kinect-Sensor-SDK A cross platform (Linux and Windows) user mode SDK to read data from your Azure Kinect device. 项目地址: https://gitcode.com/gh_mirrors/az/Azure-Kin…

作者头像 李华