数字类型(Number)
- 整型(Int):或整数,是不包含小数部分的数字。Python中的整型是无限精度的,这意味着Python可以处理任意大小的整数,只要你的计算机内存足够大。
- 浮点型(Float):浮点数是带有小数点及小数的数字。在Python中,浮点数由64位IEEE 754双精度表示,这是一种在计算机中表示实数的标准形式,允许非常大或非常小的数以固定的精度表示。虽然Python中没有单独的
double
类型,但其标准浮点类型就是以双精度存储。
科学计数法
科学计数法允许快速表示和处理极端大小的值。通过e
或E
后接指数来表示。例如 1.23e-2
等于 0.0123
。
数中的下划线
Python 3.6及以后的版本支持在数字字面量中使用下划线_
作为视觉上的分隔符,以提高大数值的可读性。这些下划线在Python解释器读取时会被忽略,不影响数值的实际大小或值。
count = 1000_00_0.0_0000_000000
print(count)
# 输出: 1000000.0
进制表示和转换
直接支持二进制、八进制、十进制和十六进制数的表示和转换。
- 二进制数以
0b
或0B
开头。 - 八进制数以
0o
或0O
开头。 - 十六进制数以
0x
或0X
开头。
提供了bin()
、oct()
、hex()
函数来将整数转换成对应的二进制、八进制、十六进制字符串。使用int()
函数可以将这些进制的字符串转换回十进制数值。
print(bin(54)) # 二进制表示:'0b110110'
print(oct(1465)) # 转换为八进制:'0o2671'
print(hex(0b110111001)) # 转换为十六进制:'0x1b9'
print(int(0b101101011)) # 转换为十进制:363
字符与ASCII值转换
在Python中,每个字符都有一个对应的ASCII(美国信息交换标准代码)值,也适用于Unicode字符。ord()
函数可以将一个字符转换为其ASCII(或Unicode)值,而chr()
函数可以执行相反的操作,将ASCII(或Unicode)值转换回对应的字符。
print(ord('a'))
# 输出:97
print(ord('A'))
# 输出:65
print(chr(65))
# 输出:A
复数(Complex)
复数在Python中是一种内置的数据类型,用于表示有实部和虚部的数。复数广泛应用于科学和工程领域,特别是在电磁学、量子物理、信号处理等领域。Python对复数的支持使得进行这些领域的计算变得简单直接。
复数由实部和虚部组成,写作a + bj
,其中a
是实部,b
是虚部,j
是虚数单位(在数学中通常用i
表示,但在Python中使用j
)。
在Python中,有两种方法可以创建复数:
- 直接通过在数字后面添加
j
来指定虚部。 - 使用内置的
complex(real, imag)
函数,其中real
是实部,imag
是虚部。
# 使用j创建复数
a = 1 + 1j
# 使用complex函数创建复数
b = complex(3, 4)
复数对象有两个属性:.real
和.imag
,分别用于获取复数的实部和虚部。支持基本运算,包括加法、减法、乘法、除法等。
模和相位
- 模(Magnitude):复数的模可以使用
abs()
函数计算,返回复数到原点的距离,即sqrt{a^2 + b^2}
。 - 相位(Phase):可以使用
cmath.phase()
函数计算复数的相位,即复数向量和正实轴之间的角度。需要先import cmath
模块。
import cmath
a = 1 + 1j
b = complex(3, 4)
# 打印实部和虚部
print("实部:", b.real)
print("虚部:", b.imag)
# 复数运算
print("相加:", a + b)
# 复数的模
print("a的模:", abs(a))
print("b的模:", abs(b))
# 复数的相位
print("b的相位:", cmath.phase(b))
# 使用cmath模块还可以计算更多复数相关的函数,如指数、对数等。
布尔类型(Bool)
布尔(Bool)类型是Python中表示真值的数据类型,只有两个值:True(真)和 False(假)。
布尔值的来源
布尔值不仅可以通过直接比较获得,也可以通过布尔运算的结果获得。几乎所有对象都可以进行布尔测试,以决定它们在条件语句中被视为真或假。
-
数值
0
、空字符串''
、空列表[]
、空元组()
、空字典{}
、None
等被视为False
。 -
非零的数值、非空的字符串、列表、元组、字典等被视为
True
。 -
比较操作符(如==,
!=
,>
,<
,>=
,<=
)会返回布尔值:print(5 > 3) # 输出: True print(10 == 10) # 输出: True print(10 != 10) # 输出: False
-
逻辑操作符(
and
,or
,not
)用于组合条件表达式:print(True and False) # 输出: False print(True or False) # 输出: True print(not True) # 输出: False
转换
-
使用
bool()
函数可以将其他数据类型转换成布尔类型:print(bool(1)) # 输出: True print(bool('')) # 输出: False
顺序结构
列表(List)
列表是一种可变的数据结构,可存储任意类型的元素,使用方括号[]创建,支持增加、删除和修改操作。
列表操作
创建列表
a = ['q', 1, '111', 2222]
li = [] # 空列表
li = list() # 空列表的另一种表示
追加
使用 append()
方法在列表末尾添加元素。
a = [1, 2, 3]
a.append(4) # 结果:[1, 2, 3, 4]
插入
使用 insert()
方法在指定位置添加元素。
a = [1, 2, 3]
a.insert(1, 'new') # 结果:[1, 'new', 2, 3]
列表扩展
使用 extend()
方法合并另一个列表。
a = [1, 2, 3]
a.extend([4, 5]) # 结果:[1, 2, 3, 4, 5]
取出
使用 pop()
方法移除并返回指定位置的元素。
a = [1, 2, 3]
removed_element = a.pop(1) # 结果:2, 列表变为[1, 3]
移除元素
使用 remove()
方法删除指定的元素。
a=[1,2,3]
a.remove(2)# 结果:[1, 3]
# 或者
del a[2]# 结果:[1, 3]
清空
使用 clear()
方法清空整个列表。
a = [1, 2, 3]
a.clear() # 结果:[]