Python基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的”类型”是变量所指的内存中对象的类型。

1
2
3
4
5
6
7
counter = 100          # 整型变量
miles = 1000.0 # 浮点型变量
name = "runoob" # 字符串

print (counter)
print (miles)
print (name)

多个变量赋值

1
2
3
a = b = c = 1

a, b, c = 1, 2, "runoob"

可以通过 type() 函数查看变量的类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 变量定义
x = 10 # 整数
y = 3.14 # 浮点数
name = "Alice" # 字符串
is_active = True # 布尔值

# 多变量赋值
a, b, c = 1, 2, "three"

# 查看数据类型
print(type(x)) # <class 'int'>
print(type(y)) # <class 'float'>
print(type(name)) # <class 'str'>
print(type(is_active)) # <class 'bool'>

标准数据类型

Python3 中常见的数据类型有:Number(数字)、String(字符串)、bool(布尔类型)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

**可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)。

Number(数字)

Python3 支持 int、float、bool、complex(复数)

Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True等于1、False等于0

1
2
3
4
5
counter = 100        
bool1=True
bool2=False
print (counter+bool1) #101
print (counter+bool2) #100

数值运算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> 5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 整除,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32

数值类型实例

int float complex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3e+18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2E-12 4.53e-7j

二进制 (0b 开头)、八进制 (0o 开头)、十六进制 (0x 开头)

70.2E-12 等价于 70.2 × 10⁻¹² = 0.0000000000702

4.53e-7j 等价于 0 + 4.53e-7j

Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

String(字符串)

Python中的字符串用单引号 或双引号 括起来,同时使用反斜杠 \ 转义特殊字符。

Python中的字符串可以理解为一种特殊的数组,也有索引,不过Python中的字符串还有负索引。

0 1 2 3 4
w e n z i
-5 -4 -3 -2 -1

负索引的核心逻辑是从序列末尾反向定位,通过“负数偏移量”直接访问倒数第n个元素,无需显式计算长度。数学上可理解为:
负索引位置 = 序列长度 + 负索引值(如s[-1]等价于s[len(s)-1])。

利用索引,我们可以对字符串进行切片操作(字符串、列表、元组都支持切片操作。)。

字符串切片基本语法

顾头不顾尾:

1
2
3
4
5
6
字符串/列表/元组名称[开始位置下标:结束位置下标:步长]

numstr = '0123456789'
numstr[0:3:1] # 012 => range方法非常类似,步长:每次前进1步
numstr[0:3:2] # 02 => 每次前进2步
步长可以为负数,正数代表从左向右截取,负数代表从右向左截取

① 不包含结束位置下标对应的数据, 正负整数均可;

② 步长是选取间隔,正负整数均可,正数从左向右,负数从右向左。默认步长为1。

Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串。

另外,反斜杠\可以作为续行符,表示下一行是上一行的延续。也可以使用 “””…””” 或者 ‘’’…’’’ 跨越多行。

Python 没有单独的字符类型,一个字符就是长度为1的字符串。

与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如 word[0] = ‘m’ 会导致错误。

1
2
3
s1="wennzi"
s1="wenzi666"
#这是字符串的重新赋值

bool(布尔类型)

布尔类型即 True 或 False。

布尔类型可以和逻辑运算符一起使用,包括 and、or 和 not。这些运算符可以用来组合多个布尔表达式,生成一个新的布尔值

可以使用 bool() 函数将其他类型的值转换为布尔值。以下值在转换为布尔值时为 FalseNoneFalse、零 (00.00j)、空序列(如 ''()[])和空映射(如 {})。其他所有值转换为布尔值时均为 True

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 使用 bool() 函数进行转换
print(bool(0)) # False
print(bool(42)) # True
print(bool('')) # False
print(bool('Python')) # True
print(bool([])) # False
print(bool([1, 2, 3])) # True

# 布尔逻辑运算
print(True and False) # False
print(True or False) # True
print(not True) # False

# 布尔比较运算
print(5 > 3) # True
print(2 == 2) # True
print(7 < 4) # False

在 Python 中,所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True,只有 0、空字符串、空列表、空元组等被视为 False。因此,在进行布尔类型转换时,需要注意数据类型的真假性。

List(列表)

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。