python 类的功能,字符串字节,嵌套等相关学习总结

一、运算符
    in
    “hello” in “asdfashellosdfadfadfa”
    "li" in ['li','ok']
二、基本数据类型
    int
        a、创建方式
            n1 = 123       #根据int类,创建了一个对象
            n2 = int123    #根据int类,创建了一个对象
            特有的功能在:
                int类
                    功能1
                    功能1
                    功能1
                    ...
                    __init__ 初始化
        b、int内部优化
            n1 = 123
            n2 = n1
            
            n1 = 123
            n2 = 123
            =====两份内存=====
            -5~257  这个可以通过修改源码改变,由c语言演变过来的,查源码
            n1 = 123
            n2 = 123
            
            n1 = 123
            n2 = 123
            ==》对象的内存地址=id(对象或对象的变量名)这样可以查看内存地址
        c、长度限制
            用int,超出了范围(根据计算机的不同定义的)
            32位的操作系统 -2**31 ~ 2**31-1
            64位的操作系统 -2**63 ~ 2**63-1
    long
    bytes:可以将字符转换成字节
            
            
    str
        a、创建方式
            s1 = "zq"
            s1 = str("zq")
        b、特有的功能
            #两端去除空格
            #s1.strip()
            
            #以...开头
            #s1.startwith()
            
            #找子序列
            #s1.find()
            
            #将字符串中的某子序列替换成指定的值
            #s1.replace()
            
            #变大写
            #s1.upper()
            
            #是...吗?
            #s1.isalpha()
        c、公共功能
            索引:只能取一个元素
            切片:取多个元素
            len:
            for:
            
            编码、for:
                name = "李露"
                for i in name:
                    print (i)
                    bytes_list = bytes(i, encoding='utf-8')
                    print(bytes_list)
                    for b in bytes_list:
                        #字节默认16进制
                        #输出每一个字节默认16进制
                        print(b,bin(b))
                1、 3.6版本中for循环时候,循环的每一个元素是“字符”
                2、 字符=》 字节
                    bytes_list = bytes(“字符串”,encoding=‘utf-8’)
                        #utf-8 -》 3字节
                        #gbk -》 2字节
                    print(bytes_list)#默认每一个字节都是16进制
                    for b in bytes_list :
                        print(b)                #默认每一个字节都是10进制
                3、 10进制的数字 ==》  2进制
                    len
                    id
                    bin(10进制的数字)
        d、 bytes和str的转换
                a = "张强"
                #将字符串转换成字节
                b1 = bytes(a, encoding='utf-8')
                print(b1)
                b2 = bytes(a,encoding='gbk')
                print(b2)
                #将字节转换成字符串
                print(str(b1,encoding='utf-8'))
                print(str(b2,encoding='gbk'))

                #########
                x = str()
                #创建字符串
                #转换成字符串
                o = bytes()
                #创建字节
                #转换成字节,字符串,要编程什么编码类型的字节
        
        str()
            str类__init__
    list
        a、创建和转换
            1、创建
                可变的元素的“集合”,列表
                li = [11,22,33,44]
                li = list()
                ------------
                str -> 创建字符串,或者将其他的转换成字符串
                list -> 创建列表,将其他元素转换成列表
                li = ([11,22,33,44])
            2、转换    
                #iterable可迭代的: for可以循环的
                a1 = "张强"
                #for,字符 ==> iterable
                li = list(a1) #for循环,将循环的每一个元素,当做列表的元素
                print(li)
                
                #########字典#######
                dic = {"k1":"zq","k2":"sdfsdf"}#注意是大括号
                l3 = list(dic)
                print(l3)
                l4 = list(dic.values())
                print(l4)
                l5 = list(dic.items())
                print(l5)

                #字符串,元组,字典 =》 列表
        b、 列表特有功能
            li = [11,22,3]
            #追加
            # li.append()
            #清楚
            #li.clear()
            #扩展自己,用另外一个可迭代的对象扩充到自己
            #str字符串,列表list,字典dic,元组tuple
            # z = "张强"
            # li.extend(z)
            # print(li)
            #翻转,自己内部元素翻转
            #li.reverse()
            #向指定位置插入指定元素
            # li.insert(1,'x')
            # print(li)
        c、 公共功能
            li = ["zq","fd","gg","rg"]
            索引:只能取一个元素
            切片:取多个元素
            li = ["sdf","sdfe","hdf","sdgx"]
            print(li[1])
            print(li[1:3])
            sdfe  #索引
            ['sdfe', 'hdf'] #切片 本来是什么类型,切片取出来的就是什么类型
            
            for
            len
            
        d、 多层嵌套
            li = ['sdf','dff','we','gr']
            li = ["zq",12,{"k1":"b1","b2":{"qq":(11,22,33),"ii":741}}]
            
            li[2] --> {"k1":"b1","b2":{"qq":(11,22,33),"ii":741}}
            li[2]['k2'] ==> {"qq":(11,22,33),"ii":741}
            li[2]['k2']["qq"] --> {11,22,33}
    元组tuple
        a、创建和转换
            t = (11,22,33)
            t = tuple((11,22,33))
            t = tuple{[]} #字符串、列表、字典
        b、 特有的方法
            count index 
        c、 嵌套(元素不可修改)
            t = (11,22,33)
            t = (11,22,["zq",{"zq1":"z1"}])
            t[2] = ["zq",{"zq1":"z1"}]
            t[2][1] = {"zq1":"z1"}
            t[2][1]["zq1"]
        e、 元组的特性,不可修改,谁不可修改---元组的元素不可修改,元素的元素可以修改
            #给字典里面的元素添加新元素,两种方法
            dic = {"zq1":"zz"}
            # dic.update({"zq2":15}) #新添加的元素注意加大括号
            # print(dic)
            dic["zq2"] = 15
            print(dic)
            
            # t = (11,22,33)
            t = (11,22,["zq",{"zq1":"z1"}])
            # print(t[2])
            # print(t[2][1])
            # print(t[2][1]["zq1"])
            # print(t)
            # t[2].append("zz")
            # print(t)
            
            t = (11,22,["zq",{"zq1":"z1"}])
            t[2][1]["zq2"]=15
            print(t)
            t[2][1].update({"zq3":15})
            print(t)
                #什么时候是自身的变化什么时候产生新的
                #一般对于字符串的操作
            一般字符串,执行一个功能,生成一个新内容,原来内容不变
            list、tuple、dic,执行一个功能,自身进行变化
            
            
    字典:
        1.创建
            a = {"z1":8}
            a = dict()
            li = [11,22,33]
            # new_dict = dict(li) #这是不可以的
            # new_dict = dict(enumerate(li,10))
            new_dict = dict(enumerate(li,1))
            print(new_dict)
            #想要把列表转换过来,只能用enumerate
        2.字典的内部功能
            dic = {"k1":123,"k2":456,"k3":566}
            #方法,无@staticmothod,对象.方法
            # dic.get()
            #k1,k2,默认值123

            #方法,有@staticmothod,类.方法
            # n = dic.fromkeys(['k1','k2','k3'],"123")
            #fromkeys 的功能就是寻找到字典里面存在的key值,重新给其重新赋值
            # n = dict.fromkeys(['k1','k2','k3'],"123")
            # print(n)
            n = dict.fromkeys(['k1','k2','k3'],[])
            print(n)
            n['k1'].append('x')
            print(n)
            

        

 

posted @ 2017-05-03 15:08  rumenzq  阅读(585)  评论(0编辑  收藏  举报