• python数据类型


    python的基本数据类型

    目录

    1.字符串str

    2.整型int

    3.浮点型float

    4.布尔类型bool

    5.列表list

    6.元祖tuple

    7.集合set

    8.字典dict

    1.字符串str

    1.1作用:

    不可变类型。

    主要是表示文本的数据类型,形容事物的属性。Python中最常用的类型之一。

    1.2方式

    主要有四种方式:

    1. '文本内容'。用单引号将内容包括。主要适用于单行。
    2. "文本内容"。用法同单引号。主要适用于单行。
    3. ‘’‘文本内容’‘’。当文本内容较多时可使用,主要适用于多行。
    4. str()。也可将其他数据类型转化为字符串类型。

    Tip:在使用单、双引号时,切记不可在单引号中使用单引号、双引号中使用双引号。如需使用,可交叉使用。

    # 1.单引号
    print('这是一个单引号。')
    # 2.双引号
    print("很明显,这是一个双引号。")
    # 3.三引号
    print("""
    	花开堪折直须折,
    	莫待无花空折枝。
    	兄弟,看到喜欢的妹纸就要去追啊!!
    	""")
    # 4.不能在单引号之中再次使用单引号,双引号也一样,如果你这样使用,电脑会懵逼。
    print("这个是双引号'要是使用就要交叉使用',所以这里面有一个单引号")
    
    

    1.3 基本操作

    方法名 意义
    count(x,start,end) 在范围内统计x出现的次数
    len() 获得字符串的长度
    endswith(x) 字符串是否以x结尾,返回True或者False
    strip() 去掉字符串开头结尾的空格
    capitalize() 首字母大写
    title() 将字符串每个单词都大写开头
    join(str) 将两个字符串进行拼接
    encode() 将字符串编码成对应的编码
    split(x) 将字符串以x为分割点分成列表
    partition(x) 字符串以x为点将字符串分成三部分
    index(X) 获取x的索引,没有则报错
    find(x) 给出x的索引值,没有则返回-1
    upper() 将字符串都变成大写
    lower() 将字符串变成小写(支持ascii码)
    casefold() 同上,但是可将不同形式的语言
    isdigit() 判断字符串是不是全是数字,返回true或False
    center(length) 将字符串填充到固定长度,且将原内容居中
    replace(old,new) 用new来替换old
    str.maketrans(a,b) 将a,b的ascii码编号形成k:v的字典

    2.整型int

    在Python2 中,超出固定长度的整型称为长整型,但是在Python3中,只有整型的概念。这里只对整型进行学习,复数什么的我也不会,只能说说整型了。

    2.1 作用

    顾名思义,简单理解就是数学中的整数,记录事物的数学属性。

    2.2 定义方式

    主要有两种方式:

    1. 直接输入。不需要想字符串一样加引号,直接获得

    2. int()。对纯数字不带小数点的字符串可以进行转化。

    寻思了一下,好像也没找到什么具体的操作方法,直接进行相关操作就行了,但是要记得在用input得到用户的输入时,其类型属于字符串,如需使用,可对信息进行int()。

    3.浮点型float

    这个就更简单了,相当于在带小数点的数字。如果整型后面加上小数点,就变成了浮点型。

    使用方法可以参考整型。但是记得,浮点型的英文简写是float。

    其他的我就不记录了,这行就是凑字数的,省的显得我写的少。



    4.布尔类型

    布尔型主要有两个值:True和False。

    4.1 作用

    布尔类型主要用于条件判断。

    4.2 定义方式

    所有的值都有自己的布尔值,大家只需要记得什么代表False就行了。

    False:0,None,空。

    除了以上三个,其余则全部为真。

    定义方式主要有两种:

    1. 直接得到。根据值代表的含义直接得到,比如0就是代表False。或者直接赋值tag=True
    2. 通过对比判断得到。如4>3就是True,4<3就是False。

    4.3 应用

    在语法结构中使用较多,如if和while的判断条件。

    然后具体情况在之后的语法篇可能会分析一波。

    5.列表list

    可变类型,使用频率相当之高的数据类型,可以将列表当做一个收纳盒,将各种数据类型放进去,甚至是列表本身。还能非常简单的取出来,是不是很神奇?记得我学习的时候脑海里只剩下一句话python NB。话不多说,赶紧的开始旅程了。

    5.1作用

    按照顺序很方便地存放一些具有相同的某种联系的多个值,也能方便的取出。

    5.2 定义方式

    主要方式有两种:

    1. 直接定义。在[]内用逗号隔开不同的任意数据类型。

      user_info = ["tom",18,["playing","learning"]]

    2. 利用list()。可以使用list()方法转为列表。

      old_tuple = ("jerry",20)

      new_list = list(old_tuple) # new_list = ["jerry",20]

    5.3 应用方式

    列表的使用比较广泛,同一个列表可以存放不同类型的数据类型。在使用中大都将一些具有某种相同联系的数据存放在一个列表里。当然其中的值也可以没有关系,但是切记

    存不是目的,目的是方便地取

    5.4 基本操作

    5.4.1 查

    列表是根据索引进行取值,按照列表内从左到右的顺序依次从0开始数。

    # 1.列表索引,这两个列表里的值代表各自位置索引
    test_list1 = [ 0, 1, 2, 3, 4] # 从左是从0开始数
    test_list2 = [-5,-4,-3,-2,-1] # 从右是-1开始数
    
    # 2.取值
    # 2.1 可以利用索引取值。
    test_list = ["tom",20,["play","learn"]]
    
    # 取出"tom"
    test_list[0]
    
    # 取出20
    test_list[-2]
    
    # 取出"play"
    test_list[2][0]
    

    5.4.2 增

    列表属于可变数据类型。在列表里增加内容有以下几种方法。

    方法 意义
    append(x) 在列表的末尾增加元素x。x可是任意数据类型,但只能增加一次
    insert(索引,x) 将x元素添加到索引位置之前。
    extend(list1) 将list1的元素添加到列表的末尾。两个列表合并为1个。

    5.4.3 删

    方法 意义
    remove(x) 将x从列表内删除,如果没有该元素报错。不能像pop一样删除元素重用
    pop() 没有索引就删除最后一个元素,有索引就删除对应的元素,可以将删除元素赋值重用
    clear() 将列表内清空。

    5.4.4 改

    # 根据列表元素的索引定位到该元素,然后进行重新赋值。
    test_list = ["tom",20,["play","learn"]]
    
    # 将tom 改成jerry
    test_list[0] = "jerry"
    
    # 将"play"改为"sleep"
    test_list[-1][0] = "sleep"
                 
    

    5.4.5 其他操作

    方法 意义
    index(x) 查到x元素在列表内的索引,如果x不存在,则报错
    count(x) 得出x在列表内出现的次数
    reverse() 列表元素反转排序
    sort() 对元素进行正向排序,不同数据类型不恩能够进行正向排序(操作不可逆)
    sorted(list) 对列表进行排序,但是不会更改原有的元素排列

    对列表进行遍历,主要使用一种方式。

    test_list = ["tom",20,["play","learn"]]
    
    for i in test_list:
    	print(i)
    

    6 元祖tuple

    不可变数据类型,元祖一旦定义之后,就不能对其内容进行修改,与列表这个多变的渣男不同。

    6.1 作用

    效果与列表相同,但是不可修改。有特定的应用场景(也是很重要的)。

    6.2 定义方式

    元祖的表现形式是括号(),元祖内的元素也是用逗号隔开。但是记得,如果只有一个元素,务必要在该元素之后加一个逗号。(列表就不是这样)

    # 1. 直接定义获得
    test_tuple = ("tom",)
    test_tuple1 = ("tom",20,["play","learn"])
    
    # 2.利用tuple()方法转换列表
    test_list = [1,2,3]
    test_tuple = tuple(test_list)
    

    6.3 基本操作

    6.3.1 查

    因为列表属于不可变类型。所以不可进行增、删、改。只可进行查询的操作。方法同列表

    # 1.元祖索引,这两个列表里的值代表各自位置索引
    test_tuple1 = (0, 1, 2, 3, 4) # 从左是从0开始数
    test_tuple2 = (-5,-4,-3,-2,-1) # 从右是-1开始数
    
    # 2.取值
    # 2.1 可以利用索引取值。
    test_tuple = ("tom",20,["play","learn"])
    
    # 取出"tom"
    test_tuple[0]
    
    # 取出20
    test_tuple[-2]
    
    # 取出"play"
    test_tuple[2][0]
    

    6.3.2 其他操作

    方法 意义
    index(x) 查询x在元祖中的索引值,无x则报错
    count(x) 统计x在元祖中出现的次数

    7 集合set

    同数学上的集合是一个概念。

    7.1 作用

    根据数学概念即可知其功能。

    1. 去重。在集合内没有完全相同的元素。
    2. 关系测试。可进行数学上的并、交、差运算。

    7.2 定义方式

    集合同列表、元祖差不多一样的定义方式,是在{}内元素用逗号隔开。只有一个元素不用逗号也是可以的。但是要记住的是,集合不能为空,空{}是一个字典。

    # 1.使用{}直接定义,元素用逗号隔开
    test_set = {"tom",20,["play","learn"]}
    
    # 2.使用set()方法进行转换。
    test_list = ["tom",20,["play","learn"],"tom"]
    test_set = set(test_list)
    # 会把重复的"tom"去掉
    test_set = {"tom",20,["play","learn"]}
    
    

    7.3 基本操作

    集合属于可变类型,但是集合最重要的功能是进行去重和关系测试。由于集合是没有顺序的,且不像字典一样有Key值,导致并不能对集合内的元素进行查询。

    7.3.1 天生去重

    在集合内本身就没有相同的元素。即使你向集合内添加一个与集合内相同的元素,也是没有添加进这个元素的。

    # 即使在定义的时候就将集合内的元素重复,但是打印时候,集合内这些元素依然只有一个。
    test_set = {1,2,3,4,1,2,3,4}
    print(tset_set)
    test_set = {1,2,3,4}
    

    7.3.2 增、删

    功能 方法 意义
    add(x) 将x添加到集合内
    remove(x) 将x从集合内删除,没有则删除
    pop() 对集合内的元素进行随机删除

    7.3.3 关系测试

    test_set1 = {1,2,3,4,"tom"}
    test_set2 = {1,7,8,9,"tom"}
    
    # 并集:union()
    print(test_set1.union(test_set2))
    # {1, 2, 3, 4, 7, 8, 9, 'tom'}
    
    # 交集:intersection()
    print(test_set1.intersection(test_set2))
    # {1,"tom"}
    
    
    # 差集:difference()
    
    # 去掉集合2中与集合1相同的部分后剩余的元素
    print(test_set1.difference(test_list2))
    # {2, 3, 4}
    

    其他方法我就不一一赘述了,也不常用,用的时候可以慢慢试试。我英语也不太好,那个太长了。

    8 字典dict

    无序可变数据类型。

    字典的使用就是开启小装逼之路, 用了字典就会觉得立马不一样了,在用列表的时候可以试试直接用字典来,方便存取。

    8.1 作用

    Python中唯一内建映射类型,也是除列表之外最灵活的数据结构类型。

    8.2 定义方式

    字典外用花括号{}来包括元素,元素间是用 逗号 来隔离相邻的项,元素内部的用 key:value 来实现,前者代表的是key(key必须是字典内的唯一元素,不能重复)。后者则是value(value可以是任意数据类型,不需唯一)。两者之间用冒号代表。

    key就相当于一个盒子的标签,你找到这个标签,就可以打开这个盒子看到里面的存放的value。

    # 1.直接赋值定义得来
    test_dict = {"key":"value","name":"tom"}
    
    # 2.可以用dict()函数。=左边是key,右边是value
    test_dict = dict(name = "tom",age = 18,list1=[1,2,3])
    # 输出结果为 {'name': 'tom', 'age': 18,"list1":[1,2,3]}
    
    

    8.3 基本操作

    列表是以索引来查询元素的,字典则是以key来进行一系列操作的。

    8.3.1查

    test_dict = {"name":"tom","age":18,"hobby":["play","learn"]}
    
    # 1.根据key来查询元素
    # 取出"tom"
    test_dict["name"]
    
    # 取出play
    test_dict["hobby"][0]
    
    # 2.使用get方法来获取value,若没有key,则会返回None。
    test_dict.get("name")
    
    
    # 3.使用setdefault()方法。当然这方法主要是用来增加字典元素的。
    # 取出”tom"
    test_dict.setdefault("name")
    

    8.3.2增

    a = {"1":"one","2":"two","3":"three"}
    
    # 1.直接使用[key]的方式。
    a["4"] = "four"
    
    # 2.使用setdefault()。如果字典有这个key,则会返回原有的value(可以用来查)。
    setdefault("key","value")
    
    # 3.updata()的方法。在括号内新增键值对
    D = {"1":"one","2":"two"}
    D.updata("3":"three","4":"four")
    
    

    8.3.4 删

    a = {"1":"one","2":"two","3":"three"}
    
    # 1.pop(key)。如果key不存在,则会报错
    a.pop("1")
    
    # 2.clear()。清空字典所有元素
    a.clear()
    
    # 3.popitem()。随机删除,估计存在的意义是抽奖删除。
    a.popitem()
    
    

    8.3.4 改

    a = {"1":"one","2":"two","3":"three"}
    
    # 利用[key]来改变元素值。与列表相似。
    a["1"] = "1"
    

    8.3.5 其他操作

    方法 意义
    {}.fromkeys(list,value) 创建以list中元素为key,None为value的字典,也可自定义value,选填
    keys() 将字典的所有key当做列表形式打印,如需使用则可用list()成真正列表
    values() 主要是value,同上
    items() 将(key,value)元祖作为列表元素,用法同上

    遍历字典内容主要有四种方式

    a = {"1":"one","2":"two","3":"three"}
    
    # 1 对key进行遍历。强烈推荐
    for k in a:
        print(k)
        
    # 2 对key遍历的第二种形式。
    for k in a.keys():
        print(k)
    
    # 3 对value进行遍历
    for v in a.values():
        print(v)
        
    # 4 对key,value 进行遍历
    for k,v in a.items():
        print(k,v)
        
    

    TIP:练习题

    # 作业
    #1、students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
    请取出第一个学生的第一个爱好
    students_info[0][2][0]
    #2、针对字典
    info={
        'name':'egon',
        'hobbies':['play','sleep'],
        'company_info':{
            'name':'Oldboy',
            'type':'education',
            'emp_num':40,
        }
    }
    请取出取公司名
    info["company_info"]["name"]
    
    #3、针对下述类型
    students=[
        {'name':'alex','age':38,'hobbies':['play','sleep']},
        {'name':'egon','age':18,'hobbies':['read','sleep']},
        {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
    ]
    取第二个学生的第二个爱好
    students[1]["hobbies"][1]
    
    
    

    需要改进的地方还请不吝赐教。

  • 相关阅读:
    SpringBoot自定义FailureAnalyzer
    Linux 系统目录结构
    Spring Boot实战:静态资源处理
    Activiti7整合SpringBoot(十二)
    Acvitivi网关(十一)
    为什么阿里巴巴要禁用Executors创建线程池?
    lqb 基础练习 数列排序 (sort的使用)
    lqb 入门训练 A+B问题
    lqb 入门训练 序列求和 (PS:用长整数做数据的输入输出)
    lqb 入门训练 圆的面积 (PS: PI的精确计算方法 atan(1.0) * 4)
  • 原文地址:https://www.cnblogs.com/liqianxin/p/12354454.html
Copyright © 2020-2023  润新知