• python-数据类型


    python基本数据类型有数字int、布尔值bool、字符串str、列表list、元组tuple、字典dict等

    通过对数据定义不同的类型,来处理文本、图形、音频、视频、网页等各种各样的数据

    1. 整形和浮点型
    整形也就是整数类型(int)的,在python3中都是int类型,没有什么long类型的,比如说存年龄、工资、成绩等等这样的数据就可以用int类型,有正整数、负整数和0,浮点型的也就是小数类型(folat)的,带小数点的

    2. 布尔类型

    布尔类型用来表示真假,用True和False表示,还可以用0和1表示,非0即1

    3. 列表和列表的操作

       列表也叫数组,是最常用的数据类型之一,用于存储任意数目,任意类型的数据集合

      用[]来定义列表,列表里面可以再套列表,一个里面套一个列表,叫二维数组;一个里面套一个列表,里面的列表再套一个列表,这个叫三维数组,套几层就是几维

      

    通过下标访问列表中的元素,下标从0开始计数,也就是说,比如说一个列表,有个5元素,那么它第一个元素下标就是0,第二个就是1,以此类推,字符串也有下标,和列表一样 对列表的操作,分以下几种增、删、改、查

      3.1 定义一个空列表

    3.2 查询

         查询列表中元素的个数,

         

         查询某个角标对应的元素,下标-1代表最后一个元素

        

    3.3增加元素

    3.4 修改元素

    3.5 删除元素

    3.6 列表操作一些内置方法

     

    3.6 列表循环

      如果直接循环一个list,那么每次取的就是里面的每一个元素

    循环时同时取下标和值

    3.7 切片

    切片时list取值的一种方式,,可以快速提和修改指定范围的值,切片取值时顾头不顾尾的

    标准格式为:[起始偏移量start:终止偏移量end:[步长step]]

    4. 元组

    元组其实和列表一样,不一样的是,元组的值不能改变,一旦创建,就不能再改变了,比如说,要存数据库的连接信息,这个连接信息在程序运行中是不能被改变的,如果变了那数据库连不上了,就程序就完犊子了,这样的就可以使用元组了,元组呢,也提示别人,看到是元组的话,就说明这个值是不能被改变的,元组的定义方式是用(),小括号;元组只有两个方法,那就是count和index

     因为元组时不可变的,所以没有增删改操作

    5. 字典

    字典,字典也是我们开发过程中最常用的一种数据类型;想一个问题,现在要存整个北京市的所有人的信息,每个人有姓名、年龄、性别、家庭住址、学历等等,那要是用列表存的话,那就得定义N多个数组,然后存上每个人的信息,那累死人了。。。这时候又有一种新的数据类型出现了,那就是字典,dict,全称是dictionary,它具有极快的查找速度;字典是一种key-value的数据类型,比如说要存每个人的信息,那么每个人的编号就是key,value就是每个人的信息,这样的话,一个字典就能存所有人的信息了。字典的定义使用{},大括号,每个值用“,”隔开,key和value使用“:”分隔。
    举个列子,如果用列表存每个人的信息的话,需要用两个列表,一个存人名,一个存信息:

    5.1定义字典

    5.2查询,如果查询的key值会报错

    5.3修改

    5.4 新增,如果新增的值已经存在,则会覆盖之前的

    5.5 删除,删除不存在的元素会报错

    5.6  一些内置方法

    5.7 为什么字典查询快

    为什么dict查找速度这么快?因为dict的实现原理和查字典是一样的。假设字典包含了1万个汉字,我们要查某一个字,一个办法是把字典从第一页往后翻,直到找到我们想要的字为止,这种方法就是在list中查找元素的方法,list越大,查找越慢。
    第二种方法是先在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢,这种就是字典的实现方式。
    字典的特性:
    字典是无序的,因为它没有下标,用key来当索引,所以是无序的
    字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重

    6. 字符串

    引号创建字符串,可以时一句话或者一个名字

    可以通过单引号或双引号创建字符串

    使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符

    字符串基本特点

    本质是字符序列,python的字符串是不可变的,我们无法对原字符串做任何修改

    python不支持单字符类型,单字符也是作为一个字符串使用的

    字符串还有很多内置的方法,对字符串进行操作,常用的方法如下,下面注释带有是否的,返回的都是一个布尔值

    常用方法:replace,strip,join,split,isdigit, upper,lower,format,startwith,endwith,count,zfill

    new_s=s.strip()#默认去掉字符串两边的空格和换行符,返回一个新的字符串
    new_s1=s1.strip(".")#去掉指定字符
    print(new_s1)
    print("s:",s)
    print("new_s:",new_s)
    print(s1.rsplit()) #去掉右边
    print(s1.lstrip()) #去掉右边的

    print(s1.count("."))#某个字符出现的次数

    # print(s1.index("d"))#找某个字符串下标, 如果字符串不存在会报错
    # print(s1.find("d"))#找某个字符串下标, 如果字符串不存在返回-1

    print(s1.replace("abc","ADC"))#替换内容

    print(s1.replace("abc","ADC",1)) #默认替换全部,可以指定替换其中一个

    print(s1.upper()) #变成大写字母
    print(s1.lower()) #变成小写字母

    s2= "python"
    print(s2.capitalize()) #首字母大写
    print(s2.startswith("p"))#判断是否以某个字符串开头
    print(s2.endswith("y"))#判断是否以某个字符串结尾
    print(s2.islower())#判断是否都是小写
    print(s2.isupper())#判断是否都是小写
    print(s2.istitle())#判断是否是标题
    print(s2.isdigit())#判断是否是纯数字
    print(s2.center(30,"****"))#

    print(s2.isalpha())#判断是否全部是字母或者汉字,不能有数字和特殊符号
    print(s2.isalnum())#字符串里面没有特殊字符返回True
    print(s2.isspace())#判断是否全部是空格
    print(s2.isidentifier())#是不是一个合法的变量名

    s4= "insert into user VALUE ({username},{passwrod},"
    "{addr},{email},{phone}); "
    new_s4 = s4.format(username="sss",phone=123456,passwrod=22222,addr="beijing",email="55555")
    print(new_s4)
    d = {'addr':'北京','username':'xiaohei','password':'12345','email':12,
    "phone":'sdfs'}
    s_map= s.format_map(d)
    print(s_map)

    s="1"
    print(s.zfill(3)) #往前补0

    #重要方法
    q ='user1,user2,user3,user4,user5,user6,user7'
    print(q.split(",")) #按照某个字符来分割字符串,返回一个list
    w = 'user1 user2 user3 user4 user5 user6 user7'
    print(w.split()) #什么都不传的话按照空格来分隔,括号里的符号要和字符串分割符一致

    cars = ["BMW","BEN-Z","AODI"]
    res = ','.join(cars) #以某个字符串把list里面的元素连接起来
    print(res)
    print(str(cars))

    7. 文件操作
    #打开一个文件
    f = open("user.txt",encoding='utf-8')
    res = f.read()
    print(res)
    f.close()


    #在文件里新增内容
    fw = open("user",mode="a",encoding="utf-8") # w 会覆盖之前内容,a累计添加
    fw.write("aaa ,4444 ")
    fw.close()
  • 相关阅读:
    Python 进阶技能:列表、字典、集合的处理
    Python collections模块
    Python 进阶技能:字符串的分割、替换、删除、拼接、对齐
    Python 面向对象
    Nginx搭建web服务进行文件传输 Windows
    安装及初次启动Jenkins
    Python 异常处理
    刷题
    函数指针
    面试c++
  • 原文地址:https://www.cnblogs.com/xxy0703/p/9991528.html
Copyright © 2020-2023  润新知