• 数据类型及内置方法


    一. 可变类型与不可变类型

    不可变类型: 值改变的情况下,ID也随之改变。

    可变类型 :值改变的情况下,ID不变。

    有序:凡是有索引的数据都有序。

    二.int类型

    用途:用于记录年龄、号码、身份证号等等。

    定义方式:age=18   # age = int(18)

    十进制对其他进制的转换

                print(bin(14))  # 十进制转二进制
    
                print(oct(14))  # 十进制转八进制
    
                print(hex(2))   # 十进制转16进制            
    View Code

    其他进制转十进制

            
    
            print(int("110",2))   # 二进制转十进制
    
            print(int("77",8))    # 八进制转十进制
    
            print(int("39",16))   # 十六进制转十进制            
    View Code

    ps:int()强制转换时只能识别数字。

    三.float类型

    用途:用于记录描述身高、薪资、体重等状态。

    定义方式:salary = 3.1   #  salary = float(3.1)

    ps:float()强制转换时除了能识别数字外还能识别字符.小数点。

    int和float统称为数字类型,数字类型只能存一个值,无序且属于不可变类型。

    四.str类型

    用途:用于描述记录事物的状态。

    定义:通过使用单双引号及三引号来定义。

       name = 'stone'    #  name = str('stone')

    常用操作及内置方法

    1.按索引取值

             str1 = "hello world!
    "
            print(str1[4])    # 正数代表方向从左到右,正数索引从0开始
    
            print(str1[-2])   # 负数代表方向从右到左,负数索引从-1开始            
    View Code

    2.切片(顾头不顾尾步长)

            str1 = "hello world!"
    
            print(str1[0:7:1])   
          # 第一个数代表开始索引,第二个数代表结束索引,第三个数代表步长
    
            print(str1[5:0:-1])  # 索引为0代表第一个字符,-1代表最后一个字符
    
            print(str1[5::-1])   #步长为负数代表方向从右向左执行
    
            print(str1[-1::-1])  #字符串倒序输出
    
            print(str1[::])      #空切片代表遍历一遍字符串
    
            print(str1[::-1])    #字符串倒序输出                    
    View Code

    3.长度len

            str1 = "hello world!"
    
            print(len(str1))    # 显示字符串中字符的个数
    View Code

    4.成员运算innot in

    作用: 判断一个子字符串是否存在于一个大的字符串中

            str1 = "wanglei is dsb!"
    
            print("wanglei" in str1)
    
            print("wanglei" not in str1)
        
    View Code

    5.strip

    作用: 用来去除字符串左右两边的字符,可以指定字符,不指定默认去除的是空格

            str1 = "   wanglei is dsb!  "
    
            str2 = "*******wanglei is dsb!****"
    
            print(str1.strip())
            print(str2.strip("*"))
    View Code

    6 split

    作用:针对按某种分隔符组成的字符,可以用split将其切成列表

            str1 = "wanglei:is:dsb!  "
    
            res  = str1.split(":")
    
            print(res,type(res))
    View Code

    7 循环

            str1 = "wanglei:is:dsb!"
    
            for item in str1 :
    
                print(item)
    View Code

    8 需要掌握的

    #strip,lstrip,rstrip     # 默认去除字符是空格
    print('$$$$$$$egon$$$$$$'.lstrip('$'))  #去除左边的选中字符
    print('$$$$$$$egon$$$$$$'.rstrip('$'))  #去除右边的选中字符
    print('$$$$$$$egon$$$$$$'.strip('$'))   #去除两边的选中字符
    
    #lower,upper
    msg='aABBBBb'
    print(msg.lower())  #字母全部变为小写
    print(msg.upper())  #字母全部变为大写
    
    #startswith,endswith
    msg='alex is dsb'
    print(msg.startswith('alex'))  # 判断字符串是否是指定字符开头
    print(msg.endswith('b'))   # 判断字符串是否是指定字符结束
    
    #format的三种玩法
    print('my name is %s my age is %s' %('egon',18))
    print('my name is {name} my age is {age}'.format(age=18,name='egon')) # 给括号里的变量命名,通过大括号加变量名来实现
    
    # 了解
    print('my name is {} my age is {}'.format(18,'egon'))  # format括号后的数,要大于等于大括号的个数
    print('my name is {0} my age is {1}{1}'.format(18,'egon')) # 通过index来进行读取
    
    #split,rsplit
    msg='get|a.txt|333331231'
    print(msg.split('|',1))   #从左向右切割,切割符为'|',切割1次
    print(msg.rsplit('|',1))  #从右向左切割,切割符为'|',切割1次
    #选择默认切割次数,split,rsplit返回结果一致
    
    
    #join
    msg='get|a.txt|333331231'
    l=msg.split('|')
    print(l)
    src_msg='|'.join(l)    # 选定列表之间的连接符号,通过.join来连接变成str
    print(src_msg,type(src_msg))
    
    #replace
    msg='alex say i have one tesla,alex is alex hahaha'
    print(msg.replace('alex','sb',1))   # 三个参数 (被替换字符,替换字符,替换个数)
    
    #isdigit # 判断字符串中包含的是否为纯数字
    print('123'.isdigit()) # 如果字符串是由纯数字组成的,则返回True不是为False
    View Code

    9需要了解的内置方法

    #find,rfind,index,rindex,count
    s = 'qweqwRWEFW is dsb o and kevin is sb'
    print(s.find('weq'))  # 返回的是w字符所在的索引值
    print(s.find('xxx'))  # 找不到的时候不报错返回的是-1
    print(s.rfind('W',0,25))  # 还可以通过索引来限制查找范围,不包括两边
    print(s.index('o'))  # 返回所传字符所在的索引值
    print(s.count('q'))  # 统计字符出现的次数
    # find比index有更加良好的容错性,加入index没有查找到相应结果会报错,而find不会
    
    #center,ljust,rjust,zfill
    s9 = 'wefwgfen'
    print(s9.center(20,'*')) # 长度为20,字符个数不够两边填充指定字符
    print(s9.ljust(40,'$'))  # 长度为40,字符个数不够右边填充指定字符
    print(s9.rjust(40,'$'))  # 长度为40,字符个数不够左边填充指定字符
    
    print(s9.zfill(40))  # 长度为40,左边填充0
    
    
    #expandtabs
    s10 = 'a	bc'
    print(s10.expandtabs(100))   # 把制表符扩展成指定长度
    
    #captalize,swapcase,title
    s12 = 'hElLo WoRLD!12434'
    print(s12.capitalize())  # 首字母大写
    print(s12.swapcase())    # 大小写交换
    print(s12.title())       # 每个单词的首字母大小
    
    #is数字系列
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='' #中文数字
    num4='' #罗马数字
    # ''.isnumeric(): unicode,中文数字,罗马数字    只要是表示数字都识别
    print(num2.isnumeric())
    print(num3.isnumeric())
    print(num4.isnumeric())
    
    # ''.isdecimal(): unicode   只识别普通的阿拉伯数字
    print(num2.isdecimal())
    
    
    # ''.isdigit() :bytes,unicode    通常情况下使用isdigit就已经满足需求了
    print(num1.isdigit())
    print(num2.isdigit())
    View Code

    ps:str类型能存一个值,有序,是不可变类型。

    四.list类型

    用途:按照位置来记录值,通过索引来取值。

    定义:在[]内用逗号把多个值分开。friends=['alex','wupeiqi'] # friends=list([...])

    优先掌握操作

    1.按索引取值

                l = [1,2,3,4]
    
                print(l[0],l[-1])    
    View Code

    2.切片(顾头不顾尾步长)

                l = [1,2,3,4]
    
                print(l[0:4:1])
    
                print(l[4:0:-1])    
    View Code

    3.长度

    len()获取列表元素个数

    4. in 和not in

    5.添加长度的三种方法

    l = [11,22,33,44,55]
    l1 = [99,88,77,66]
    # 1.尾部添加一个66
    l.append(66)  # 注意append值能将被添加的数据当作列表的一个元素
    print(l)
    
    # 2.任意位置添加元素
    l.insert(2,96)  # 通过索引在任意位置添加元素
    print(l)  # 注意insert值能将被添加的数据当作列表的一个元素
    
    # 3.添加容器类型数据
    l.append(l1)
    l.insert(-1,l1)
    l.extend(l1)  # 内部原理for循环l1一个个追加到列表的尾部
    l.extend([1,2])
    print(l)
    View Code

    6.删除元素的三种方法

         
                l = [1,2,3,33,4]
    
                del l[2]  # del适用于所有的删除操作
    
                res1 = l.pop()  # 尾部弹出
    
                res1 = l.pop(0)  # 可以指定索引 按照索引弹出元素
    
                res = l.remove(33)  # 指定要删除的元素的值    
    View Code

    7.循环

     
               l = [1,2,3,4]
    
                for item in l:
    
                    print(item)    
    View Code

    ps:list类型能存多个值,有序,是可变类型

          clear方法可以清空列表.

  • 相关阅读:
    矩阵十题(7)
    线段树成段更新 poj 3468 A Simple Problem with Integers
    线段树单点更新 hdu 2795 Billboard
    线段树成段更新 poj 2528 Mayor's posters
    矩阵十题(10)
    矩阵十题(8)
    矩阵十题(5)
    矩阵十题(6)
    矩阵十题(9)
    矩阵十题(4)
  • 原文地址:https://www.cnblogs.com/Cpsyche/p/11129603.html
Copyright © 2020-2023  润新知