• python入门与实战--字符串



    字符串在python中经常会出现,可用单引号、双引号或三引号来创建字符串,字符串创建比较简单,用引号创建即可。

    3.1 访问字符串

    访问字符串的时候,常常会访问字符串某个位置或者字符串的子集(回想下数学中子集的概念),标准方法如下:

    1. 某个位置的索引:

    variable_name[idx]

    1. 字符串子集的索引:

    variable_name[索引开始:索引结束+1]

    注意:上述中括号中的冒号前指的是字符串开始的索引,冒号后指的是字符串结束的索引+1
    例如,字符串"www.cvtutorials.com"中,如果我们想访问"cvtutorials",那么输入如下代码:

    cvtutorials = "www.cvtutorials.com"
    cvtutorials[4:15]
    
    • 1
    • 2

    c的索引是4(注意索引是从0开始),s的索引是14,所以需要加1,变为15。运行结果如下:

    >>> cvtutorials = "www.cvtutorials.com"
    >>> cvtutorials[4:15]
    'cvtutorials'
    
    • 1
    • 2
    • 3

    3.2 字符串拼接

    字符串拼接就是将两个字符串连接起来,如字符串"cvtutorials"".com"两个字符串连接起来就是"cvtutorials.com",最简单的实现方式就是直接相加,代码如下所示:

    "cvtutorials" + ".com"
    
    • 1

    运行结果如下所示:

    >>> "cvtutorials" + ".com"
    'cvtutorials.com'
    
    • 1
    • 2

    python也内置了一个东西,.join()用来拼接字符串,代码如下所示:

    >>> domain_ele = ["cvtutorials", ".com"]
    >>> "".join(domain_ele)
    'cvtutorials.com'
    
    • 1
    • 2
    • 3

    a.join(b)表示将b中的每个元素之间用a连接起来,上面代码中,a即是“”,b即是domain_ele

    3.3 转义字符

    在打印字符串的时候,有时候我们会碰到一种情况,比如输出一个字符串:“My domain name is “www.cvtutorials.com””
    如果直接输入并运行,会报错:

    >>> "My domain name is "cvtutorials.com""
      File "<stdin>", line 1
        "My domain name is "cvtutorials.com""
                           ^
    SyntaxError: invalid syntax
    
    • 1
    • 2
    • 3
    • 4
    • 5

    其实,我们是想输出一个双引号的,可是双引号在python语法中也有表示字符串开始和结束的意思,编译器无法智能判断你的意思,所以我们需要告诉编译器哪个是我们想输出的双引号,我们可以通过转义字符\来实现。

    转义字符就是用反斜杠将某些字符转换成其他的意思,比如前面的目的就可以这样来实现:

    >>> "My domain name is \"cvtutorials.com\""
    'My domain name is "cvtutorials.com"'
    
    • 1
    • 2

    这种和转义字符搭配使用的方法,常见的还有:\'(转义为原始单引号), \n(转义为换行符), \t(转义为横向制表符)

    3.4 内置字符串处理方法

    python中内置了很多字符串处理方法,可以方便我们快速对字符串进行一些操作。这些字符串处理方法大致可以分为判断类、大小写类、处理类、查询类等。不过,在此之前,让我们先来看看一个最为基本的字符串方法len(),len是length的简写,可以用来获取字符串的长度:

    >>> a = "cvtutorials.com"
    >>> len(a)
    15
    
    • 1
    • 2
    • 3

    3.4.1 字符串判断类

    string.isalnum():isalnum是is alpha or number的简写,判断是否全为字母或数字

    >>> "cvtutorials23com".isalnum()
    True
    >>> "cvtutorials.com".isalnum()
    False
    
    • 1
    • 2
    • 3
    • 4

    string.isalpha():判断字符串是否全字母

    >>> "cvtutorialscom".isalpha()
    True
    >>> "cvtutorials.com".isalpha()
    False
    
    • 1
    • 2
    • 3
    • 4

    string.isnum():判断字符串是否全数字

    >>> "123342".isdigit()
    True
    >>> "cvtutorials.com".isdigit()
    False
    
    • 1
    • 2
    • 3
    • 4

    string.islower():判断字符串是否全小写

    >>> "cvtutorials.com".islower()
    True
    >>> "cvtutorials.COM".islower()
    False
    
    • 1
    • 2
    • 3
    • 4

    string.isupper():判断字符串是否全大写

    >>> "CVTUTORIALS.COM".isupper()
    True
    >>> "cvtutorials.COM".isupper()
    False
    
    • 1
    • 2
    • 3
    • 4

    string.startwith():判断字符串是否以某个字符开头

    >>> "cvtutorials".startswith("cv")
    True
    
    • 1
    • 2

    string.endwith():判断字符串是否以某个字符结束

    >>> "cvtutorials".endswith("tutorials")
    True
    
    • 1
    • 2

    3.4.2 字符串大小写类

    string.capitalize():capitalize这个方法将字符串首字母变成大写

    >>> "cvtutorials.com".capitalize()
    'Cvtutorials.com'
    
    • 1
    • 2

    string.title():将字符串首字母变成大写

    >>> "cvtutorials.com".title()
    'Cvtutorials.Com'
    
    • 1
    • 2

    capitalize()方法只有第一个单词的字母大写,而title()会将每个单词大写。

    string.upper():这个方法将字符串字母变成大写

    >>> "cvtutorials".upper()
    'CVTUTORIALS'
    
    • 1
    • 2

    string.lower():这个方法将字符串字母变成小写

    >>> "cvtutoRIALS".lower()
    'cvtutorials'
    
    • 1
    • 2

    string.swapcase():这个方法将字符串大小写字母翻转

    >>> "cvtutorials.COM".swapcase()
    'CVTUTORIALS.com'
    
    • 1
    • 2

    3.4.3 字符串处理类

    string.lstrip():删去字符串左边空格lstrip

    >>> "    cvtutorials   ".lstrip()
    'cvtutorials   '
    
    • 1
    • 2

    string.rstrip():删去字符串右边空格rstrip

    >>> "    cvtutorials   ".rstrip()
    '    cvtutorials'
    
    • 1
    • 2

    string.strip():字符串去掉两边空格strip

    >>> "    cvtutorials   ".strip()
    'cvtutorials'
    
    • 1
    • 2

    string.split():字符串分割方法,通过指定分隔符对字符串进行分割,也可以指定分割为几个子字符串,如:

    >>> "www.cvtutorials.com".split(".", 2)
    ['www', 'cvtutorials', 'com']
    >>> "www.cvtutorials.com".split(".", 1)
    ['www', 'cvtutorials.com']
    
    • 1
    • 2
    • 3
    • 4

    小括号中的“”里面是分隔符,这里是点。小括号里面有个数字,可以理解为分割的次数。第一行代码的意思就是使用分隔符.将"www.cvtutorials.com"这个字符串分割2次,下一行就是分割后的结果

    string.zfill(width):如果string的长度大于等于width,那么返回string本身,如果string长度小于width,这个方法会返回指定长度width的字符串,并且前面填充为0,如:

    >>> "cvtutorials".zfill(20)
    '000000000cvtutorials'
    >>> "cvtutorials".zfill(3)
    'cvtutorials'
    
    • 1
    • 2
    • 3
    • 4

    3.4.4 字符串查询类

    string.find(sub_string):从string中找到sub_string的开始的索引

    >>> "cvtutorials".find("tutorials")
    2
    
    • 1
    • 2

    python中索引下标值从0开始

    string.index:返回子字符串的开始索引

    >>> "cvtutorials".index("tutorials")
    2
    
    • 1
    • 2

    string.count:返回字符串

    >>> "cvtutorials".count("t")
    2不断
    
    • 1
    • 2

    3.5 一点反思

    在本章中,我们在运行代码的时候,常常要输入长长的字符串,而且每次都一样,用掉了大量时间,效率有点低下:p,这时候我们突然想起前面的前面的变量,哦吼。

    >>> a = "cvtutorials.com"
    >>> a.isalnum()
    False
    >>> a.isdigit()
    False
    
    • 1
    • 2
    • 3
    • 4
    • 5

    只需要输入一个a就达到同样的效果,是不是舒服很多:p

  • 相关阅读:
    unity webgl自适应网页尺寸
    Android一键锁屏,去除锁屏密码
    鸿萌数据恢复服务:Mac 文件系统是如何影响 Mac 数据恢复的?
    Django-rest-framework框架之drf请求与响应及2个视图基类
    android 消除字体上下间距
    Java面向对象之——封装
    Android 移动记账管理系统
    【学习方法论】学习的三种境界、三种习惯、三个要点,三个心态
    Django-文件上传
    内存错误分析工具----asan(AddressSanitizer)的介绍和使用
  • 原文地址:https://blog.csdn.net/qq_42322191/article/details/124975527