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()
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Jalen Chu 微信支付

微信支付

Jalen Chu 支付宝

支付宝

Jalen Chu 公众号

公众号