字符串

作者: pubalabala | 来源:发表于2018-07-18 19:25 被阅读0次

    字符串

    • 认识字符串

      1. 使用单引号或者双引号括起来的字符集就是i字符串.
      2. 引号中单独的符号, 数字, 字母等叫字符
      3. 转义字符:用来表示一些有特殊功能或者特殊意义的字符(固定字符前加'')
        ' -> ' \ ->
        \r = \n -> 换行符
        a. 在计算字符长度的时候转义字符代表一个字符
        b. 阻止转义
        通过在字符串前面加r或者R, 来阻止转义字符转义
    string = R'\n'
    print(string)
    

    运行结果:

    \n
    [Finished in 0.5s]
    
    1. python中字符串中的字符是Unicode编码
      Unicode编码:使用16位对一个字符进行编码(包含ascall码),编码的母的是为了方便字符存储到计算机中
      a. 获取一个字符的Unicode编码:ord(符号)
      表将Unicode码转换成字符:chr(编码值)
      b. 字符串比较大小:从第一个字符开始依次比较字符的编码大小,知道字符不一样为止.
    • 获取字符

    python的字符, 实质是一个有序的字符序列.

    1. 获取字符串的长度:(长度:字符串中字符的个数)
    count = len('abc\n123')
    print(count)
    

    运行结果:

    7
    [Finished in 0.3s]
    
    1. 通过下标获取指定位置的字符
    string  = 'qwertyu'
    print(string,string[3])
    

    运行结果:

    qwertyu r
    [Finished in 0.3s]
    
    1. 获取字符串中的部分字符
      字符串[开始下标:结束下标] 包含开始下标但不包含结束下标对应的字符
      要求:开始下标对应的位置一定要在结束下标对应位置的前面
      省略开始下标则从第一个字符开始取值
      省略结束下标则从开始下标取后面所有的字符
      两个都省略则获取整个字符串

    字符串[开始下标:结束下标:步进]
    步进为取下一个字符时从当前字符开始的序号数
    当步进为负数时开始下标大于结束下标 没有步进值则默认步进为1

    注意:下标的范围是0字符串长度-1或者-1-字符串长度
    获取字符的时候, 索引值不能超过范围 IndexError

    string  = 'qwertyu'
    print('string:'+string,'\nstring[3]:'+string[3],"\nstring[3:1]:"+string[3:1],'\nstring[3:1:-1]:'+string[3:1:-1])
    

    运行结果:

    string:qwertyu 
    string[3]:r 
    string[3:1]: 
    string[3:1:-1]:re
    [Finished in 0.3s]
    
    • 字符串中的运算符

      1. +:字符串拼接
    • 两边都是字符或者字符串才可以拼接

      1. :字符串重复
        字符串
        整数
    string = 'qq'*3
    print(string)
    

    运行结果:

    qqqqqq
    [Finished in 0.3s]
    
    1. in
      字符串1 in 字符串2 :判断字符串1是否在字符串2中

    2. not in
      字符串1 not in 字符串2 :判断字符串1是否不在字符串2中

    3. 格式字符串
      格式: "%s"%(值)

    string = 'qwer%s1%d2%c34'%(">>>",9,'n')
    print(string)
    

    运行结果:

    qwer>>>192n34
    [Finished in 0.3s]
    

    %s:字符串
    %d:整数
    %f:浮点数
    %c:字符 可以给字符的值也可以给字符的编码值

    1. 格式化输出
    print('qwer%s1%d2%c3%.3f4'%(">>>",9,'n',3.1415926))
    

    运行结果:

    qwer>>>192n33.1424
    [Finished in 0.3s]
    
    • if语句

    1.if-else条件语句:
    条件语句结果为True执行的代码块
    执行过程:先判断条件语句是否为True, 如果为True就执行if语句后:后面对应的每一个缩进的所有的代码.为False就不执行冒号后面一个缩进中的代码块, 直接执行后续的其他语句

    条件语句:可以是任何有值的表达式, 但是一般是布尔值

    if:关键字

    if False:
        print('1')
        print("2")
        print(3)
    else:#先判断条件语句是否为True,为True则执行if中的语句,否则执行else中的语句
        print(4)
    print(4)
    
    

    运行结果:

    4
    4
    [Finished in 0.3s]
    

    练习

    2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如“Hello Eric, would you like to learn some Python today?”。

    name = "Eric"
    print("Hello "+name+", would you like to learn some Python today?")
    

    运行结果:

    Hello Eric, would you like to learn some Python today?
    [Finished in 0.3s]
    

    2-4 调整名字的大小写: 将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名。

    name = "eric"
    print(name.lower()+"\n"+name.upper()+"\n"+name.title())
    

    运行结果:

    eric
    ERIC
    Eric
    [Finished in 0.3s]
    

    2-5 名言: 找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):Albert Einstein once said, “A person who never made a mistake never tried anything new.”

    print('Dambisa Moyo once said,"The best time to plant a tree was ten years ago, followed by the present!"
    ')
    

    运行结果:

    Dambisa Moyo once said,"The best time to plant a tree was ten years ago, followed by the present!"
    [Finished in 0.3s]
    

    2-6 名言2: 重复练习2-5,但将名人的姓名存储在变量famous_person 中,再创建要显示的消息,并将其存储在变量message 中,然后打印这条消息。

    sentence = '"The best time to plant a tree was ten years ago, followed by the present!"'
    famous_person = "Dambisa Moyo"
    message = famous_person + "one saide, "
    print(message)
    

    运行结果:

    Dambisa Moyo once said,"The best time to plant a tree was ten years ago, followed by the present!"
    [Finished in 0.3s]
    

    2-7 剔除人名中的空白: 存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合"\t" 和"\n" 各一次。 打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数lstrip() 、rstrip() 和strip() 对人名进行处理,并将结果打印出来。

    name = "  Eric  "
    print('\t*' + name+"*\n\t*"+name+"*\n\t*"+name.lstrip()+"*\n\t*"+name.rstrip()+"*\n\t*"+name.strip()+"*")
    

    运行结果:

        *  Eric  *
        *  Eric  *
        *Eric  *
        *  Eric*
        *Eric*
    [Finished in 0.3s]
    

    相关文章

      网友评论

          本文标题:字符串

          本文链接:https://www.haomeiwen.com/subject/uxsapftx.html