zoukankan      html  css  js  c++  java
  • Python基础2数据类型 柒哥

    Python基础-2

    数据类型

    • number(数字类型)
    • bool(布尔)
    • str(字符串)
    • list(列表)
    • tuple(元组)
    • set(集合)
    • dict(字典)

    其中:

    • 不可变数据:number(数字类型)、bool(布尔)、str(字符串)、tuple(元组);
    • 可变数据:list(列表)、set(集合)、dict(字典)。

    在python中,声明变量是不需要指定类型的,还可以同时进行多个变量的赋值(不同类型)

    a, b, c = 1, 2, "柒哥"
    
    数字类型 --- int、float、complex

    数字类型包含三种:整数、浮点数和复数。此外,布尔值属于整数的子类型。

    • 整数具有无限的精度;
    • 浮点数通常使用 C 中的 double 来实现
    • 复数包含实部和虚部,分别以一个浮点数表示。 要从一个复数 z 中提取这两个部分,可使用 z.realz.imag
    a, b, c = 20, 5.5, 4+3j
    # a 赋值为 整数
    # b 赋值为 浮点数
    # c 赋值为 复数
    
    整数 浮点数 复数
    10 0.0 3.14j
    100 15.20 45.j
    -786 -21.9 9.322e-36j
    080 32.3e+18 .876j
    -0490 -90. -.6545+0J
    -0x260 -32.54e100 3e+26J
    0x69 70.2E-12 4.53e-7j
    布尔类型 --- bool

    布尔值使用常量True和False来表示(注意大小写)

    • 比较运算符的返回都是bool类型
    • 在python中,bool类型是整数类型的子类,所以True == 1 False == 0

    True 或 False 的判定:

    • 以下会被判定为 False :

      • None

      • False

      • 任何数字类型的零,例如 0、0.0、0j。

      • 任何空序列,例如,''、()、[]。

      • 任何空映射,例如 {}。

      • 用户定义类的实例,如果该类定义了 bool() 或 len() 方法,当该方法返回整数零或 bool 值 False 时。

        • class alfalse():
               def __bool__(self):           # 定义了 __bool__() 方法,始终返回False
                   return False
          
          class alzero():
              def __len__(self):            # 定义了 __len__() 方法,始终返回0
                  return 0
          
    • 除了以上的,其他的表达式均会被判定为 True;需要注意的是这个与其他的语言有比较大的不同

    字符串 --- str

    在 Python 中处理文本数据是使用 str 对象,也称为 字符串。 字符串是由 Unicode 码位构成的不可变 序列。
    字符串定义:

    • 使用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符,当然还有三引号 ''' 的多行字符串。

      • 单引号: '允许包含有 "双" 引号'
      • 双引号: "允许包含有 '单' 引号"
      • 三重引号: '''三重单引号''', """三重双引号"""
    • # 单引号
      str = 'hello'	
      # 双引号
      str = "hello"	
      # 单引号包含双引号
      str = 'say "hello"'	
      # 双引号包含单引号
      str = "say 'hello'"	
      str = """
      		双引号的
      		多行字符串
      """
      str = '''
      		单引号的
      		多行字符串
      '''
      
    • 字符串的方法后续会单独统计展示。

    列表类型 --- list

    List(列表) 是 Python 中使用最频繁的数据类型。

    • 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

    • 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

    • 使用列表推导式: `[x for x in iterable]

    • # 常规定义
      list = []		# 空列表
      list = [1, "a", [1], {"name": "test"}]
      # 列表推导式
      list = [x for x in range(10)]
      >>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      
    元组类型 --- tuple

    元组(tuple)与列表类似,不同之处在于元组的元素不能修改。

    • 使用一对圆括号来表示空元组: ()

    • 使用一个后缀的逗号来表示单元组: a,(a,)

    • 使用以逗号分隔的多个项: a, b, c or (a, b, c)

    • 使用内置的 tuple(): tuple()tuple(iterable)

    • # 常规定义
      tuple = ()		# 空元组
      tuple = (50,)	# 单个元素
      tuple = ('physics', 'chemistry', 1997, 2000);
      tuple = (1, 2, 3, 4, 5 );
      tuple = "a", "b", "c", "d";
      
    集合类型 --- set

    集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

    • 基本功能是进行成员关系测试和删除重复元素。

    • 可以使用大括号 { } 或者 set() 函数创建集合。

    • 注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    • # 常规定义
      set(value)
      set = {value, value1}
      set = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
      
      # set可以进行集合运算
      a = set('abracadabra')
      b = set('alacazam')
      
      print(a - b)     # a 和 b 的差集
      print(a | b)     # a 和 b 的并集
      print(a & b)     # a 和 b 的交集
      print(a ^ b)     # a 和 b 中不同时存在的元素
      
    字典类型 --- dict

    字典(dictionary)是Python中另一个非常有用的内置数据类型。

    字典是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(key)下,键可以是数字、字符串甚至元组。字典也是python中唯一内建的映射类型

    • 字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

    • 键(key)必须使用不可变类型。

    • 在同一个字典中,键(key)必须是唯一的。

    • # 常规定义
      dict = {}		# 空字典
      dict['one'] = "1 - 菜鸟教程"
      dict[2]     = "2 - 菜鸟工具"
      dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};
      # 构造函数创建
      dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
      dict(Runoob=1, Google=2, Taobao=3)
      # 推导式
      dict = {x: x**2 for x in (2, 4, 6)}
      
    • 注意:

      • 1、字典是一种映射类型,它的元素是键值对。
      • 2、字典的关键字必须为不可变类型,且不能重复。

    这边文章只是简单的罗列的一下python语言中内置的常规类型,每种数据类型的内置方法会在后续的更新中体现。

  • 相关阅读:
    java Double数据类型比较大小
    java基础02-标识符和关键字
    java基础01-注释
    java程序运行机制
    面试准备之java异常体系
    双亲委派模型
    java类加载器有哪些?
    什么是字节码?采用字节码的好处是什么?
    如何实现一个ioc容器
    ConcurrentHashMap原理,jdk7和jdk8的区别
  • 原文地址:https://www.cnblogs.com/qg-666/p/14899752.html
Copyright © 2011-2022 走看看