Python3基本数据类型

发布时间:2019-09-26 07:33:19编辑:auto阅读(1645)

    Python3的基本数据类型

    • 变量不需要提前声明
    • 每个变量使用前必须赋值,赋值之后能会被建立
    • Python中,变量是没有类型的,这里所说的“类型”是指内存中所存储的对像的类型。
    • Python中有六种标准数据类型
      • Number (数字)
      • String (字符串)
      • List (列表)
      • Tuple (元组)
      • Dictionary (字典)
      • Sets (集合)
      • 不可变:Number(数字)、String(字符串)、Tuple(元组)
      • 可变:List(列表)、Dictionary(字典)、Set(集合)

    1. Number

    • 常用类型有int、float、bool;可以用type()函数来查看变量类型
    • int、float支持所有的算术运算
    • bool类型为0和1,0等价于False,1为True

      • 例:对于int、float类型操作:

            a = 8    
            b = 3
            a + b    # 11
            a - b    # 5
            a * b    # 24
            a // b   # 2
            a / b    #  2.6666666666666665
            a % b    # 2
            a ** b   # 512
    • 例:bool类型:

              In [22]: a = 0
              In [23]: b = 1
              In [24]: a == True
              Out[24]: False
              In [25]: a == False
              Out[25]: True
              In [26]: b == True
              Out[26]: True
              In [27]: b == False
              Out[27]: False

    2. String

    • 定义方法: a = 'abc'a = str()
    • 字符串常用操作方式:索引、查找、切片、相加、复制、输出
    • 字符串常用方法

      • 例:

                #字符串相乘(复制)
                    ‘8’ * 8    
                #字符串相加
                    name = 'yhyang'
                    city = 'beijing'
                    infor = name + ' ' + city  
                #字符串索引
                    name[0]                            # 返回第一个值:y
                    name[-1]                           # 返回最后一个值:g
                #字符串切片
                    name[:]                            # :前后都不写,取整个字符串
                    name[0:3]                          # 从第一个到第4个,不取第四个:yhy
                    name[:-1]                          # 从第一个到倒数第二个:yhyan
                #字符串输出,用f''格式输出
                    print(f'名字:{name},城市:{city}')
                    输出内容为:  名字:yhyang,城市:beijing
                #字符串常用方法:
                    name.upper()                       # 将name的值变为大写,对就的小写为name.lower()
                    info.title()                       # 标题样式,把每个单词第一个字母大写
                    name.strip(‘h’)                    # 移除头、尾指定的字符串
                    info.capitalize()                  # 将字符串的第一个字母大写
                    name.replace('y', 'Y')               # 用Y替换y
                    name.zfill(10)                     # 字符串右对齐,不够10位的用0补全
                    name.rjust(10, '$' )                # 字符串右对齐,不够10位用$符补全
                    name.center(10, '$' )               # 字符串中间对齐,不够10位用$符补全
                    name.count('y')                     # 计算字符串中y的个数
                    name.index('a')                     # 返回字符串中a的位置,如果有多个,返回的是第一个的位置
                    name.find('hy')                     # 找到hy在字符串中的位置
                    info[1:6:2]                        #  取字符串第二到第六个,步长为2,取隔一个取一个
                    info[::-1]                         # 返转字符串
                    info.split('y')                     # 以y 为分隔符,分隔字符串

    3. 列表

    • 列表定义方法: a = []a = list()
    • 列表元素类型:数值、字符串
    • 列表操作方式:增、删、改、查、反转、相加

      • 例:

         # 定义列表
             a = ['zhangsan', 'lisi', 'wangwu']
             b = [1, 3, 2, 5, 4]
         #元素类型
             注:虽然一个列表中的元素可以有字符串,和数值
             但是,不建议定义字符串时混着用,建议一个字符串中只有一种数据类型
         #操作方式
             a.append('yhy')                          # 增加列表元素,新元素在最后面追加
             a.insert(2, 'e')                         # 在列表第三个位置插入值e
             a.pop(n)                                # n为数值,删除列表中第n个元素,参数为空时从最后一个删除
             a.[::-1]                                # 反转列表
             a.reverse()                             # 反转列表
             a[3]                                    # 取列表中第四个元素的值
             a[-1]                                   # 取列表中倒数第一个元素的值
             a[1:3]                                  # 取列表中第二到第3个元素的值
             a[1] = 'aaa'                             # 修改列表第二个元素的值
             a = []                                  # 清空列表

    4. 元组

    • 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
    • 元组中的元素类型也可以不相同
    • 定义方式:a = ()b = tuple()
    • 操作方式与列表类似
    • 常用方法:

              # 取最大最小值
                  max(a)                                # 取元组a中最大值
                  min(a)                                # 取元组a中最小值
                  len(a)                                # 查看元组的长度
              #元组相加
                  a + b                                 # 元组a与元组b的值组成一个新的元组

    5. 字典

    • 字典(dictionary)是Python中另一个非常有用的内置数据类型
    • 列表是有序的对象集合,字典是无序的对象集合
    • 字典当中的元素是通过键来存取的
    • 字典用{}来定义,是一组组的键值对,key:value
    • 键是唯一的,不可变的

      • 例:

            # 字典定义
                dic = {}  或 dic = dict()
                dic = dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
                print(dic) 输出 {'Taobao': 3, 'Runoob': 1, 'Google': 2}
                {x: x**2 for x in (2, 4, 6)} 生成字典为{2: 4, 4: 16, 6: 36}
                dic = dict(Runoob=1, Google=2, Taobao=3)
                dic的值为 {'Taobao': 3, 'Runoob': 1, 'Google': 2}
            #字典取值
                用dic['key']的方式取值
                dic['Taobao']                         # 值为 3
                for key,value in dic.items():
                        print(f'{key}:{value}')           # 用for循环输出字典的key:vlaue
            #字典的相关方法
                dic.clear()                           # 删除字典内所有元素
                dic.copy()                            # 返回一个字典的浅复制
                dic().fromkeys()                      # 创建一个新字典,以序列seq元素做字典的键,val为字典键对应的值
                dic.get()                             # 返回指定键的值
                key in dic                            # 如果键在字典则返回true,否则false
                dic.items()                           # 以里边返回遍历的元组
                dic.keys()                            # 以列表返回一个字典所有的键
                dic.values()                          # 以列表返回字典中所有值
                dic.setdefault(key,default)           # 和get()类似,如果键不存在于字典中,添加键并设值为default
                dic.pop(key)                          # 删除指定键key的值,并返回该值

    6. 集合

    • 一个无序不重复元素的序列
    • 基本功能是进行成员关系测试和删除重复元素
    • 可以使用大括号 { } 或者 set() 函数来定义集合
    • 注意:创建空集合必须用set(),不能用{},因为{}是空字典
    • Set可以进行集合运算

      • 例:

             # 创建格式
                 s = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
                 或 s = set(('Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'))
                 或 s = set(['Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'])
                 得到的s是一样的
             #集合运算
                 a=set('abcdefgabcdefg')
                 b=set('acbcdc')
                 print(a - b)                        # a和b的差集
                 print(a | b)                        # a和b的并集
                 print(a & b)                        # a和b的交集
                 print(a ^ b)                        # a和b不同时存在的元素
        • 使用s.add(key)可以添加元素到集合当中,可以重复添加,但没有效果
        • 使用s.remove(key)可以删除元素
        • 注意,集合当中不能放入可变对象

    7. 数据类型转换

    函数 描述
    int(x [,base]) 将x转换为一个整数
    float(x) 将x转换到一个浮点数
    complex(real [,imag]) 创建一个复数
    str(x) 将对象 x 转换为字符串
    repr(x) 将对象 x 转换为表达式字符串
    eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s) 将序列 s 转换为一个元组
    list(s) 将序列 s 转换为一个列表
    set(s) 转换为可变集合
    dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组
    frozenset(s) 转换为不可变集合
    chr(x) 将一个整数转换为一个字符
    ord(x) 将一个字符转换为它的整数值
    hex(x) 将一个整数转换为一个十六进制字符串
    oct(x) 将一个整数转换为一个八进制字符串

关键字