• 数据类型及内置方法


    一、整型(int)

    用途:有QQ号、手机号、不需要字母的身份证

    1.定义方式:

    age = 18  #age = int(18)

    int (‘10’)#只能转到纯数字的字符串,小数点都不行。

    2.进制转换:

       十进制转二进制:

       print(bin(12)) :0b1100

       十进制转八进制:

        print(oct(12)):0o14

        十进制转十六进制:

         prInt(hex(12)):0xc

         各种进制转回十进制:

         print(int('1100',2))

         print(int('1100',8))

         print(int('1100',16))

    3.该类型总结: 

      1.存一个值

      2.有序(但凡有索引的数据都为有序)

      3.它是不可变类型(在值改变的情况下,id也跟着改变,即为不可变类型)

    二、浮点型

    作用:薪资、身高、体重

    salary = 1.1# float(1.1)

    res = float('1.11')

     print(type(res))

     <class 'float'>

    三、字符串

    用途:描述性

    定义方式:‘’ ,“”,''' '''

    s = ‘hello baby’

    s1 = str([1,2,3,4])

    print(type(s1)

    <class 'str'>

    无论什么类型,都能变成字符串。

    1.按索引取值

    s = 'hello big baby'

    print(s[0])

    h

    切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串。

    print(s[0:5]) >>>hello

    print(s[0:10:1])>>>hello big #步长不写默认是1

    print(s[0:10:2])>>>hlobg #步长表示隔几个取一个

    负取值:prInt(s[0:5:-1])>>>不输出 原因:负取值是从右往左取值

                  print(s[5:0:-2])>>>le

                  print(s[-1:-10:-1])>>>ybab gib 

    2.长度len:统计字符串中,字符的个数。

    3.成员运算in和not in:判断一个子字符串是否存在于一个大的字符串中

    4.去掉字符串左右两边的字符strip,不管中间的

       username = input('>>>:')

       if username == 'zzj':

          print('goodjob')

    但是如果,在输入时不小心键入了空格,那么就不会有运行结果了。

    所以用到该方法:

      name1 = 'zzj'

      name2 = '    zzj        '.strip()

      print(name1 == name2)>>>True

      name3 = '$$$$$$zzj$$$$$$'  

      print(name3.strip('$'))

    ps:只能取首尾!

    4.1 rstrip(): lstrip():

       name = '$$$$$zzj$$$$$$'

       print(name.lsptrip('$'))>>>zzj$$$$$$

       print(name.rsptrip('$'))>>>$$$$$zzj

    5.切分split:针对按照某种分割符组织的字符串,可以用split将其切分成列表,进而进行取值。顺序默认从左往右! 

       data = 'jason|123|handsome'

       print(data,split('|'))

       强调:split切分出来的数据类型是一个列表

    6.循环

       msg='hello'

       for item in msg:

       print(item)>>>h e l l o

    7.lower, upper

       s = 'JaSoN'

       print(s.upper())>>>JASON

       print(s.upper())>>>jason

       调用字符串的方法并没有改变字符串本身

    8.startswith,endswith

       s1 = 'egon is dsb'

       print(s1.startswith('e')) >>>True # 判断字符串是否以什么什么开头

       print(s1.endswith('n')) >>>Flase# 判断字符串是否以什么什么结尾

    9.format的三种玩法(python推荐使用format做格式化输出)

       第一种  按位置占位   跟%s原理一致

       str1 = 'my name is {} my age is {}'.format('jason',18)

       str1 = 'my name is {} my age is {}'.format(18,'jason',)

       print(str1)

       第二种  按索引占位

       str1 = 'my {1} name is {0} my {0} age is {0}'.format('egon',18)

       print(str1)

       第三种  指名道姓占位(关键字传参)

       str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='jason',age=18)

       print(str1)

    10.replace

       str = 'egon is dsb and egon is sb he has a BENZ'

       res = str.replace('egon','kevin',1)

       print(res)>>>kevin is dsb and egon is sb he has a BENZ

       print(str)>>>egon is dsb and egon is sb he has a BENZ #不改变原变量

    11.isdigit :断字符串中包含的是否为纯数字

       while True:

         age = input('>>>:')

         if age.isdigit():

            age = int(age)

            if age > 28:

               print('阿姨好')

       else:

         print('请你给我好好输!')

    12.find,rfind,index,rindex,count

       s = 'kevin is dsb o and kevin is sb'

       print(s.find('dsb')) >>>9 # 返回的是d字符所在的索引值

       print(s.find('xxx'))>>>-1  # 找不到的时候不报错返回的是-1

       print(s.find('i',0,3)) >>>-1# 还可以通过索引来限制查找范围

       print(s.index('o')) >>>13 # 返回所传字符所在的索引值

       print(s.index('i',0,3)) >>>找不到直接报错 # 返回所传字符所在的索引值

       print(s.count('n')) >>>3 # 统计字符出现的次数

    13.center,ljust,rjust,zfill

        s9 = 'jason'

       print(s9.center(12,'*'))>>>***jason****

       print(s9.ljust(40,'$'))>>>jason$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

       print(s9.rjust(40,'$'))>>>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$jason

       print(s9.rjust(40,' '))>>>                                   jason

       print(s9.zfill(40))>>>00000000000000000000000000000000000jason

    14.expandtabs

       s10 = 'a bc'

       print(s10.expandtabs(100))>>> a                                                                             bc

    15.captalize,swapcase,title

       s12 = 'hElLo WoRLD sH10'

       print(s12.capitalize())  # Hello world 首字母大写

       print(s12.swapcase())  # 大小写互换

       print(s12.title())  # 每个单词的首字母大小

    16.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())

       print(num3.isdecimal())

       print(num4.isdecimal())

       # ''.isdigit() :bytes,unicode    通常情况下使用isdigit就已经满足需求了

       print(num1.isdigit())

       print(num2.isdigit())

       print(num3.isdigit())

       print(num4.isdigit())

    四、列表类型

    作用:多个装备,多个爱好,多门课程。

    定义:[]内可以有多个任意类型的值,逗号分隔

    l=list('abc')

    l1=list({'name':'jason','password':'123'})

    print(l1)

    list内部原理就是for循环取值 然后一个个塞到列表中去

    1.按索引存取值(正向存取+反向存取):即可存也可以取

       l = [1,2,3,4]

       print(l[0:4:1])

       print(l[0::])

       print(l[5::-1])

       print(id(l))

       l[0] = 69

       print(id(l))

       print(l)

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

       l = [11,22,33,44,55]

       l1 = [99,88,77,66]

       2.1尾部添加一个66

          l.append(66)  # 注意append值能将被添加的数据当作列表的一个元素

          print(l)>>>[11, 22, 33, 44, 55, 66]

       2.2任意位置添加元素

          l.insert(2,96)  # 通过索引在任意位置添加元素

          print(l) >>>[11, 22, 96, 33, 44, 55, 66] # insert值能将被添加的数据当作列表的一个元素

       2.3.添加容器类型数据

         l.append(l1)

         l.insert(-1,l1)

         l.extend(l1) # 内部原理for循环l1一个个追加到列表的尾部

         l.extend([1,])

         print(l)

      2.4.长度

        print(len(l))>>>5

      2.5.成员运算in和not in

        print( 444 in l)>>>Flase

      2.6.删除

        del l[2]  # del适用于所有的删除操作

        print(l)

     2.7  res1 = l.pop() 尾部弹出

            res2 = l.pop()

            res3 = l.pop()

            print(res1,res2,res3)>>>55 44 33

       

     

     

       

       

       

       

               

       

       

      

      

                  

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    JVM学习-垃圾回收算法
    JVM学习-jvm判断对象已死的方法
    JVM学习-jvm内存区域
    python 多线程
    Python+unittest+requests+excel实现接口自动化测试框架
    linux 运行tensorflow文件缺少_bz2问题及解决
    获取url地址
    微信小程序的小问题(2)
    微信小程序的小问题(1)
    前端知识
  • 原文地址:https://www.cnblogs.com/spencerzhu/p/11129221.html
Copyright © 2020-2023  润新知