9

作者: 可爱叽叽 | 来源:发表于2018-12-06 23:09 被阅读0次

    ——数据类型——

    (一)数字:

    (1)int(整型)

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647。在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807。 

    (2)long(长整型)

    跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

     说明两点:

    1.自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

    2.Python3把长整型去掉了,只有整型(int)。

     (3)float(浮点型)

    浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

    (小数包含浮点数)

    3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10^(-4)。

    附图:

    (4)complex(复数)

    复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。(-5+4j)和(2.3-4.6j)都是复数的例子。

    (二)布尔值:

      真(True)或假(False)   1 或 0

    注意与命令是否正确执行的返回码区分开:

    布尔逻辑:真为1,假为0;

    命令执行的返回值:正确执行为0,错误执行为1。

    ——三元运算——

    三元运算的基本规则为:result=值1    if 条件   else   值2

    如果条件为真:result = 值1 ;

    如果条件为假:result = 值2  。

    结构如下:

    假设现需取两者中的较大的值,则如下:

    若是不利用三元运算,则程序如下:

    ——进制——

    二进制:0 1

    八进制:0 1 2 3 4 5 6 7

    十进制:0 1 2 3 4 5 6 7 8 9

    十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F

    16进制与10进制之间的对应关系:

    0 1 2 3 4 5 6 7 8 9  A   B  C   D  E   F 分别代表:

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    16进制与2进制的对应关系:

    0(0000)   1(0001)   2 (0010)  3(0011)

    4(0100)   5(0101)    6(0110)   7(0111)

    8(1000)   9(1001)    A(1010)   B(1011)

    C(1100)   D(1101)   E(1110)   F(1111)

    2进制转换成16进制的方法是:

    取四合一法,即从二进制的小数点为分界点,向左或者向右每四位取成一位。组分好以后,对照2进制与16进制之间的对应关系表,将四位二进制按权相加,得到的数就是一位16进制数,然后按顺序排列,小数点的位置保持不变,得到的就是16进制数。

    举例:101110011011.1001

    1011  1001  1011 . 1001  =  B9B.9

    16进制的表示方法:

    ①后缀表示法,用字母H后缀表示。

    举例:BH = (11)16

    ②前缀表示法,用0X前缀表示。

    举例:0X53 = (53)16 = 5*16+3*1

    需要注意一点的是,在向左或者向右取四位时,取到最高位或者最低位,如果凑不足四位时,就可以在小数点的最左边或者最右边补0,进行换算。

    举例:10111.011 = 0001 0111 . 0110 = (17.6)16

    16进制转为2进制:

    一分四法,即一个16进制数转换为4个二进制数,用四位二进制按权相加,小数点的位置保持不变,就可以得到二进制数。

    举例:BF4.B5 = 1011 1111 0100 . 1011 0101 =( 101111110100.10110101)2

    ——数据类型:bytes类型——

    在Python2中,不区分字节和字符串类型。

    在Python 3中最重要的新特性可能就是将文本(text)和二进制数据(视频、音频)做了更清晰的区分。

    文本总是用Unicode进行编码,以str类型表示;而二进制数据以bytes类型表示。

    Python3不会以任意隐式的方式混用str和bytes。

    所以,不能拼接字符串和字节包,也不能在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。

    一个文本文件既可以用字符串类型进行表示,也可以用字节包的类型进行表示,并且这两种表示形式之间可以互相转换。转换关系如下:

    二进制数据类型通过解码可以转换成字符串类型, 字符串类型通过编码可以转换成二进制数据类型。

    必须将字符串类型转换成二进制数据类型的情况:通过网络传输数据。

    在Python2中可以以字符串的类型传输数据,但是,在Python3中传输的数据类型必须是二进制数据!

    在.encode()和.decode()中,最好是声明所用编码,Python3下如果不声明就默认用“utf-8”。

    开头是b,说明转换为二进制数据类型。

    相关文章

      网友评论

          本文标题:9

          本文链接:https://www.haomeiwen.com/subject/ddmacqtx.html