人生苦短,Python当歌。
人生苦短,python是岸。
欢迎阅读本篇文章,本文将介绍Python的变量与数据类型。
一、变量
1.1 变量
在Python中,变量可以看作是一个标签,它指向一个存储在内存中的值。具体来说,我们可以使用等号(=)将一个值赋给一个变量,如下所示:
age = 20
print(age) # 20
如果想将数字改成25并输出,则可以使用以下语句:
age = 25
print(age) # 25
二、数据类型
在计算机中,操作的对象是数据,那么,如何选择合适的容器来存放数据才不至于浪费空间?为了更充分地利用内存空间,可以为不同的数据指定不同的数据类型,那么,Python中内置了多种数据类型,每种数据类型都有不同的特点和用途。下面是Python支持的几种常见的数据类型:
2.1 整型
整型表示存储的数据是整数,比如1、2、-1、-2等等。在计算机语言中,整型数据可以用二进制、八进制、十进制或者十六进制形式并在前面加上“+”或“-”表示。如果用二进制表示,那么,数字前必须加上0b或者0B;如果用八进制表示,那么数字前必须加上0o或者0O;如果用十六进制表示,那么,数字前必须加上0x或者0X。具体示例如下:
a = 0b1010 #二进制数,等价于十进制数10
b = -0b1010 #二进制数,等价于十进制数-10
c = 10 #十进制数
d = -10 #十进制数-10
e = -0o12 #八进制数,等价于十进制数-10
f = -0XA #十六进制数,等价于十进制数-10
关于各进制的解析:
①二进制数是由0~1的序列组成的,每逢2进1位
②八进制数是由0~7的数字序列组成的,每逢8进1位
③十进制数是由0~9的数字序列组成的,每逢10进1位
④十六进制数是由09的数字和AF的字母组成序列,每逢16进1位
注意:整型数值有最大取值范围,其范围与具体平台的位数有关
2.2 浮点型
浮点型表示存储的数据是实数,比如π在Python中,浮点型数据默认有2种书写格式,具体示例如下:
Pai_1 = 0.314 #标准格式
Pai_2 = 31.4e-2 #科学记数法格式,等价于0.314
Pai_3 = 31.4E2 #科学记数法格式,等价于3140.0
在科学记数法格式中,E或e代表基础是10,其后面的数字表示指数,31.4e⁻²表示31.4×10⁻²,31.4E2表示31.4×10²
2.3 复数型
复数型表示数学中的复数。在 Python 中,复数(complex)是由实数和虚数构成的数,其中实数和虚数分别用浮点数表示。复数通常写成 a + bj 的形式,其中 a 为实部,b 为虚部,j 为虚数单位。我们可以直接使用内置类型 complex函数来创建一个复数。假设我们要创建一个实部为 1,虚部为 2 的复数:
z = complex(1, 2)
print(z) # 输出:(1+2j)
也可以使用 j 后缀来表示一个纯虚数(实部为 0)。例如:
z = 3j
print(z) # 输出:3j
对于一个复数 z,可以通过 z.real 和 z.imag 分别获取它的实部和虚部。例如:
z = complex(1, 2)
print(z.real) # 输出:1.0
print(z.imag) # 输出:2.0
还可以使用 Python 的内置函数 abs() 来获取一个复数的模或距离。例如:
z = complex(3, 4)
print(abs(z)) # 输出:5.0
Python 支持复数的基本运算,如加法、减法、乘法、除法和幂运算等。例如:
z1 = complex(1, 2)
z2 = complex(3, 4)
# 加法
print(z1 + z2) # 输出:(4+6j)
# 减法
print(z1 - z2) # 输出:(-2-2j)
# 乘法
print(z1 * z2) # 输出:(-5+10j)
# 除法
print(z1 / z2) # 输出:(0.44+0.08j)
# 幂运算
print(z1 ** 2) # 输出:(-3+4j)
以上就是 Python 中复数的基本使用方法。需要注意的是,Python 中的 math 模块不支持复数,如果需要进行复数的科学计算,应当使用 Python 的内置模块 cmath。
2.4 布尔型
Python 中的布尔型(bool)用来表示真(True)或假(False)的值,主要用来比较和判断。在 Python 中,布尔型可以像其他数据类型一样进行运算和处理。如果需要将一个值转换为布尔型,可以使用 bool() 函数。常见的转换规则如下:
① 数字 0 转换为 False,非 0 数字转换为 True
② 空字符串 ('')、空列表 ([])、空元组 (())、空字典 ({})、空集合 (set()) 等转换为 False
③ 非空字符串、列表、元组、字典、集合等转换为 True
这里简单列一些Python 布尔型的操作:
a = True
b = False
# 输出变量 a 和 b 的值及类型
print(a) # 输出:True
print(b) # 输出:False
print(type(a)) # 输出:<class 'bool'>
print(type(b)) # 输出:<class 'bool'>
# 布尔型可以进行与、或、非三种逻辑运算
print(a and b) # 输出:False
print(a or b) # 输出:True
print(not a) # 输出:False
# 可以将其他类型的值转换为布尔型
print(bool(0)) # 输出:False
print(bool(1)) # 输出:True
print(bool('')) # 输出:False
print(bool('abc')) # 输出:True
三、数据类型检测
在Python中,数据类型是由存储的数据决定的,为了检测变量所引用的数据是否符合期望的数据类型,可以使用 type() 函数来检测一个变量的数据类型。具体示例如下:
x = 5
y = 'hello'
z = [1, 2, 3]
print(type(x)) # 输出:<class 'int'>
print(type(y)) # 输出:<class 'str'>
print(type(z)) # 输出:<class 'list'>
除了 type() 函数外,还可以使用 isinstance() 函数来判断一个对象是否属于某个特定的类(或子类)。具体示例如下:
x = 5
if isinstance(x, int):
print('x is an integer')
else:
print('x is not an integer')
四、数据类型转换
在 Python 中,可以使用一些内置函数来进行不同数据类型之间的转换。以下是一些常用的数据类型转换函数:
① int(x):将 x 转换为整数型。如果 x 是浮点数,则会将小数部分舍去。
② float(x):将 x 转换为浮点数型。
③ str(x):将 x 转换为字符串型。
④ bool(x):将 x 转换为布尔型。如果 x 为 0、空字符串、空列表、空元组、空字典、空集合等,则返回 False;否则返回 True。
⑥list(x):将 x 转换为列表型。
⑦ tuple(x):将 x 转换为元组型。
⑧ set(x):将 x 转换为集合型。
我们来看一下具体示例:
x = 5.7
y = '10'
print(int(x)) # 输出:5
print(float(y)) # 输出:10.0
print(str(x)) # 输出:5.7
print(bool(0)) # 输出:False
print(list(y)) # 输出:['1', '0']
print(tuple(y)) # 输出:('1', '0')
print(set(y)) # 输出:{'1', '0'}
需要注意的是,在进行数据类型转换时,要考虑到可能会出现的错误。例如,将一个非数字型的字符串转换为整数型时,就会报错。可以使用 try-except 语句对可能出现的错误进行捕获处理。
此外,不同的数据类型之间也可以进行运算和拼接,但需要考虑到数据类型的兼容性。例如,在字符串和数字之间进行加法运算时,需要先将数字转换为字符串,才能进行拼接。
★~☆·☆。~*∴*~★*∴ *·∴~*★*∴*★~☆·☆。~*∴*~★
各路掘友大家好,小女名曰:王斯言,一名存在于四海八荒之内,有些不着四六的女子。昨日夜观星象,见紫微星闪烁,便耗精元推算命格,得之:有贵客光临,寻即于此,收藏、点赞、评论、转发一气呵成。此乃大吉之兆!容小女先行谢礼,待补齐精元,再奋笔疾书以文报之~