zoukankan      html  css  js  c++  java
  • 7.3 数据类型的各种函数操作

    昨日补充:

      1.在代码的编写中,总会有一些分支编写不出来,为了不影响整个系统的跑动,可以使用pass关键字进行跳过。如

    count=0
    while count<10:
        if count<5:
            print(count)
            count+=1
        else:
            pass

      如果正常情况下else中的语句不写而开始运行时,会报错,通过pass可以使程序正常的跑起来。

      2.在range的使用中,可以通过第三参数进行步长定义,如

    for i in range (1,10,2):
        print(i)

      当步长设置为2时,i会成2倍迭代,使得原本输出的1-9 变成输出1-9的奇数。

    今日内容

    1.数据类型的用途,定义方法与常用函数操作。

      1.整型(int)

      用途:存整型数组,定义手机号qq号,身份证号等等。

      定义方法:

    age=18
    #age=(int)18

      这种数据类型的转换只在可转的范围内进行转换,像浮点型就不能向整型转化,这与c语言中有很大的不同:

    a=int('123412')
    b=int(23.12)

      像a中会输出int类型的123412,b则会报错,当字符串中出现了非数字,或浮点型的数字时也会报错。

      进制转化函数:

      十进制转化成二进制

    d=bin(12)
    #>>>ob1100
    #ob后面表示后面的数字是二进制

      十进制转化成八进制

    d=oct(12) 
    #>>>Oo14
    #Oo后面表示八进制数

      十进制转化成十六进制

    d=Hex(12)
    #>>>Oxc
    #Ox后面表示的数十六进制

      二进制,八进制,十六进制转化成十进制

    print(int('10',2))
    print(int('20',8))
    print(int('20',16))

       最后结果输出为‘2,16,32”,所以第二参数代表的是进制数,而第一参数所传递的值必须是以字符串形式。

      2.浮点型:

      作用:记录带有小数电的数据,如身高,体重等,比较精确。

      定义方法:

    a=3.14
    #a=float(3.14)

      浮点型数据的字符串也可转换为浮点型。

      3.字符串:

      用途:具有描述性的数据类型。

      定义方法:

    str1='我是字符串1'
    str2="我是字符串2"
    str3='''我是字符串3'''

      以上三种都可以定义字符串。

      【1】按索引取值(正向取值和反向取值)

    str1="abcdefg"
    print(str1[1],str1[-1])

      在上述代码中,分别用正向取值和反向取值,取得的值风别为”b“和”g“

      【2】切片

      在字符串的操作中,可以取一个字符串的其中一段字符,如

    str1="abcdefg"
    print(str1[0:5:1])

      上述代码运行结果为”abcde“,0-5表示其取字符串的区间,1表示步长,即以每1个字符输出1个字符。

      在切片中,其可切方向可以是从右往左的,只要将区间从右往左设置,步长设置成向左遍历的负数即可,举个例子:

    str1="abcdefg"
    print(str1[6:0:-2])

      区间从6到1(左开右闭),步长为-2,其输出 结果应该是gec

      【3】长度

      用途:统计字符串中的字符的个数。

    str1='我是字符串'
    print(len(str1))

      运行结果为5,也就是字符串中的符号个数。

      【4】成员运算

      用途:判断一串字符串中是是否有相应的字符串:

    print('lzx' in 'my name is lzx')
    print('lzx' not in 'my name is lzx')

      第一个输出的是lzx是否在后面的字符中出现,运行结果显然是true,第二个输出的是lzx是不是不在后面的字符串,运行结果是false。

      【5】strip()

      用途:去掉字符串中两边的空格,保留中间的字符。

    str3='    222     i am iron man   22222 '
    print(str3.strip())
    print(str3.strip(' 2 '))

      第一个输出的是连带2的字符串,默认的五给定值的strip函数是将两边的空格去除,而当给定了一些值后,就会根据内外去掉字符串两边的字符。

      在去除中时,python只会从外到内依次识别字符,如果中间有字符挡住了,不会越过该字符,去除工作也到此为止。例:

    str1='!?<1314<?!'
    str2='!?<1314<?}!'
    print(str1.strip('!?<'),str2.strip('!?<'))

      str1完全清楚了多余的字符,而str2在去时被}符号挡住了,所以之前的全部不会识别到,算作中间字符。

      rstrip(),lstrip()分别为有清除与左清除,即在字符串的左右清除。

    str1='!?<1314<?!'
    str2='!?<1314<?!'
    print(str1.lstrip('!?<'))
    print(str1.rstrip('!?<'))
    #1314<?!
    #!?<1314

      结果一个去除了左边符号,一个去除了右边符号。

      【6】split()

      用途:用于按符号切分字符串,最终以列表的形式输出。例:

    str1='www.baidu.com'
    list1=str1.split(".")
    print(list1)
    #>>>['www', 'baidu', 'com']

      可以看split中的参数其实是对字符串按照什么符号进行分割,而输出的是列表。如果需要切割部分字符串,需要对其第二参数进行设置:

    str1='www.baidu.com'
    list2=str1.split('.',1)
    print(list2)

      最后输出的结果是['www', 'baidu.com'],只对字符串进行了1次分割。

      rsplit.(),是将字符串从右到左分割,如果未选择指定分割次数,rsplit和split的效果是一样的。

      【7】循环

      使用for循环对字符串进依次赋值:

    for i in '我叫lzx,来自江苏':
        print(i)
    #输出结果
    #
    #
    # l
    # z
    # x
    #
    #
    #
    #
    #

      需要掌握的:

      【1】strip,lstrip,rstrip

      【2】lower,upper

      用途:分别代表将字符串中全部小写,和全部大写

    str2='i AM lZX,I love sTAkinG'
    print(str2.lower())
    print(str2.upper())
    #输出结果>>>
    i am lzx,i love staking
    I AM LZX,I LOVE STAKING  

      【3】startswith,endswith

      用途:分别代表判断字符串是否以某个字母开始和结束。例:

    str2='i AM lZX,I love sTAkinG'
    print(str2.startswith('i'))
    print(str2.endswith('i'))
    #>>>输出结果
    True
    False

      【4】format(),三种占位方法:

      用途,相当于占位符。

      1.按位置占位。

    str1="my name is {},my age is {}".format('lzx',18)
    print(str1)
    #输出结果
    >>>my name is lzx,my age is 18

      这种占位方式与%占位符一样的占位方法。

      2.按索引占位

    str1="my name is {0},my age is {1},{1},{1}".format('lzx',18)
    print(str1)
    #输入结果
    >>>my name is lzx,my age is 18,18,18

      占位符中的数字代表的是format函数中列表相对应的数据,将其填入字符串中。

      3.关键字传参(指名道姓占位)

    str1="my name is {name},my age is {age},{age},{age}".format(name='lzx',age=18)
    print(str1)
    #输入结果
    >>>my name is lzx,my age is 18,18,18

      在占位符中输入关键字,再再后面的列表中寻找关键字中的值作为参数传递到字符串中,这种类似对 字典的索引方式叫关键字传参。

      【5】split,rsplit

      【6】join拼接

      这是一个字符串的操作,是用这个字符串拼接一个列表。

    list4=['12','123','412','123','21','12']
    str1='!'.join(list4)
    print(str1)
    输出结果>>>

    12!123!412!123!21!12

      这里注意的是,被操作的列表其元素也需要是字符串类型,否则会报错。

      【7】replace()换

      用途:将字符串中的某个字符替换成另一个。

    str2='my name is lzx ,l am from taizhou'
    print(str2.replace('lzx','yzy'))

      【8】isdigit()

      用途:判断字符中包含的是否为纯数字。

    str2='my name is lzx ,l am from taizhou'
    print(str2.isdigit())
    #输出结果
    >>>False

    需要了解的内置方法

      1.find,rfind

      用途:索引字符串里是否包含某个字符,,如果找到了,则返回它所在的位置,如果不存在,则返回-1.

    str2='hello my name is lzx i am fine thankyou'
    print(str2.find('my'),str2.find('your'))
    print(str2.find('o',2,10))
    #输出结果>>>6 -1
              #4            

      当给这个函数一个区间后就会在这个区间里检索存在与否。

      2.index,rindex

      与find用法一样,不同的是当它未检索到值时会报错

    str2='hello my name is lzx i am fine thankyou'
    print(str2.index('my'),str2.index('you'))
    print(str2.index('o',2,10))
    #输出结果>>>6 36 4

      3.count

      用途:统计字符出现的个数

    str2='hello my name is lzx i am fine thankyou'
    print(str2.count('i'))
    #输出结果>>>3

      4.center,ljust,rjust,zfill

    str1='s1'
    str2='s2'
    str3='s3'
    str4='s4'
    print(str1.center(20,'*'))
    print(str2.ljust(20,'*'))
    print(str3.rjust(20,'*'))
    print(str4.zfill(20))
    #输出结果>>>
    # *********s1*********
    # s2******************
    # ******************s3
    # 000000000000000000s4

      center(),将字符串剧中,其余部分用符号填上。

      ljust()将字符串左对齐,其余用符号填上。

      rjust()将字符串右对齐,其余用符号填上。

      zfill()将字符右对齐,其余用‘0’填上。

      3.expandtabs

      用途:将字符串中的 转换成空格

    str5='adl	ad'
    print(str5)
    print(str5.expandtabs(8))
    #输出结果:
    adl    ad
    adl           ad

      4.captalize ,swapcase(),title()

    str2='helLO woRLd'
    print(str2.capitalize())
    print(str2.swapcase())
    print(str2.title())
    #输出结果
    #Hello world
    #HELlo WOrlD
    #Hello World

      captalize():字符串的首字母大写。

      swapcase():字符串大小写互换。

      title():字符串中每个单词首字母大写。

      5.is数字系列

      isnumber(),isdecimal(),isdigit(),

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

     

    二、列表(list)

      list的内部原理就是for循环。

    优先掌握的操作

      【1】按索引取值

    list1=[1,2,3,4,5]
    print(list1[0:5:2])
    print(list1[0::])
    #输出结果>>>[1, 3, 5]
    #[1, 2, 3, 4, 5]

      如同切片一样。

      【2】切片,如上

      【3】长度

    list1=[1,2,3,4,5,6]
    print(len(list1))
    #输出结果>>>6

      【4】成员运算

      in和not in

    list1=[1,2,3,4,5]
    print(444 in list1)

      在list1中检索444是否在。

      【5】往列表中添加元素

      1.append()

      用途:在尾部位置添加元素。

    list1=[1,2,3,4,5]
    list1.append("4")
    print(list1)

      最后输出[1, 2, 3, 4, 5, '4']

      2.insert()

      用途:通过检索在任意位置添加元素。

    list1=[1,2,3,4,5]
    list1.insert(2,'20')
    print(list1)
    #输出结果为>>>[1, 2, '20', 3, 4, 5]

      3.extend()

      用途:将其中的元素变成列表添加至最后。

      其中list必须是list类

    list1=[1,2,3,4,5]
    list1.extend([1,2,3])
    print(list1)
    #输出结果为>>>[1, 2, 3, 4, 5, 1, 2, 3]

      6.删除

        1.del list[x],删除list中的x位置的数据。

        del适用于所有类型的数据。

        2.list.pop() 从尾部依次弹出

    list2=[1,2,3,4,5,6,7,8]
    a=list2.pop()
    print(a)
    #输出结果>>>8

        弹出的值可以被作为最后一次利用。除此之外还可以索引后弹出相应的数据

    list2=[1,2,3,4,5,6,7,8]
    a=list2.pop(2)
    print(a)
    #输出结果>>>3

        7.remove(a) 删除啊,所在的数据

        此删除pop不同的是remove不能再次对数据进行利用。

    list2=[1,2,3,4,5,6,7,8]
    list2.remove(2)
    print(list2)
    #输出结果>>>[1, 3, 4, 5, 6, 7, 8]

        8,列表的循环

    for i in list2:
        print(i)
    #输出结果:
        # 1
        # 2
        # 3
        # 4
        # 5
        # 6
        # 7
        # 8

     

     

     

     

     

     

     

     

     

      

  • 相关阅读:
    理解DOM事件流的三个阶段
    如何在文章/随笔中添加可运行的js代码
    移动端开发所需要的一些资源与小技巧
    媒体查询常用样式表
    微信打开网址添加在浏览器中打开提示
    微信小程序实战–集阅读与电影于一体的小程序项目(八)
    微信小程序实战–集阅读与电影于一体的小程序项目(七)
    微信小程序实战–集阅读与电影于一体的小程序项目(六)
    微信小程序实战–集阅读与电影于一体的小程序项目(五)
    微信小程序实战–集阅读与电影于一体的小程序项目(四)
  • 原文地址:https://www.cnblogs.com/LZXlzmmddtm/p/11128583.html
Copyright © 2011-2022 走看看