Python 3 - 变量类型

  • 简述

    变量不过是为存储值而保留的内存位置。这意味着当您创建一个变量时,您会在内存中保留一些空间。
    根据变量的数据类型,解释器分配内存并决定保留内存中可以存储什么。因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数、小数或字符。
  • 为变量赋值

    Python 变量不需要显式声明来预留内存空间。当您为变量赋值时,声明会自动发生。等号 (=) 用于为变量赋值。
    = 运算符左侧的操作数是变量的名称,= 运算符右侧的操作数是存储在变量中的值。例如 -
    
    #!/usr/bin/python3
    counter = 100          # An integer assignment
    miles   = 1000.0       # A floating point
    name    = "John"       # A string
    print (counter)
    print (miles)
    print (name)
    
    此处,100、1000.0 和“John”分别是分配给 counter、miles 和 name 变量的值。这会产生以下结果 -
    
    100
    1000.0
    John
    
  • 多重赋值

    Python 允许您同时为多个变量分配一个值。
    例如 -
    
    a = b = c = 1
    
    在这里,创建了一个值为 1 的整数对象,并将所有三个变量分配到相同的内存位置。您还可以将多个对象分配给多个变量。例如 -
    
    a, b, c = 1, 2, "john"
    
    这里,将两个值为1和2的整数对象分别赋值给变量a和b,将一个值为“john”的字符串对象赋值给变量c。
  • 标准数据类型

    存储在内存中的数据可以有多种类型。例如,一个人的年龄存储为数值,他或她的地址存储为字母数字字符。Python 有各种标准数据类型,用于定义对它们可能进行的操作以及它们各自的存储方法。
    Python 有五种标准数据类型 -
    • Numbers
    • String
    • List
    • Tuple
    • Dictionary
  • Python 数字

    数字数据类型存储数值。当您为它们赋值时,会创建数字对象。例如 -
    
    var1 = 1
    var2 = 10
    
    您还可以使用删除对数字对象的引用del陈述。的语法del声明是 -
    
    del var1[,var2[,var3[....,varN]]]]
    
    您可以使用删除单个对象或多个对象del陈述。
    例如 -
    
    del var
    del var_a, var_b
    
    Python 支持三种不同的数值类型 -
    • int(有符号整数)
    • float(浮点实数值)
    • 复数(复数)
    Python3 中的所有整数都表示为长整数。因此,没有单独的数字类型。

    例子

    以下是一些数字示例 -
    整数 浮点数 复数
    10 0.0 3.14j
    100 15.20 45.j
    -786 -21.9 9.322e-36j
    080 32.3+e18 .876j
    -0490 -90. -.6545+0J
    -0x260 -32.54e100 3e+26J
    0x69 70.2-E12 4.53e-7j
    复数由一对有序的实数浮点数组成,用 x + yj 表示,其中 x 和 y 是实数,j 是虚数单位。
  • Python 字符串

    Python 中的字符串被标识为引号中表示的一组连续字符。Python 允许一对单引号或双引号。可以使用切片运算符([ ] 和 [:] )获取字符串的子集,索引从字符串开头的 0 开始,并从 -1 到结尾。
    加号 (+) 是字符串连接运算符,星号 (*) 是重复运算符。例如 -
    
    #!/usr/bin/python3
    str = 'Hello World!'
    print (str)          # Prints complete string
    print (str[0])       # Prints first character of the string
    print (str[2:5])     # Prints characters starting from 3rd to 5th
    print (str[2:])      # Prints string starting from 3rd character
    print (str * 2)      # Prints string two times
    print (str + "TEST") # Prints concatenated string
    
    这将产生以下结果 -
    
    Hello World!
    H
    llo
    llo World!
    Hello World!Hello World!
    Hello World!TEST
    
  • Python 列表

    列表是 Python 最通用的复合数据类型。列表包含以逗号分隔并括在方括号 ([]) 中的项目。在某种程度上,列表类似于 C 中的数组。它们之间的区别之一是属于列表的所有项可以是不同的数据类型。
    存储在列表中的值可以使用切片运算符([ ] 和 [:])访问,索引从列表开头的 0 开始,一直到结束 -1。加号 (+) 是列表连接运算符,星号 (*) 是重复运算符。例如 -
    
    #!/usr/bin/python3
    list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
    tinylist = [123, 'john']
    print (list)          # Prints complete list
    print (list[0])       # Prints first element of the list
    print (list[1:3])     # Prints elements starting from 2nd till 3rd 
    print (list[2:])      # Prints elements starting from 3rd element
    print (tinylist * 2)  # Prints list two times
    print (list + tinylist) # Prints concatenated lists
    
    这会产生以下结果 -
    
    ['abcd', 786, 2.23, 'john', 70.200000000000003]
    abcd
    [786, 2.23]
    [2.23, 'john', 70.200000000000003]
    [123, 'john', 123, 'john']
    ['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']
    
  • Python 元组

    元组是另一种类似于列表的序列数据类型。元组由许多用逗号分隔的值组成。然而,与列表不同的是,元组包含在括号中。
    列表和元组之间的主要区别是 - 列表包含在方括号 ( [ ] ) 中并且它们的元素和大小可以更改,而元组包含在圆括号 ( ( ) ) 中并且不能更新。元组可以被认为是read-only列出。例如 -
    
    #!/usr/bin/python3
    tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
    tinytuple = (123, 'john')
    print (tuple)           # Prints complete tuple
    print (tuple[0])        # Prints first element of the tuple
    print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
    print (tuple[2:])       # Prints elements starting from 3rd element
    print (tinytuple * 2)   # Prints tuple two times
    print (tuple + tinytuple) # Prints concatenated tuple
    
    这会产生以下结果 -
    
    ('abcd', 786, 2.23, 'john', 70.200000000000003)
    abcd
    (786, 2.23)
    (2.23, 'john', 70.200000000000003)
    (123, 'john', 123, 'john')
    ('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')
    
    以下代码对元组无效,因为我们试图更新元组,这是不允许的。列表可能有类似的情况 -
    
    #!/usr/bin/python3
    tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
    list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
    tuple[2] = 1000    # Invalid syntax with tuple
    list[2] = 1000     # Valid syntax with list
    
  • Python字典

    Python 的字典是一种哈希表类型。它们的工作方式类似于 Perl 中的关联数组或散列,由键值对组成。字典键几乎可以是任何 Python 类型,但通常是数字或字符串。另一方面,值可以是任意的 Python 对象。
    字典用大括号 ({ }) 括起来,可以使用方括号 ([]) 分配和访问值。例如 -
    
    #!/usr/bin/python3
    dict = {}
    dict['one'] = "This is one"
    dict[2]     = "This is two"
    tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
    print (dict['one'])       # Prints value for 'one' key
    print (dict[2])           # Prints value for 2 key
    print (tinydict)          # Prints complete dictionary
    print (tinydict.keys())   # Prints all the keys
    print (tinydict.values()) # Prints all the values
    
    这会产生以下结果 -
    
    This is one
    This is two
    {'name': 'john', 'dept': 'sales', 'code': 6734}
    dict_keys(['name', 'dept', 'code'])
    dict_values(['john', 'sales', 6734])
    
    字典在元素之间没有顺序的概念。说元素“乱序”是不正确的;它们只是无序的。
  • 数据类型转换

    有时,您可能需要在内置类型之间执行转换。要在类型之间进行转换,只需将类型名称用作函数即可。
    有几个内置函数可以执行从一种数据类型到另一种数据类型的转换。这些函数返回一个表示转换值的新对象。
    序号 功能说明
    1
    int(x [,base])
    将 x 转换为整数。如果 x 是字符串,则 base 指定基数。
    2
    float(x)
    将 x 转换为浮点数。
    3
    complex(real [,imag])
    创建一个复数。
    4
    str(x)
    将对象 x 转换为字符串表示形式。
    5
    repr(x)
    将对象 x 转换为表达式字符串。
    6
    eval(str)
    计算一个字符串并返回一个对象。
    7
    tuple(s)
    将 s 转换为元组。
    8
    list(s)
    将 s 转换为列表。
    9
    set(s)
    将 s 转换为集合。
    10
    dict(d)
    创建字典。d 必须是 (key,value) 元组的序列。
    11
    frozenset(s)
    将 s 转换为冻结集。
    12
    chr(x)
    将整数转换为字符。
    13
    unichr(x)
    将整数转换为 Unicode 字符。
    14
    ord(x)
    将单个字符转换为其整数值。
    15
    hex(x)
    将整数转换为十六进制字符串。
    16
    oct(x)
    将整数转换为八进制字符串。