• 字符串


    一、字符串

    1.1 字符串的表现方式

      字符串有两种种表现方式

        • 单行  使用一对单引号 或 一对双引号
        • 多行  使用一对三引号

    注意:

      在最外层使用了单引号,内部只能使用双引号。反之亦然

      在单行写不下的情况下,可使用  来写到下一行,他们表示同一行,中间没有/n的换行符。的后面不能接任何东西了。

    >>> str1 = 'hui is good man'
    
    >>> str2 = """ ... hui is ... a ... good man """ >>> str2 ' hui is a good man ' >>> str3 = "hui is a ... good ... cool ... man" >>> str3 'hui is a good coolman'

    1.2 字符串的拼接

      字符串的拼接,其实就是字符串类中的特殊方法,进行了运算符重载。详细的可以看列表部分的字符串重载。

    1===使用+进行扩展
    >>> str1 = 'hui is '
    >>> str2 = 'a good man'
    >>> s = str1 + str2
    2===使用*进行扩展
    >>> s1 = "*"
    >>> s2 = s1*8
    >>> s2
    '********'
    >>> s3 = '#'*8
    >>> s3
    '########'

     二、字符串的索引与切片

        字符串 和 列表一样,也是一种 可变 序列化的数据结构。

    2.1 索引

    2.2 切片

        S[start:[end:step]]  藏头露尾: 包含start 不包括end

          step支持负数。当step是负数的时候,start是靠右边的index,end是靠左边的index。

    s[0:3]              #打印前3个索引的值
    s[:3]               #同上
    s[3:]               #打印第三个到末尾
    s[::2]              #从头到尾,跳着打印
    s[::-1]             #倒序打印
    s[-2::-2]           #倒序从倒数第二个向前取值,每隔2个取一次值
    s[5:0:-2]           #倒序从索引5向前取值,每隔2个取一次值

    三、字符串的格式化三种方式

    3.1  % 占位符

      在py2中比价常用的一种方式,在py3中也支持。%是一个占位符。后面的变量来进行代替。

      

    3.2 { } format

      在py3中使用formmat来替换%的方法,在%使用中,要指定变量的数据类型(%s,%d,%f等)比较麻烦。

    方式1:{}也是一个占位符,常规用法。

     s4 = 'my name is {},I lived in {}'.format(name,city)

    方式2:扩展用法,给{}定义一个标签,使用标签,占位符{}代表的意思更明确

    name = 'hui'
    city = 'hangzhou'
    s4 = 'my name is {n},I lived in {c}'.format(n=name,c=city)

    3.3 f-string

      第三方组织开发了,被python接受了,只在3.6 版本中有。

        字符串前面加上个f,{}里面直接填写变量。

    s4 = f'my name is {name},I lived in{city}'

    四、字符串常用方法

    strip        无参数的时候,去掉两边的空白字符,包括 /r /t 空格这些空白字符
                 有参数的时候,去掉开头和结尾的指定的字符
    split        无参数的时候,以空格分割,存储成一个列表返回
                 有参数的时候,以指定字符分割,也是存储成一个列表返回
    index        查找对应的字符串的开始位置索引,不存在则报错,建议使用find
    find         查找对应的字符串的开始位置索引,不存在则返回-1
    replace     替换
    len          py的内置函数,计算长度。
    count        统计指定字符或字符串的长度    
    join         将序列中的元素以指定的字符连接生成一个新的字符串。
                     str = "-";
              seq = ("a", "b", "c"); # 字符串序列
    print(str.join( seq ));
    #a-b-c
    center    字符串居中,两端以指定字符补齐
    ljust     字符串靠左对齐,右边以指定字符补齐
    rjust     字符串靠右对齐,坐标以制定字符补齐

    upper    把字符串中的小写转化为大写
    lower    把字符串中的大写转化为小写
    title    把字符串中的单词,首字母大写,其他变为小写
    capitalize 字符串首字母大写,其他都为小写

    字符串中文解释大全  https://www.cnblogs.com/zqxqx/p/8782995.html

     五、数字与字符串的区分

      数    字      是由阿拉伯数字组成,不带引号。 a = 1 , num =102

      字符串      是带引号的          a='i am LH'

    但是字符串有些方法查看是不是数字,原因是 input函数接受的键盘输入,都是以字符串的形式存储。 

    但是我们要的是数字,字符串查看是否是数字的方法,是针对字符串的内容而言。 而字符串本身的类型还是字符串。

    方法: isdecimal   isnumeric   isdigit

    s1 = '1'
    print(s1.isdecimal()) #  True
    print(s1.isdigit()) #  True
    print(s1.isnumeric()) #  True
    
    print("*"*8)
    s2 = ''
    print(s2.isdecimal()) #  Flase
    print(s2.isdigit()) #  Flase
    print(s2.isnumeric()) #  True
    
    print("*"*8)
    s3 = '½'
    print(s3.isdecimal()) #  Flase
    print(s3.isdigit()) #  Flase
    print(s3.isnumeric()) #  True
    
    print("*"*8)
    s4 = ''
    print(s4.isdecimal()) #  Flase
    print(s4.isdigit()) #  Flase
    print(s4.isnumeric()) #  True
    
    print("############"*8)
    s4 = ''
    print(s4.isdecimal()) #  Flase
    print(s4.isdigit()) #  True
    print(s4.isnumeric()) #  True
    View Code

    范围总结:isnumeric    》  isdigit 》   isdecimal

           数字形式的   可以数的       阿拉伯十进制

      

      

  • 相关阅读:
    土豆网自动播放代码
    js倒计时小插件(兼容大部分浏览器)
    带按钮的网页播放器代码(附文件)
    列出目录下所有文件
    day19 进度条 & 随机验证码
    day18 json与pickle
    day14.2_三元表达式、列表生成式
    day14.1_生成器
    day13_迭代器
    day12.2_完善装饰器
  • 原文地址:https://www.cnblogs.com/louhui/p/8848386.html
Copyright © 2020-2023  润新知