python 有五个标准的数据类型:String(字符串)、Numbers(数字)、List(列表)、Tuple(元组)、Dictionary(字典),每种类型都有自己的用途,其中数字、字符串、元组是不可变的(immutable),列表、字典是可变的,对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(如果没有其他变量引用原有对象的话(即引用计数为 0),原有对象就会被回收)。并且注意,Python 是弱类型语言,所以程序中的变量赋值时不需要显式声明类型。当你创建一个类型变量后,解释器会通过你所定义的变量的值分析出其类型,然后再去做相应的后续操作。
变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,也就是上面我们说的五种基本类型。具体 python 每个类型实现可以通过查看托管在 github 上的 cpython 的仓库,其中对于每种类型都有指定 C 语言文件描述,地址为:https://github.com/python/cpython/tree/main/Objects
def show_python_variables(): | |
""" | |
1.复数:一种表示格式是x + yj,其中x(实部)和y(虚部)都是浮点数,j(或J)表示-1的平方根(这是一个虚数)。 | |
2.复数实际应用:主要应用于物理学分析(如信号分析、电磁场、量子力学等等),反正是蛮高深的,不要问太多,我也不懂!:) | |
3.复数可以通过real、imag打印实部和虚部,如print(number_type_4.real, number_type_4.imag) # 输出1.0, 2.0 | |
4.复数可以没有实部,除了x + yj形式创建外,还可以通过complex(x, y)内置函数创建 | |
5.注意,只要带有小数点就是浮点型,比如3.0是浮点型而不是整形 | |
6.注意,python2.x可能你会看到一种长整型的声明方式,也就是数字的末尾带L(2.2后默认int类型数据溢出后会自动转为long类型),这种在python3.x已经移除,替换为int | |
7.python中整型不用担心溢出,因为python理论上可以表示无限大的整数,直到把内存挤爆。可以通过 float("inf"),float("-inf")声明正无穷大和负无穷大 | |
8.无穷大加上一个常数还是无穷大,且无穷大等于无穷大,正无穷大+负无穷大=nan,nan + 常数=nan, float("nan") != float("nan") | |
""" | |
number_type_1 = 1 # int (整型) | |
number_type_2 = 3.1415926 # float (浮点型) | |
number_type_3 = 3.0 # float (浮点型) | |
number_type_4 = 1 + 2j # complex (复数) | |
number_type_5 = 2j # complex (复数) | |
number_type_6 = complex(1, 2) # complex (复数) | |
number_type_7 = 10e3 # 科学计数法 (10000) | |
number_type_8 = 10.24e2 # 科学计数法 (1024) | |
string_type_1 = 'name' # string (字符串) | |
string_type_2 = str('jalen') # string (字符串) | |
list_type_1 = [1, 2, 3] # list (列表) | |
list_type_2 = [1, 'a', 3.1415926, 'jalen'] # list (列表) | |
list_type_3 = list('abcde') # list (列表) | |
tuple_type_1 = (1, 2, 3, 4) # tuple (元组) | |
tuple_type_2 = (1, 'a', 3.1415926, 'jalen') # tuple (元组) | |
tuple_type_3 = tuple('abcde') # tuple (元组) | |
dict_type_1 = {1, 2, 3, 4} | |
dict_type_2 = {'name': 'jalen', 'age': 30} | |
dict_type_3 = {100: '满分', '合格': 60, 3.1415926: '圆周率Π'} | |
print('All variables showed.') | |
if __name__ == '__main__': | |
show_python_variables() |