Python有两个典型特征:一个是变量无需声明即可直接赋值,赋的值的类型就是变量的类型;另一个是对一个不存在的变量赋值就相当于定义了一个新变量。

        内存是计算机的重要组成部分,主要是暂时存储运行程序和数据。

        假设我们定义了一个变量,其属性如下:

  • 变量名:a
  • 变量值:3
  • 变量类型:整型
  • 变量地址:140736055927656(由内存自动生成的,不是指定的)

        变量地址是由内存自动分配的,所以往往不需要给a指定内存,a的值决定了a的类型。

如:

>>> a=3
>>> type(a)  # 返回变量的类型
    <class 'int'>
>>> id(a)    # 返回变量的地址
    140736055927656

Python中的 同步赋值 

>>> a=5
>>> b=6
>>> c=7
>>> a,b,c=c,a,b
>>> a
    7
>>> b
    5
>>> c
    6

        在Python程序设计中,整形可以采用二进制、八进制、十进制及十六进制等,不同进制间用不同的引导符号来区分,详见下表:

python 变量类型声明any python变量的特点_字符串

         所以,变量a的值可以采用不同的进制进行表示,但并不影响a是int类型,实践如下:

>>> a=5
>>> type(a)
    <class 'int'>
>>> a=0b0101
>>> type(a)
    <class 'int'>
>>> a=0o05
>>> type(a)
    <class 'int'>
>>> a=0x05
>>> type(a)
    <class 'int'>

        浮点数类型又称浮点型,可以理解为数学中的实数,表示带有小数的数值。在 Python
中,浮点型用 float 表示。

>>> b=3.1
>>> type(b)
    <class 'float'>

        浮点数不像整数可以用 4 种进制表示,它只能用小数或者科学计数法表示。例如,230.5
是小数形式,也可以用科学计数法表示为2.305e2或者2.305E2,其中e或者E是以10为
基数的幂。因为E2或者e2就表示10的2次方。

>>> 2.305e2
    230.5
>>> 2.305e-2
    0.02305

        “不确定尾数”的问题,(为了避免发生这种问题,运用浮点数进行计算时,常常使用round()函数对对浮点数进行四舍五入,保留其小数点后几位):

>>> 0.1+0.2
    0.30000000000000004
>>> 0.1+0.2==0.3
    False
>>> round(0.1+0.2,20)    # 保留小数点后20位
    0.30000000000000004
>>> round(0.1+0.2,4)     # 保留小数点后4位
    0.3

复数类型

        在 Python 中,复数用complex表示。假设 x=a+bi ,其中x的实数部分a和虚数部分b都是浮点型,分别可以通过 x.real 和 x.imag 获取。

>>> x=4+5i        # 经实践,在python中不能用i,而要用j或者J
    SyntaxError: invalid decimal literal
>>> x=4+5j
>>> x
    (4+5j)
>>> x.real
    4.0
>>> x.imag
    5.0
>>> x=4+j         # 经实践,j不可以单独存在,须写为 x=4+1j 的格式
    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
        x=4+j
    NameError: name 'j' is not defined
>>> 
>>> x=4+1j
>>> x
    (4+1j)
>>> 
>>> 
>>> complex(4,5)  # 复数也可以这样表示
    (4+5j)

字符串型

        字符串型用 str 表示,两边用双引号或者单引号括起来,表示是一个字符串。例如,
"hello"就是一个由五个字符组成的字符串,如果没有双引号,hello就是一个变量。同理,
"1234"也是一个字符串,而1234就是一个整数。

>>> a="hello"
>>> type(a)
    <class 'str'>
>>> 
>>> b='1234'
>>> type(b)
    <class 'str'>
>>> b
    '1234'
>>> 
>>> c=1234
>>> c
    1234

参考资料:

  • 《Python编程自学手册》· 史向东等编著