zoukankan      html  css  js  c++  java
  • python基础数据类型

    一.python基础数据类型

    1.int 整数。主要用于进行数学运算

    2.str 字符串。可以保存少量数据并进行操作

    3.bool 布尔。判断真或假 True/False

    4.list   列表。存储大量数据用[]表示

    5.tuple 元祖。不可以发生改变用()表示

    6.dict 字典.。保存键值对,一样可以保存大量数据

    7.set集合。 保存大量数据。不可以重复。其实就是不保存v的dict

    二  整数(int)

    在python3中所有的整数都是int类型。但是在python2中如果大量数据比较大。会使用long类型。

    在 python3中不 存在long类型

    bit_length()计算整数在内存中占用的二进制码的长度

    三 bool类型

    bool在python中是没有相应的方法的

    类型转换:  !0 =True 0=False

    字符串转换int   int(内容)

    int转换字符串 str(内容)
    xx类型 ==bool类型 bool(内容)

     

    PS:空的东西False 非空的为True

    no = None 表示也是空

    print(bool(no))
     PS:所有的数据类型,如果是空的,转换成bool就是false,如果是非空的True

    死循环

    四 字符串

    索引和切片,索引就是编号,索引是从0开始的,索引可以获取到数据[索引即下标]

    #索引
    #正排 0123456
    s = "jack和li"
    #反排-6-5-4-3-2-1
    print (s[1])

    #倒数,在python中-1表示倒数第一个
    print(s[-1])
    print (s[-2])

    #切片
    li = "abcdefgh"
    print (li[2:6]) #特点:顾头不顾尾
    print (li[0:]) #如果不写表示 取到最后
    print (li[:3]) #开头去可以写0或者不写
    print(li[:]) #这里是把原来的字符串进行copy
    print (li[-5:-3])
    print (li[-3:-5]) # 只能从左往右取

    #步长:如果步长为正,从左望右取,如果步长为负从右往左取
    print (li[-3:-5:-1])
    #数值表示:每n个取一个
    fun = 'jackli'
    print (fun[1:5:2]) #从a取到l因为顾头不顾尾取不到i,结果为ak

    a = '''
    切片:[开始位置:结束:步长]
    特点:顾头不顾尾。步长;默认为1 如果步长为负数。从右往左取
    '''

     五 字符串操作 

    s = 'jack.Li'
    s1 =s.capitalize() #首字母大写
    print (s1)

    s2 = s.lower() # 变成小些
    print (s2)

    s3 = s.upper() # 变成大写
    print (s3)

    s4 = s.startswith() #大小写互转
    print (s4)
    s = 'jack'
    print (s.center(10,"*")) #默认由空格来填充

    s1 = ' li  can not find li '
    print (s1.strip()) #去掉左右两端的空格

    print (s1.strip(" ")) #去掉两端字符串
    print (s.lstrip()) # 去掉左边空格

    #替换
    s = "jack_li_jack_syf"
    print (s.replace('jack','大王',1))

    #字符串切割
    li = "jack_songsir_egon"
    ret = s.split("_") #切割之后的结果是列表
    print (ret)


    a = '''
    水手
    月亮之上
    康定情缘
    '''
    lst = a.split(" ")
    print (lst)


    #查找
    S = "can not find objket 百"
    print (S.startswith("can")) #判断是否以can开头
    print (S.endswith("百"))


    li = "my can find name go mha"
    print (li.count("a")) # 统计a出现的次数

    s12 = "123455"
    print (len(s12)) #计算字符串长度

    s11 = "BeiJingJD"
    for i in s12:
    print (i)

    六 格式化输出

    vers = '我叫{}.来自{},爱好{}'.format("CREPJ","JD","shaodu")

    print (vers)

    vers = '我叫{name}.来自{address},爱好{hobby}'.format(name="hangzhou",address="BEIJIng",hobby="henan")

    print (vers)

    七 列表

    1.列表

    2.列表的增删改查

    3.列表的嵌套

    4.元祖和元祖嵌套

    5.range

    列表

    7.1列表的介绍

      列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型,如JS中的数组

    Java中的数组等等,他是以[]括起来,每个元素用','隔开而且可以存放各种数据类型

    lst [1,True,"字符串",[1,2,3,4],{"k":"jack"},{1,2,3}]
    列表相对于字符串。不仅可以存放不同的数据类型。而且可以存放大量的数据。而且列表是有序的 ,有索引,可以切片方便取值

    7.2列表的切片

    #列表的索引/切片
    lst = ["abc","def","efg"]
    print (lst[1][0])
    print (lst[-2][-1])

    print (lst[0:2]) #切片切出来的还是列表

    列表的增删改查#列表的lst1 = ["赌神","喜剧之王","西西里的传说","心灵朴树欧"]
    '''
    lst1.append("我不是药神")
    print (lst1)

    lst1.insert(1,"邪不压正") #效率较低
    print (lst1)

    lst1.extend(["举起瘦了"],[1],[2]) #迭代新增
    print (lst1)

    #列表的删

    lst2 = ["佟亚丽","王亚丽","王力宏","贺国强","国强民富欧"]
    lst2.pop(2) #可以根据索引删除,也可以删除最后的元素,可以查看被删除的元素
    print (lst2)

    lst2.remove("佟丽娅") #制定元素进行删除
    print (lst)

    lst2.clear()#清空
    print (lst2)

    del lst2[0] #切片删除
    print (lst2)

    #修改:
    lst = ["郭德纲","岳云鹏","孙悦","于谦"]
    lst[2] = "曹云金"
    print (lst)

    lst[1:3] = ["郭麒麟"] #迭代修改
    print (lst)

    lst[1:3:2] = ["何云伟","李靖"] #带步长的一定注意元素的个数
    print (lst)
    '''

    #查询
    lst = ["空掉","冰箱","电视"]
    for le in lst:
    print (le)

    #其他操作
    c = lst.count("电视") #统计出现的次数
    print (c)

    lst2 = [1,3,2,5,3,5,7,86,8]
    lst2.sort() #正序排
    print (lst2)

    lst2.sort(reverse=True) #反排
    print (lst2)

    lst2.reverse() #反转
    print (lst2)
    #列表的嵌套
    lst3 = [1,"太白","wusir",["马化腾",["可口可乐"],"王健林"]]# print (lst3[3][1][0])
    lst3[3][1].append("雪碧")
    print (lst3)

    八 元祖和元祖嵌套

    元祖:不可变的列表。又称为只读列表,元祖也是python的基础数据类型之一,用小括号阔起来,里面可以放任何数据类型的数据,查询数据,切片,不能修改

    #列表的嵌套
    lst3 = [1,"太白","wusir",["马化腾",["可口可乐"],"王健林"]]
    # print (lst3[3][1][0])
    lst3[3][1].append("雪碧")
    print (lst3)

    tu = (1,"台吧","礼拜"," 太黑")
    print(tu[3]) #有索引,有切片
    #可迭代
    for a in tu:
    print (a)

     range

    for i in range(1000000):
    print (i)

    for i in range(3,7): #[3,7], 顾头不顾尾
    print (i)

    for i in range(1,100,2): #步长
    print (i)

    九 字典

    dic1 = {1:"马化腾",2:"胡辣汤",(1,2,3):"饺子"}
    print (dic1)
    # key必须是可哈希的,不可变的东西都是可哈希的
    #字典以{}把key:value的数据保存起来。key必须可哈希value没有任何要求

    #从字典中获取数据
    # dic = {"id":1,"name":"jack",'age':12}
    # print (dic["age"])

    dic1 = {"周杰伦":"双节棍","王力宏":"大城小爱","郭得刚":"于谦他么美"}
    dic1["刘强东"] = ["JD"] #新增 当key不存在的时候,直接赋值
    print (dic1)

    v = dic1.setdefault("刘强东","QQ") #当key不存在的时候,把k-v新增进字典,如果有这个key,就不会有这个key
    #setdefault第二个工作,会把key对应的值或取到
    print (dic1)



    lsa = [11,22,33,44,55,66,77,88,99]
    dic3 = {}
    for i in lsa:
    if i < 66:
    dic3.setdefault("key1",[]).append(i)
    else:
    dic3.setdefault("key2",[]).append(i)
    print (dic3)


    #更新:
    dic4 = {"id":"hafa","name":"sylar","age":18}
    dic5 = {"id":456,"name":"马化腾","ok":"wtf"}
    dic4.update(dic5) #把dic5更新到dic中.如果key重名,则修改替换,如果不存在key,则新增
    print (dic4)

    #查询
    # print (dic4["pd"]) #会报错
    print (dic4.get("PD","不存在")) #当key不存在的时候返回默认值,当key有的时候会返回v

    #其他操作
    print(dic4.keys()) #返回所有的key的集合(既不是列表也不是集合,是一个可迭代对象)
    for i in dic4.keys(): #可迭代
    print (i) #所有的key
    print (dic4[i])

    for a in dic4.values():#获取到所有的v
    print (a)

    for k,v in dic4.items(): #items ()拿到的是key,v组装出来的是元祖
    print (k,v)

    for k in dic4():
    print (k)
    print (dic4[k])




    # 字典的嵌套
    person = {
    "name":"汪峰",
    "艺名":"皮克",
    "Wi-Fi":{
    "name":"章子怡",
    "艺名":"国际张",
    "age":"30",
    "前夫":[{'name':'撒贝宁'},{'name':'白眼怂'},{'name':'jack'}]
    },
    'children':[
    {'name':'孩子',"age":128},
    {'name':"孩子2","age":12}
    ]
    }
    print (person["Wi-Fi"]["前夫"][1]["name"])
    person['children'].append({"name":"3","aeg":12})
    print (person)
  • 相关阅读:
    transient关键字详解
    大话设计模式之装饰模式
    springboot读取properties(yml)的几种常用方式
    springboot整合druid数据库连接池并开启监控
    初学js的穷举思想
    循环语句
    条件分支语句
    运算符
    案例(-)
    seo搜索引擎优化
  • 原文地址:https://www.cnblogs.com/sseban/p/10460279.html
Copyright © 2011-2022 走看看