笔搜屋

繁体版 简体版
笔搜屋 > python代码 > 第9章 数据

第9章 数据

章节错误,点此举报(免注册),举报后维护人员会在两分钟内校正章节内容,请耐心等待,并刷新页面。

〇解释说明〇

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. 位置

『加入书签,方便阅读』
123456