zoukankan      html  css  js  c++  java
  • 跟哥一起学python(4)- 数据类型之Number

    本节我们开始学习python的数据类型。

    什么是数据类型呢?前面我们提过,所谓的编程,就是控制一系列的数据去完成我们预设的逻辑或者功能。所以,编程语言首先要定义一系列对“数据”的处理规则。这些处理规则包括:如何存储数据、数据的长度、数据的赋值、数据的读取、数据的显示、数据的比较等等。

    不同类型的数据,它们的这些处理规则是不一样的。比如:整数和小数在内存中的存储方式肯定是不一样的;小数有精度的操作,而字符串肯定是没有的。

    因此,编程语言需要对我们用到的所有数据进行分类,抽象出一些基本的类型,这就是编程语言定义的数据类型。

    不同的编程语言所定义的数据类型其实大同小异,所以你只要理解了python的数据类型,其它编程语言的数据类型也基本都能搞明白。

    Python3 中定义了七个标准的数据类型:

    • l  Number(数字)
    • l  String(字符串)
    • l  Bytes(字节)
    • l  List(列表)
    • l  Tuple(元组)
    • l  Set(集合)
    • l  Dictionary(字典)

    下面我们结合一些实例,依次学习这几个标准类型。

    Number(数字)

     建议通过视频来学习本节内容: 查看本节视频

    数学中的数字包括整数、小数,python中也对应定义了整型(int)和浮点型(float),另外还定义了复数类型(complex)和布尔型(bool)。

    • Int:它定义了一个整数类型。在C语言中,有很多不同的整型,如下表:

     

    不同的类型,有不同的存储大小和取值范围,超出这个范围就会溢出报错。Python明显简化了这一类型,所有的整数类型,不论正负不论大小,全都归一为int类型。Python2还保留了long类型,python3把long类型也去掉了。

    我们可以使用不同的方法表示一个int类型的数据,如下所示:

     1 # int 类型
     2 
     3 int_1 = 100  # 10进制正数
     4 int_2 = -69  # 10进制负数
     5 int_3 = 0x77  # 16进制正数
     6 int_4 = -0x24  # 16进制负数
     7 int_5 = 0o70  # 8进制正数
     8 int_6 = -0o70  # 8进制负数
     9 int_7 = 0b10  # 2进制正数
    10 int_8 = -0b10  # 2进制负数

    上面提到了进制,我们先花几分钟了解一下“进制”的概念,看下面这张图:

    Python中使用0b开头表示二进制(bin)、0o开头表示八进制(oct)、0x开头表示十六进制(hex)。我们平时用得比较多的,是十进制(dec)、十六进制、二进制,八进制用得比较少。十六进制由于是满16进位,所以大于10的位用字母表示,10-15依次是a-f,不区分大小写。

    进制是数值的不同表达方式。不同进制之间可以相互转换,参考下面的实例:

     

    1 # file: ./6/6_1.py
    2 
    3 # 进制表达和转换
    4 temp_value = 32904
    5 
    6 print(" 十进制:{}
     二进制:{}
     八进制:{}
     十六进制:{}
    "
    7       .format(temp_value, bin(temp_value), oct(temp_value), hex(temp_value)))

    输出为:

    十进制:32904

     二进制:0b1000000010001000

     八进制:0o100210

     十六进制:0x8088

    • Float:它定义了一个小数类型。在编程语言中,我们习惯把小数叫做浮点数,所以float是浮点型。同样,python简化了浮点型的定义,不论数值大小以及精度,都归一为float类型。Python中有多种方式来表示一个浮点数,如下:
    1 # float 类型
    2 
    3 float_1 = 17.18  # 正浮点数
    4 float_2 = -17.18  # 负浮点数
    5 float_3 = 7.99E+3  # 科学计数正数
    6 float_4 = -7.99E+3  # 科学计数负数
    7 float_5 = 7.99E-3  # 科学计数
    8 float_6 = 7.99E3  # 科学计数
    9 float_7 = 198.  # 等同于198.0
    • Complex:复数是由一个实数和一个虚数组合构成,表示为:x+yj,其中 x 是实数部分,y 是虚数部分。实数和虚数都是float类型数据。虚数部分必须有后缀j或者J。

     

    1 # file: ./5/5_2.py
    2 
    3 # complex 类型
    4 cpx_1 = 123.2+34.6j
    5 
    6 print(cpx_1)
    7 print('real: type %s, value %f' % (type(cpx_1.real), cpx_1.real))
    8 print('imag: type %s, value %f' % (type(cpx_1.imag), cpx_1.imag))

    输出为:

    (123.2+34.6j)

    real: type <class 'float'>, value 123.200000

    imag: type <class 'float'>, value 34.600000

    •  Bool:布尔类型只有两个值,True和False,它们对应值为1和0。Python2中没有真正的布尔类型,使用1和0替代。Python3中明确定义了关键词True和False,注意大小写。

     

     1 # file: ./5/5_3.py
     2 
     3 # bool 类型
     4 bool_1 = True
     5 bool_2 = False
     6 
     7 print(bool_1)
     8 print(bool_2)
     9 print(int(bool_1))  # 强转为int类型
    10 print(int(bool_2))  # 强转为int类型

    输出为:

    True

    False

    1

    0

    下一节我们开始学习String类型。

  • 相关阅读:
    github中,一些涉及到用户配置的文件怎么处理(比如数据库用户名/密码)?
    XMLHttpRequest cannot load file浏览器无法异步加载本地file文件
    HTML小技巧
    HTML实体符号代码速查表
    宽度不固定,水平居中
    CSS实现背景透明,文字不透明
    window.inner 兼容IE8
    div横排放置对齐问题;block,inline,inline-block区别
    IE兼容CSS3圆角border-radius的方法(同时兼容box-shadow,text-shadow)
    js 值和引用
  • 原文地址:https://www.cnblogs.com/tiger-python/p/12831712.html
Copyright © 2011-2022 走看看