首页 > 代码库 > Python的数值类型

Python的数值类型

问题:
1. Python数值有哪些?
2. 各类型的精度是多少?
3. 类型的转换是如何实现的?
5. 如何使用这些数据类型?需要注意什么?
6. 什么是不可变类型?

数值类型:
    整型: (不可变类型)
        标准整型:取值范围[-sys.maxint-1, sys.maxint]
        长整型:可表示无限大的整数,其值仅与你机器支持的(虚拟)内存大小有关
        数值超出标准整型范围将会转换为长整型。
        例如:
            1.定义标准整型
            >>> import sys
            >>> a = sys.maxint
            >>> a
            2147483647
            2.将a的值加1
            >>> a=sys.maxint+1
            >>> a
            2147483648L
           
    布尔型:(不可变类型)
        取值范围:True 和 False 分布对应整型的1和0
        对bool值区分大小写
        例如:
            >>>a=true
            Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
            NameError: name ‘true‘ is not defined
           
    浮点型:
        类似c语言中的double,每个浮点型数值占8个字节(64位)
        精度:
            >>> sys.float_info
            sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.
            2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsi
            lon=2.220446049250313e-16, radix=2, rounds=1)
       
    复数:
        Python中关于复数的几个概念:
        1.虚数不能单独存在,它们总是和一个值为0.0的实数部分一起来构成一个复数
        2.复数由实数部分和虚数部分构成
        3.表示复数的语法:real+imagej
        4.实数部分和虚数部分都是浮点数
        5.虚数部分必须有后缀j或J
   
类型转换:
    当我们在做运算时,如果两个操作数都是同一种数据类型,那就没必要进行类型转换,
仅当两个类型不一致的情况下,Python才会去检查一个操作数是否可以转换为另一类型的操作数。
   
    自动类型转换:
        无需编码解决转换问题。
        基本规则:
            将一个整型转换为浮点型,只需在整型后面加".0"
            将一个非复数转换为复数,只需在非复数后面加"0j"
   
    强制类型转换:coerce()
        coerce() Python内建函数用来实现强制类型转换
        示例:
            1.整型与浮点的转换
            >>> coerce(1,1.1)
            (1.0, 1.1)
            2.长整型与浮点的转换
            >>> coerce(123L,0.1)
            (123.0, 0.1)
            3.整数与长整数的转换
            >>> coerce(1,2L)
            (1L, 2L)
            4.整数与复数的转换
            >>> coerce(1,1+1j)
            ((1+0j), (1+1j))

绘图1           


不可变类型:   
    创建一个变量并赋值这个过程是将变量名和变量值分别分配内存,而变量值一旦被
创建后就不可以被更改。
    例如:
        1.创建变量a,变量b,都赋值为1
        >>> a=1;b=1
        2.查看a,b变量的值的引用地址
        >>> id(a);id(b)
        5153592
        5153592
   
    id函数的解释:
         Return the identity of an object.  This is guaranteed to be unique among
    simultaneously existing objects.  (Hint: it‘s the object‘s memory address.)