• 1.5 字符串基本操作(Python)


    本文来自异想之旅公开发布的Python教程,原文地址:https://www.yuque.com/yxzl/python

    除了数字之外,字符便是计算机变成中最重要的概念了。你现在正在阅读这篇文章正是某种编程语言(大概是 JavaScript)处理字符信息的杰作。

    本节将讲述字符串的四个知识点:转义字符、切片、操作和自身方法,随后补充多行字符串的书写规则。

    转义字符

    如何在电脑上打出换行符?你可能会说,简单,按一下 Enter 就是了。但是这样的操作输入的字符并没有显示出来,计算机显示时直接进行了换行这一动作……想要将回车等特殊字符像英文字母一样打印出来,就需要转义字符

    名词解释:转义字符,字母前加 \ 来表示常见的那些不能显示的字符,如 \t \n 等,就称为转义字符,因为后面的字符都不是它本来的字符意思了。

    转义字符描述样例
    \\反斜杠符号print('\\\\')
    输出 \\
    \’单引号(仅在使用单引号包裹字符串时必须)print('\\'')
    输出 '
    \"双引号(仅在使用双引号包裹字符串时必须)print("\\"")
    输出 "
    \b退格(Backspace)print('Hel\\blo')
    输出 Helo
    \n换行print('a\\nb')
    输出 a(换行到下一行)b
    \t横向制表符(具体用途未来会有)print('Hello\\tWorld!')
    输出 Hello World!
    \uxxxx十六进制 Unicode 编码print('\\u6211\\u559c\\u6b22\\u4f60')
    输出 我喜欢你
    \other其它的非转义字符以普通格式输出print('\\a')
    输出 a

    转义字符仅在输出时有效。目前我们学到的输出方式只有 print 。如果你在选择开发工具时选择了 Python 内置的 IDEA,那么部分字符(例如 \b )将无法生效,请自行查询如何使用终端(cmd)运行 Python 解决此问题。

    切片

    唔……忽然想放到讲完列表再讲。原因嘛,列表和字符串的切片原理是一样的,而我有几张现成的讲列表切片的图,不想再找一次了哈哈哈哈。具体请见 1.7 章节中的介绍。

    运算操作

    此处的运算操作并非严格意义上的运算,更合适的名称或许是“使用运算符的字符串操作”。

    加法

    对两个字符串做加法,本质上是将他们连接起来。

    a = 'Hello'
    b = 'World'
    print(a + b)
    
    # 输出:HelloWorld
    
    • 1
    • 2
    • 3
    • 4
    • 5

    乘法

    字符串的乘法是一个字符串 str 乘以一个整数 int,表示将字符串重复多少次。

    a = 'QDZX'
    print(a * 3)
    
    # 输出:QDZXQDZXQDZX
    
    • 1
    • 2
    • 3
    • 4

    字符串方法

    这部分直接看样例代码。

    a = "qdZX HCCE"
    
    print('---第一组---')
    
    print(a.upper())  # 将所有字母转换为大写,输出:QDZX HCCE
    print(a.lower())  # 将所有字母转换为小写,输出:qdzx hcce
    print(a.capitalize())  # 将第一个字母转换为大写,其他字母转换为小写,输出:Qdzx hcce
    print(a.title())  # 将每个单词的第一个字母转换为大写,其他字母转换为小写,输出:Qdzx Hcce
    
    print('---第二组---')
    
    # 往下两行请高手掌握
    print(a.swapcase())  # 将大写字母转换为小写,小写字母转换为大写,输出:QDzx hcce
    print(a.isalpha())  # 判断是否全部为字母或Unicode字符(可以简单理解为不包含数字和英文模式的字符),输出:False
    
    print('---第三组---')
    
    b = 'QDZX'
    
    print(b.isupper())  # 判断是否全部为大写字母,输出:True
    print(b.islower())  # 判断是否全部为小写字母,输出:False
    print(b.istitle())  # 判断是否全部为标题,输出:False
    
    print('---第四组---')
    
    c = '12345.6789'
    print(c.isdigit())  # 判断是否全部为数字,输出:False
    print('    '.isspace())  # 判断是否全部为空白字符,输出:True
    
    print('---第五组---')
    
    print(''.isupper())  # 对于所有 .is 开头的方法函数,空串全部输出False
    
    print('---第六组---')
    
    d = 'ABCDDDCBA'
    
    print(len(d))  # 求字符串的长度,输出:9
    print(d.count('D'))  # 求字符串中D出现的次数,输出:3
    print(d.find('D'))  # 求字符串中D首次出现的位置,输出:3(出现在字符串第4个字符,但是编程语言从0开始计数)
    print(d.startswith('ABC'))  # 判断字符串是否以指定的字符串开头,输出:True
    print(d.endswith('DCBA'))  # 判断字符串是否以指定的字符串结尾,输出:True
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    以上形如a.xxx()的语句中,xxxa对象的方法。

    名词解释:对象,包括属性(Properties)和方法(Methods),属性就是需要记忆的信息,方法就是对象能够提供的服务。此处我们可以先理解为特殊的变量。
    方法,特殊的函数,与普通函数不同的地方是它属于一个对象,调用它完成的操作通常情况下是围绕这个对象本身的值展开的。例如a.upper()就是操作字符串a中的字符。
    这里先介绍一个大概,若有不理解不必着急,关于类和对象的更多知识将在教程 第二部分 提及。

    多行字符串

    我们已知在 Python 中可以使用 '\n' 换行,但是这样的换行并不明了,且对于长字符串来说过于麻烦,有没有更简单的方式?

    三引号字符串。

    a = '''Hello
    World'''
    print(a)
    
    print('=====')
    
    b = """大
    
    家好
    """
    print(b)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    输出:

    Hello
    World
    =====
    大
    
    家好
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    又是一个新手常问的问题:更多呢?四个,五个引号可不可以?答案是不可以,会报错。

  • 相关阅读:
    .NET宝藏API之:IHostedService,后台任务执行
    winform中更新UI控件的方案介绍
    秘密共享(Secret Sharing,SS)
    技能在赛题解析:交换机防环路设置
    伙伴云戴志康:如何利用低代码提升研发和IT效能
    【Redis底层解析】字典类型
    golang操作etcd
    C语言获取文件长度
    基于Web的盾构机盾尾变形远程监测系统
    银行信创化仍需考虑生态建设
  • 原文地址:https://blog.csdn.net/weixin_44495599/article/details/126115267