python基础教程:基本数据类型

作者: 一墨编程学习 | 来源:发表于2019-05-10 22:42 被阅读10次

    计算机的本质就是计算,在其内部是01的比特位的变化,对外表现就是数据的变化。那么,计算机都能处理什么数据呢?本质上,数据都是以字节(Byte)存储的,表现上看,它们就是整数、浮点数和字符串等。Python的基本数据类型也不外乎于此。

    整数和浮点数就跟数学中的一样,而字符串就是各种字符的组合。

    数值类型:整数(int)、浮点数(float)

    intfloat是Python中为整数和浮点数保留的关键字。
    整数和浮点数(也就是小数)和我们在小学时学的一样:

    Python中的整数: int

    包括正整数负整数3, 0, -20等等。日常生活中,我们接触的整数都是十进制的,而在计算机中二进制和十六进制也是很常见的。

    二进制整数用0b作为前缀,因为是进制,所以只包含01两个字符,比如:0b101, 0b1000。如果包含01以为的字符就是错误的:

    In [40]: b = 0b1003
      File "<ipython-input-40-df926afcdae8>", line 1
        b = 0b1003
                 ^
    SyntaxError: invalid syntax
    
    

    十六进制整数用0x作为前缀,包含0-9a-f共6个字符,比如:0x23ab, 0xfd39803a。同样的十六进制只能包含它规定的16个字符,不过,a-f这6个字母不区分大小写,也就是说A-F也是合法的十六进制字符。
    二进制法定01两个字符,十六进制法定0-9a-f共16个字符,就跟十进制有0-9共10个字符是一样的。

    In [46]: a = 32
    
    In [47]: a
    Out[47]: 32
    
    In [48]: b = 0x20
    
    In [49]: b
    Out[49]: 32
    
    In [50]: c = 0b100000
    
    In [51]: c
    Out[51]: 32
    
    

    另外,布尔类型(Boolean)作为一种整数的子类型表示程序中的“是非”,它的值有且仅有两个:TrueFalse。它是以后编程中条件判断、比较运算的重要概念,我们将在后面专门来讲一讲布尔类型。

    Python中的浮点数: float

    浮点数就是数学中的小数,也是做数值计算中常用的类型,Python中的写法跟数学中一样,比如:0.2353.1415926-6.5等等。不过数值很大或很小时,浮点数就会变为科学计数法:9.8e+16, 2e-10

    In [68]: a = 0.000000002
    
    In [69]: a
    Out[69]: 2e-09
    
    In [70]: b = 76000000000000000.0
    
    In [71]: b
    Out[71]: 7.6e+16
    
    

    数值运算:Python作为解释器

    讲到数值类型就不得不说说数值计算,毕竟数就是拿来算的嘛。
    Python跟数学一样,支持整数和浮点数之间的四则运算加减乘除:+-*/,也是用小括号()来分组。比如:

    In [72]: 3 + 4
    Out[72]: 7
    
    In [73]: 9-10
    Out[73]: -1
    
    In [74]: 39 + 18/3
    Out[74]: 45.0
    
    In [75]: 3 + 18*3
    Out[75]: 57
    
    In [76]: (50 - 30) / 2
    Out[76]: 10.0
    
    In [77]: 19 / 2
    Out[77]: 9.5
    
    

    同样也支持数学中求商数和余数的计算,比如:
    a ÷ b = q…r
    (13 ÷ 3 = 4…1)
    其中,a为被除数,b为除数,q为商数,r为余数
    Python中求商数(floor division)的运算符是//
    而计算余数(也叫模除取模操作取模运算)的运算符是%,模除在编程中有广泛的应用,比如奇偶数的判断。

    In [81]: 19 // 3  # 求商数
    Out[81]: 6
    
    In [82]: 19 % 3  # 模除
    Out[82]: 1
    
    In [83]: 6 * 3 + 1 # 商数 × 除数 + 余数
    Out[83]: 19
    
    

    还有Python中计算乘方的运算符是:**

    In [84]: 8 ** 2
    Out[84]: 64
    
    In [85]: 8 ** 3
    Out[85]: 512
    
    
    Python基本数据类型

    字符串: str

    在我们人类的语言中,数值对应着计算,文字对应着记录。在Python语言中字符串也是用来记录的,它由一串字符(包括ASCII、中文字符等)组成。
    字符串的写法有多种形式:

    • 单引号: '单引号引起来的可以内嵌"双引号"的字符串'
    • 双引号: "双引号引起来的可以内嵌'单引号'的字符串"
    • 三引号: '''连续的三个单引号引起来的''',"""连续三个双引号引起来的"""

    特别的是,三引号字符串可以分成多行来写,多行之间的空白(包括换行符、空格、Tab键)都是字符串的一部分。

    同时可以使用反斜杠\进行字符转义:

    In [86]: '认真学python'
    Out[86]: '认真学python'
    
    In [87]: '认真\'学\'Python'
    Out[87]: "认真'学'Python"
    
    In [88]: "认真'学'Python"
    Out[88]: "认真'学'Python"
    
    In [89]: "认真\"学\"Python"
    Out[89]: '认真"学"Python'
    
    In [90]: '''hi! 
        ...: hello'''
    Out[90]: 'hi!\nhello'
    
    

    反斜杠\会把它后面的字符转义出特殊字符,比如\n就转义为换行符。如果想取消这种转义,可以使用原始字符串的方式,即在字符串前面加r即可:

    In [91]: print('C:\good\named-files')  # 该字符串中 \n 是一个字符,表示换行符
    C:\good
    amed-files
    
    In [92]: print(r'C:\good\named-files')  # 该字符串中 \n 是原始的两个字符:`\`和`n`,因为前面加了 r。
    C:\good\named-files
    
    

    空值: None

    Python定义了一个特殊的None来表示空值,它不同于False0,但它的逻辑值为假。可以看以下代码加深理解:

    In [93]: None + 1
    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-93-3fd8740bf8ab> in <module>
    ----> 1 None + 1
    
    TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
    
    In [94]: None == False
    Out[94]: False
    
    In [95]: None == 0
    Out[95]: False
    
    In [96]: type(None)
    Out[96]: NoneType
    
    In [97]: type(0)
    Out[97]: int
    
    In [98]: type(False)
    Out[98]: bool
    
    In [99]: if None: 
         ...:     print('i am True') 
         ...: else: 
         ...:     print('i am False') 
         ...:
    i am False
    
    

    如果你定义的函数没有返回值,Python会自动返回None

    总结

    这一节我们学到了Python可以当做计算机来进行整数、浮点数这些基本类型的加减乘除、求商、其余等运算,还有字符串的表示。

    大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

    相关文章

      网友评论

        本文标题:python基础教程:基本数据类型

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