2.2数字类型与字符串
2025-01-02
2.3.1 数字类型
2.3.1.1 整数(int)
整数是没有小数部分的数字,可以是正数、负数或零。
代码演示:
x = 10
y = -20
z = 0
print("x:", x)
print("y:", y)
print("z:", z)
输出:
x: 10
y: -20
z: 0
2.3.1.2 浮动小数(float)
浮点数是可以表示小数部分的数字。
代码演示:
x = 10.5
y = -20.75
z = 0.0
print("x:", x)
print("y:", y)
print("z:", z)
输出:
x: 10.5
y: -20.75
z: 0.0
2.3.1.3 复数类型(complex)
复数类型用于表示具有实部和虚部的数字。
代码演示:
x = 1 + 2j
y = -3 - 4j
print("x:", x)
print("y:", y)
输出:
x: (1+2j)
y: (-3-4j)
2.3.1.4 数字运算
Python支持基本的数学运算符。
代码演示:
a = 10
b = 5
print("加法:", a + b)
print("减法:", a - b)
print("乘法:", a * b)
print("除法:", a / b)
print("取余:", a % b)
print("整除:", a // b)
print("幂运算:", a ** b)
输出:
加法: 15
减法: 5
乘法: 50
除法: 2.0
取余: 0
整除: 2
幂运算: 100000
2.3.1.5 数字的内建函数
Python提供了一些内建函数来操作数字。
代码演示:
x = -10
y = 3.14159
print("绝对值:", abs(x))
print("四舍五入:", round(y, 2))
print("最小值:", min(x, y))
print("最大值:", max(x, y))
输出:
绝对值: 10
四舍五入: 3.14
最小值: -10
最大值: 3.14159
2.3.2 字符串类型
2.3.2.1 字符串的定义与创建
字符串是由字符组成的序列,可以用单引号、双引号或三引号定义。
代码演示:
s1 = '批量小王子'
s2 = "批量小王子"
s3 = """批量小王子"""
print("s1:", s1)
print("s2:", s2)
print("s3:", s3)
输出:
s1: 批量小王子
s2: 批量小王子
s3: 批量小王子
2.3.2.2 字符串的常用操作(索引、切片)
字符串支持索引和切片操作。
代码演示:
s = "批量小王子"
print("索引1:", s[0]) # 索引从0开始
print("切片1-3:", s[1:4])
输出:
索引1: 批
切片1-3: 量小
2.3.2.3 字符串连接与重复
可以使用+
进行字符串连接,使用*
进行字符串重复。
代码演示:
s1 = "批量"
s2 = "小王子"
print("连接:", s1 + s2)
print("重复3次:", s1 * 3)
输出:
连接: 批量小王子
重复3次: 批量批量批量
2.3.2.4 字符串的内建方法
Python提供了许多内建方法来操作字符串。
代码演示:
s = "批量小王子"
print("大写:", s.upper())
print("小写:", s.lower())
print("去除首尾空格:", s.strip())
print("替换:", s.replace("批量", "定制"))
print("分割:", s.split("小"))
print("合并:", " ".join(["批量", "小王子"]))
输出:
大写: 批量小王子
小写: 批量小王子
去除首尾空格: 批量小王子
替换: 定制小王子
分割: ['批量', '王子']
合并: 批量 小王子
2.3.2.5 字符串格式化
Python支持多种字符串格式化方法。
代码演示:
name = "批量小王子"
age = 30
# 使用%格式化
print("%s 今年 %d 岁" % (name, age))
# 使用f-string格式化
print(f"{name} 今年 {age} 岁")
输出:
批量小王子 今年 30 岁
批量小王子 今年 30 岁
2.3.2.6 转义字符
转义字符允许在字符串中包含特殊字符。
代码演示:
s = "Hello\n批量小王子"
print(s)
输出:
Hello
批量小王子
2.3.3 查询数据类型
2.3.3.1 使用type()
函数查询数据类型
type()
函数可以查询变量的数据类型。
代码演示:
x = 10
y = "批量小王子"
print("x的数据类型:", type(x))
print("y的数据类型:", type(y))
输出:
x的数据类型: <class 'int'>
y的数据类型: <class 'str'>
2.3.3.2 使用isinstance()
进行类型检查
isinstance()
函数用于检查变量是否为指定类型。
代码演示:
x = 10
y = "批量小王子"
print("x是否为int类型:", isinstance(x, int))
print("y是否为str类型:", isinstance(y, str))
输出:
x是否为int类型: True
y是否为str类型: True
2.3.3.3 判断数据类型的运用
类型判断可以帮助我们编写更灵活的代码。
代码演示:
def process_value(x):
if isinstance(x, int):
print("x是整数")
elif isinstance(x, str):
print("x是字符串")
else:
print("未知类型")
process_value(10)
process_value("批量小王子")
输出:
x是整数
x是字符串
2.3.4 数据类型转换
2.3.4.1 从字符串转换为数字
可以使用int()
、float()
等函数将字符串转换为数字。
代码演示:
s1 = "10"
s2 = "20.5"
print("字符串转int:", int(s1))
print("字符串转float:", float(s2))
输出:
字符串转int: 10
字符串转float: 20.5
2.3.4.2 从数字转换为字符串
可以使用str()
函数将数字转换为字符串。
代码演示:
x = 10
y = 20.5
print("数字转字符串:", str(x))
print("数字转字符串:", str(y))
输出:
数字转字符串: 10
数字转字符串: 20.5
2.3.4.3 从列表、元组或集合
转换为字典
可以使用dict()
函数将列表、元组或集合转换为字典。
代码演示:
list1 = [("key1", "value1"), ("key2", "value2")]
tuple1 = [("key3", "value3"), ("key4", "value4")]
print("列表转字典:", dict(list1))
print("元组转字典:", dict(tuple1))
输出:
列表转字典: {'key1': 'value1', 'key2': 'value2'}
元组转字典: {'key3': 'value3', 'key4': 'value4'}
2.3.4.4 使用int()
,float()
,str()
等进行显式转换
显式转换可以帮助我们处理不同类型的数据。
代码演示:
x = "10"
y = 20.5
z = "批量小王子"
print("字符串转int:", int(x))
print("浮点数转字符串:", str(y))
print("字符串转float失败:", float(z)) # 这将引发ValueError
输出:
字符串转int: 10
浮点数转字符串: 20.5
字符串转float失败: ValueError: could not convert string to float: '批量小王子'
2.3.5 布尔类型
2.3.5.1 布尔值的定义(True
和False
)
布尔类型只有两个值:True
和False
。
代码演示:
x = True
y = False
print("x:", x)
print("y:", y)
输出:
x: True
y: False
2.3.5.2 布尔值的运算(与、或、非)
布尔运算符包括and
、or
和not
。
代码演示:
x = True
y = False
print("x and y:", x and y)
print("x or y:", x or y)
print("not x:", not x)
输出:
x and y: False
x or y: True
not x: False
2.3.5.3 布尔类型的转换(bool()
)
可以使用bool()
函数将其他类型的值转换为布尔值。
代码演示:
x = 10
y = 0
s1 = "批量小王子"
s2 = ""
print("x的布尔值:", bool(x))
print("y的布尔值:", bool(y))
print("s1的布尔值:", bool(s1))
print("s2的布尔值:", bool(s2))
输出:
x的布尔值: True
y的布尔值: False
s1的布尔值: True
s2的布尔值: False