〇解释说明〇
Python中的数据类型主要分为以下几种:
数值型(Numeric):包括整数(int)、浮点数(float)和复数(complex)。
布尔型(Boolean):表示真或假,只有两个值:True 和 False。
字符串型(String):用于存储文本信息,可以用单引号或双引号括起来。
列表(List):一种有序的集合,可以随时添加和删除其中的元素。
元组(Tuple):类似于列表,但元素不可修改。
集合(Set):无序且不重复的元素集。
字典(Dictionary):键值对形式的数据结构,每个键对应一个值。
(列表元组集合字典前面已经讲过,不再重复)
下面将对这几种数据类型进行介绍。
1)数值型
整数(int):整数是没有小数部分的数字,可以是正数、负数或零。例如:1, -5, 0等。
浮点数(float):浮点数是带有小数部分的数字,可以是正数、负数或零。例如:1.23, -3.14, 0.0等。
复数(complex):复数是由实部和虚部组成的数字,形式为x + yj,其中x是实部,y是虚部,j表示虚数单位。例如:3 + 4j, -2 - 5j等。
代码示例:
# 整数
a = 10
b = -5
c = 0
print("整数:", a, b, c)
# 浮点数
x = 3.14
y = -0.75
z = 0.0
print("浮点数:", x, y, z)
# 复数
p = 1 + 2j
q = -3 - 4j
r = 0 + 0j
print("复数:", p, q, r)
〇转换
Ⅰ整数和浮点数的转换相对简单。
int():将其他数据类型转换为整数,适用于浮点数、只含整数数字的字符串等,转换浮点数时只会保留整数部分,格式为 int(被转换数据)。例如:a = int(5.2)。打印出来就是5。
float():将其他数据类型转换为浮点数,适用于整数、含有小数数字的字符串等,转换整数时会在小数点后保留一位小数,格式为 float(被转换数据)。例如:a = float(5)。打印出来就是5.0。
Ⅱ想要转换复数,步骤要相对复杂,这里以整数为例。
使用复数构造函数complex(real, imag),其中real是实部,imag是虚部。要将复数转换为整数,需要提取实部或虚部并将其转换为整数类型。
# 将整数转换为复数
integer_value = 5
complex_number = complex(integer_value, 0) # 创建一个实部为5,虚部为0的复数
print("Complex number from integer:", complex_number)
# 将复数转换为整数(提取实部)
integer_from_complex = int(complex_number.real) # 提取复数的实部并转换为整数
print("Integer from complex number:", integer_from_complex)
&注意事项&
1.当将整数转换为复数时,虚部默认为0。如果需要其他值,可以在构造函数中指定。
2.当将复数转换为整数时,只提取实部或虚部中的一个,因为整数只能有一个数值。选择哪个部分取决于具体需求。
3.在进行复数和整数之间的转换时,可能会丢失精度或信息,因为整数无法表示复数的全部信息。
4.复数可以与整数进行运算,整数和浮点数不可以直接进行运算。
2)布尔型
布尔值(Boolean)是Python中的一种数据类型,用于表示真或假的值。在Python中,布尔值可以用True和False表示。True表示真,False表示假。布尔值通常用于条件判断和逻辑运算。
代码示例:
# 布尔值示例
a = True
b = False
print(a) # 输出:True
print(b) # 输出:False
# 条件判断
if a:
print("a is True")
else:
print("a is False")
# 逻辑运算
c = a and b # 与运算,只有两个都为True时结果才为True
d = a or b # 或运算,只要有一个为True结果就为True
print(c) # 输出:False
print(d) # 输出:True
结合第八章讲的while循环,可以这样写:
while True:
口print(1)
#程序就会不停地打印1——当然,一般情况下都会设置一个阈值让它停止运行
&注意事项&
python中的布尔值是区分大小写的,即True和false是不同的,前者表示真,后者表示一个未定义的变量。
在条件判断中,除了True和False,其他类型的值也可能被解释为布尔值。例如,非空字符串、非零数字和列表等都会被解释为True,而空字符串、数字0和空列表等会被解释为False。
在进行逻辑运算时,注意运算符的优先级。例如,and运算符的优先级高于or运算符。如果需要改变优先级,可以使用括号。
3)字符串型
在Python中,字符串是由字符组成的有序集合。字符串是不可变的,这意味着一旦创建了字符串,就不能更改它的内容。可以使用单引号或双引号来创建字符串。例如:
str1 = 'hello'
str2 = "world"
还可以使用三引号来创建多行字符串:
multi_line_str = '''This is a multi-line
string in Python.'''
字符串可以通过索引访问单个字符,例如 str1[0] 将返回 'h'。此外,还可以使用切片操作符来获取子字符串,例如 str1[1:4] 将返回 'ell'。
&使用示例&
以下是一些关于字符串的常见操作和示例:
# 创建字符串
my_string = "Hello, World!"
# 访问字符串中的字符
print(my_string[0]) # 输出 'H'
# 切片操作
print(my_string[7:12]) # 输出 'World'
# 字符串拼接
greeting = "Hello"
name = "Alice"
message = greeting + ", " + name + "!"
print(message) # 输出 'Hello, Alice!'
# 字符串长度
length = len(my_string)
print(length) # 输出 13
# 字符串方法
uppercased = my_string.upper() # 转换为大写
print(uppercased) # 输出 'HELLO, WORLD!'
# 查找子字符串
position = my_string.find("World")
print(position) # 输出 7
&注意事项&
1.字符串是不可变的,所以不能直接修改字符串中的某个字符。如果需要修改字符串,可以创建一个新的字符串。
2.字符串索引从0开始,负数索引表示从字符串末尾开始计数。例如,my_string[-1] 将返回字符串的最后一个字符。
3.切片操作时,起始索引是包含的,而结束索引是不包含的。例如,my_string[1:4] 会提取索引为1、2和3的字符。
4.字符串方法有很多,如 lower(), replace(), strip(), split() 等,可以根据需求选择合适的方法进行操作。
〇数据运算〇
在Python中,数据运算主要包括以下几种类型:
Ⅰ算术运算符:用于执行数学/运算,如加、减、乘、除等。
加法:+
减法:-
乘法:*
除法:/
取模(求余数):%
幂运算:**
Ⅱ比较运算符:用于比较两个值的大小关系。
等于:==
不等于:!=
大于:>
小于:<
大于等于:>=
小于等于:<=
Ⅲ逻辑运算符:用于连接多个条件判断语句。
与(and):and
或(or):or
非(not):not
Ⅳ位运算符:用于对二进制位进行操作。
按位与(&):将两个数字的二进制位进行与运算,如果两个相应的二进制位都为1,则该位的结果为1,否则为0。
按位或(|):将两个数字的二进制位进行或运算,如果两个相应的二进制位有一个为1,则该位的结果为1,否则为0。
按位异或(^):将两个数字的二进制位进行异或运算,如果两个相应的二进制位相同,则该位的结果为0,否则为1。
按位取反(~):将数字的二进制位进行取反操作,即0变为1,1变为0。
左移(<<):将数字的二进制位向左移动指定的位数,右边用0填充。
右移(>>):将数字的二进制位向右移动指定的位数,左边用符号位填充。
Ⅴ赋值运算符:用于给变量赋值。
等于(=):将右侧的值赋给左侧的变量。
加等于(+=):将右侧的值与左侧变量相加后再赋值给左侧变量。
减等于(-=):将右侧的值与左侧变量相减后再赋值给左侧变量。
乘等于(*=):将右侧的值与左侧变量相乘后再赋值给左侧变量。
除等于(/=):将右侧的值与左侧变量相除后再赋值给左侧变量。
取模等于(%=):将右侧的值与左侧变量取模后再赋值给左侧变量。
幂等于(**=):将右侧的值与左侧变量进行幂运算后再赋值给左侧变量。
&不知道怎么用?举几个例子。
##算术运算符示例
a = 10
b = 3
print("a + b =", a + b)
print("a % b =", a % b)
##比较运算符示例
if a >= b:
口print('yes')
if a != b:
口print('hello')
##逻辑运算符示例
if a = 3 or b = 3:
口print('yes')
c = [1,2,3]
if a not in c:
口print(a)
##赋值运算符示例
a = 10
b = 20
print("a =", a)
print("b =", b)
a += 5
b /= 2
print("a += 5:", a)
print("b /= 2:", b)
##位运算符示例
x = 12 # 二进制表示为 1100
y = 7 # 二进制表示为 0111
# 按位与(&)示例
result = x & y
print("x & y:", result) # 输出结果为 4,二进制表示为 0100
# 按位异或(^)示例
result = x ^ y
print("x ^ y:", result) # 输出结果为 11,二进制表示为 1011
# 左移(<<)示例
result = x << 2
print("x << 2:", result) # 输出结果为 48,二进制表示为 110000
【注】
result n. 结果
integer n. 整数
value n. 价值
replace v. 代替
strip v. 拆开
split v. 分裂
message n. 信息
position n. 位置