AI智能
改变未来

『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)

目录

  • 1、数据类型介绍
  • 2、数值型(Number)
  • 3、布尔型(bool)
  • 4、None(空值)
  • 5、常量
  • 6、字符串(String)

1、数据类型介绍

(1)什么是数据类型

在生活中,我们日常使用的数据有大有小,有整数也有小数,同时也会使用字母或者汉字表示特定含义。而在每种编程语言里都会有一个叫数据类型的名词,数据类型就是对常用的各种数据格式进行了明确的划分,以应对不同的业务需求,并在使用时按经验将不同的变量定义不同的类型的数据。

(2)Python3中有七个标准的数据类型

  • 数值型(
    Number

  • 布尔型(
    Bool

  • 字符串(
    String

  • 集合(
    Set

  • 列表(
    List

  • 元组(
    Tuple

  • 字典(
    Dict

如下图所示:

(3)Python3中标准数据类型又可分为两大类

  • 不可变数据类型(4个):当该数据类型对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。
    Number

    (数值)

  • Bool

    (布尔值)

  • String

    (字符串)

  • Tuple

    (元组)

  • 可变数据(3 个):当该数据类型对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。
      List

      (列表)

    • Dictionary

      (字典)

    • Set

      (集合)

    总结:不可变数据类型更改后,地址发生改变;可变数据类型的更改,地址不发生改变。

    提示:本篇文章我们主要介绍不可变数据类型中的数值布尔值、字符串。其他的数据类型,之后逐个单独说明。

    2、数值型(Number)

    数字型(Number)是不可改变的数据类型,如果改变了数值型变量的值,将重新分配内存空间,让变量重新引用一个新的对象。(这点和 Java 的字符串差不多)

    (1)Python 支持三种不同的数值类型

    • 整型(
      int

      ):通常被称为是整型或整数,正负数都可以。
      Python3 整型是没有大小限制的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
      如果数字的长度过大,可以使用下划线作为分隔符。
      10进制的数字不能以0开头。

    • 浮点型(
      float

      56c):浮点型由整数部分与小数部分组成(就是小数)。
      浮点类型不精确存储。
      浮点型可以支持科学计数法表示。

    • 复数(
      complex

      ):复数由实数部分和虚数部分构成,具体以后在说明。

    (2)示例

    # 1、定义int类型数据a = 10b = -20# 2、Python3整型是没有大小限制的# 输出结果不会报错# 结果:999999999999999999999999c = 999999999999999999999999print(c)# 3、如果数字的长度过大,可以使用下划线作为分隔符# 输出结果为123456789d = 123_456_789print(d)\"\"\"4、10进制的数字不能以0开头如下面e会报错:SyntaxError: invalid token(语法错误)。\"\"\"e = 0123print(e)\'\'\'5、其他进制的整数定义只要是数字打印时一定是以十进制的形式显示的。\'\'\'# 二进制 0b开头f = 0b10 # 二进制的10# 八进制 0o开头g = 0o10# 十六进制 0x开头h = 0x10# 6、也可以通过运算符来对数字进行运算,# 并且可以保证整数运算的精确i = -100i = i + 3# 7、浮点数(小数),在Python中所有的小数都是float类型j = 1.23j = 4.56# 8、对浮点数进行运算时,可能会得到一个不精确的结果k = 0.1 + 0.2print(k)  # 0.30000000000000004

    ad8

    3、布尔型(bool)

    • 布尔值全称
      Boolean

      ,在Python中使用

      bool

      简写表示布尔类型。一个布尔值只有

      True

      False

      两种值,要么是

      True

      表示真,要么是

      False

      表示假。

    • 布尔值主要用来做逻辑判断。
    • True

      False

      就是字面量(常量),不用加引号,注意首字母大写。

    示例

    # 1、定义布尔值(bool)变量a = Trueb = Falseprint(\'a =\',a)  # a = Trueprint(\'b =\',b)  # b = False# 2、布尔值实际上属于整型子类,# True就相当于1,False就相当于0print(1 + True)  # 2print(1 + False)  # 1# 3、可以通过布尔运算计算c = 7 < 9d = 7 > 8print(\'c =\',c)  # c = Trueprint(\'d =\',d)  # d = False# 4、布尔值经常用在条件判断中if age >= 18:print(\'adult\')else:print(\'teenager\')

    4、None(空值)

    (1)None值的含义

    空值是Python里一个特殊的值,用

    None

    表示没有值,不存在。

    None

    不能理解为

    0

    ,因为

    0

    是有意义的,同理也不能理解成空字符串,而

    None

    是一个特殊的空值,(

    N

    必须大写)。

    在Python中是没有Java中

    NULL

    值,但相近意义于Java中

    NULL

    值。

    # None(空值)用来表示不存在a = Noneprint(a)

    (2)关于None的注意事项

    • None

      在 Python 解释器启动时自动创建, 解释器退出时销毁。

    • None

      和任何其他的数据类型比较永远返回False

      >>> None == 0False>>> None == \' \'False>>> None == FalseFalse>>> None == NoneTrue
    • 上也证明了
      None

      与0、空列表、空字符串不一样。

    • None

      它属于

      NoneType

      类型,且

      None

      NoneType

      类型的唯一值。也就是说,我们不能再创建其它

      NoneType

      类型的变量。

    • 可以将
      None

      赋值给任何变量,也可以给

      None

      值变量赋值

    • None

      不支持任何运算也没有任何内建方法,如没有像

      len

      size

      等属性,要判断一个变量是否为

      Non

      e,直接使用如下方式:

      a = Noneif a is None:print(21a5\"hello python\")pass
    • 对于所有没有
      return

      语句的函数定义,Python 都会在末尾加上

      return None

    None相对来说用的不多,主要是在对象中使用,我们知道表示不存在就可以。

    5、常量

    所谓常量就是值不能变的变量,比如常用的数学常数

    π

    就是一个常量。在Python中,一般通过约定俗成的变量名全大写的形式表示这是一个常量。

    PI = 3.14159265359

    但事实上

    PI

    仍然是一个变量,Python根本没有任何机制保证

    PI

    不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量

    PI

    的值,也没人能拦住你。

    6、字符串(String)

    (1)字符串类型说明

    • 1、在Python中使用
      str

      简写表示字符串类型。

    • 2、字符串用来表示一段文本信息,字符串是程序中使用的最多的数据类型。
    • 3、字符串的内容几乎可以包含任何字符,英文字符也行,中文字符也行。
    • 4、在Python中字符串需要使用引号引起来,
      \' \'

      单引号和

      \" \"

      双引号都可以。

    • 5、python中字符串是不可变的,一旦声明,不能改变。(同数值型)

    (2)示例

    # 1、在Python中字符串需要使用引号引起来# 单引号和双引号都可以。a = \'hello\'b = \"python\"# s = \'hello\" 引号不能混合使用# 如果混合使用会报错,如下:# SyntaxError: EOL while scanning string literal\"\"\"# 2、字符串变量必须使用引号引起来,不使用不是字符串d =  abcPython解释器会认为abc是一个abc名称的变量,在Python执行程序的时候,如果之前没有定义过abc这个变量,则会报出NameError错误。\"\"\"\"\"\"# 3、相同的引号之间不能嵌套也就是双引号里边不能在写双引号,单引号里边不能在单双引号。e = \"子曰:\"学而时习之,乐呵乐呵!\"\"而不同的引号之间是可以进行嵌套的,如下:\"\"\"f = \'子曰:\"学而时习之,乐呵乐呵!\"\'\"\"\"# 4、单引号和双引号不能跨行使用,跨行必须使用\\进行换行。如下g的执行结果为:锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。在一行进行输出。\"\"\"g = \'锄禾日当午,\\汗滴禾下土,\\谁知盘中餐,\\粒粒皆辛苦。\'\"\"\"# 5、长字符串使用一对三重引号来表示一个长字符串,如\'\'\'和\\\"\\\"\\\"。三重引号内可以自动换行,并且会保留字符串中的格式。如下g的执行结果为:锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。\"\"\"h = \'\'\'锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。\'\'\'\"\"\"# 6、字符串的复制就是将字符串和数字相乘,乘以几表示复制几次。* 在Pyhton语言中表示乘法。所以如果将字符串和数字相乘,则解释器会将字符串重复指定的次数并返回。\"\"\"# 输出结果:abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.a = \'abc.\'a = a * 10print(a)

    提示:以上就是Python中最基础的数据类型,一定要好好掌握。关于集合、列表、元组、字典这几个数据类型,后面会逐一单个的详解介绍。

  • 赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » 『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)