字符串的定义

  • 字符串 就是 一串字符,是编程语言中表示文本的数据类型
  • 在 Python 中可以使用 一对双引号 " 或者 一对单引号 ' 定义一个字符串
    • 虽然可以使用 \" 或者 \' 做字符串的转义,但是在实际开发中:

      • 如果字符串内部需要使用 ":,可以使用 ' 定义字符串,例如:'zhangsan "hello" '
      • 如果字符串内部需要使用 ',可以使用 " 定义字符串
  • 可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始
  • 也可以使用 for 循环遍历 字符串中每一个字符
    str1 = "Hello world"
    print(str1) for char in str1: print(char)
  • 一般情况下,使用双引号"来定义字符串(大多数的编程语言都是使用的双引号")

字符串的常用操作

  • 在ipython3中,定义一个字符串,例如:my_str = ""
  • 输入 my_str. 并按下Tab键,ipython3会提示字符串能使用的方法如下:

    可以看到字符串中的方法还是很多的。

  1.  先看一下字符串中的统计和求索引的相关操作:len(str)、 str.count(str2)、str.index(str2)

    my_str = "hello world, hello"
    
    # 1. 统计字符串长度
    
    print(len(my_str))
    
    # 2. 统计某一子串出现的次数
    
    print(my_str.count("ell"))
    print(my_str.count("cda")) # 3. 求某一子字符串的索引
    print(my_str.index("wor"))
    # 注意,如果子字符串没有找到,程序会报错
    print(my_str.index("cba"))
  2. 判断类型的方法如下:

    涉及到的方法比较多,对其中的一部分方法进行练习:

    # 1. 判断空白字符
    space_str = " \t\r\n"
    print(space_str.isspace()) # 2. 判断是否为数字 num_str1 = "12"
    print(num_str1)
    print(num_str1.isdecimal())
    print(num_str1.isdigit())
    print(num_str1.isnumeric()) num_str2 = "1.2"
    print(num_str2)
    print(num_str2.isdecimal())
    print(num_str2.isdigit())
    print(num_str2.isnumeric()) num_str3 = "\u00b2"
    print(num_str3)
    print(num_str3.isdecimal())
    print(num_str3.isdigit())
    print(num_str3.isnumeric()) num_str4 = "一零零二"
    print(num_str4)
    print(num_str4.isdecimal())
    print(num_str4.isdigit())
    print(num_str4.isnumeric()) # 3. 大小写判断
    print("abc".islower())
    print("ABC".isupper())
  3. 查找和替换
    my_str = "hello world"
    
    # 1. 判断字符串是否以指定字符串开始
    print(my_str.startswith("hell")) # 2. 判断字符串是否以指定字符串结尾
    print(my_str.endswith("orld")) # 3. 查找指定字符串 print(my_str.find("llo"))
    # 查找的字符串不存在,则返回-1
    # index方法查找的字符串不存在会报错
    print(my_str.find("abc")) # 4.字符串替换
    print(my_str.replace("world", "zfx"))
  4. 大小写转换
    # 1. 转大写
    
    print("abc".lower())
    
    # 2. 转小写
    
    print("ABC".upper()) 
  5. 文本对齐
    my_str = "hello world"
    
    # 1. 左对齐
    print("|%s|" % my_str.ljust(20, " ")) # 2. 右对齐
    print("|%s|" % my_str.rjust(20, " ")) # 3. 居中对齐
    print("|%s|" % my_str.center(20, " "))
  6. 去除空白字符


  7. 拆分和连接

    my_str = "hello world\nhello zfx"
    
    print(my_str)
    
    # 1. 拆分字符串
    
    str_list = my_str.split()
    print(str_list) # 2. 字符串拼接 result = " ".join(str_list)
    print(result)  

字符串切片

  • 切片 方法适用于 字符串列表元组

    • 切片 使用 索引值 来限定范围,从一个大的 字符串切出 小的 字符串
    • 列表元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据
    • 字典 是一个 无序 的集合,是使用 键值对 保存数据
  • 语法:

    字符串[开始索引:结束索引:步长]

  需要注意的地方:

  • 指定的区间属于 左闭右开[开始索引, 结束索引) => 开始索引 >= 范围 < 结束索引

    • 起始 位开始,到 结束位的前一位 结束(不包含结束位本身)
  • 从头开始,开始索引 数字可以省略,冒号不能省略
  • 到末尾结束,结束索引 数字可以省略,冒号不能省略
  • 步长默认为 1,如果连续切片,数字和冒号都可以省略

  索引的顺序和倒叙

  • 在 Python 中不仅支持 顺序索引,同时还支持 倒序索引
  • 所谓倒序索引就是 从右向左 计算索引
    • 最右边的索引值是 -1,依次递减
  • 例子练习:
    num_str = "0123456789"
    # 1. 截取从 2 ~ 5 位置 的字符串
    print(num_str[2:6]) # 2. 截取从 2 ~ 末尾 的字符串
    print(num_str[2:]) # 3. 截取从 开始 ~ 5 位置 的字符串
    print(num_str[:6]) # 4. 截取完整的字符串
    print(num_str[:]) # 5. 从开始位置,每隔一个字符截取字符串
    print(num_str[::2]) # 6. 从索引 1 开始,每隔一个取一个
    print(num_str[1::2]) # 7. 截取从 2 ~ 末尾 - 1 的字符串
    print(num_str[2:-1]) # 8. 截取字符串末尾两个字符
    print(num_str[-2:]) # 9. 字符串的逆序(面试题)
    print(num_str[::-1])

--本文完--

python基础学习(十)字符串的更多相关文章

  1. Python基础学习之字符串(1)

    字符串 由字符组成的序列,即字符串. 1.基本字符串操作 所有标准的序列操作(索引.切片.乘法.判断成员资格.求长度.取最小值和最大值)对字符串同样适用: >>> website=' ...

  2. python基础学习十 logging模块详细使用【转载】

    很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,主要用于输出 ...

  3. python基础学习一 字符串的相关操作

    python的字符串 在python中,字符串是以unicode编码的,所以python的字符串支持多语言 对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数是把编 ...

  4. python基础学习笔记——字符串方法

    索引和切片: 索引:取出数组s中第3个元素:x=s[2] 切片:用极少的代码将数组元素按需处理的一种方法.切片最少有1个参数,最多有3个参数,演示如下: 我们假设下面所用的数组声明为array=[2, ...

  5. Python基础学习:字符串认知与应用

    一.len()  家电维修 len:全写是length,是计算容量的函数:例如a="1234",len(a)=4 如果是中文字符,比如a="哈",len(a)= ...

  6. Python基础学习三 字符串

    字符串方法 slit = ['a', 'b', 'c', 'd', 'f', 'g'] s2='hhhhhhhhhh' tu = (1,2,3,4,5) d={'name':'nnn','age':1 ...

  7. Python基础学习之字符串(2)

    字符串常用方法 1.s.capitalize() 描述:返回字符串s的副本,并将首字符变为大写. 示例: >>> s='yesterday when I was Young!' &g ...

  8. Python基础学习_01字符串的拼接(字符串的格式化输出)

    # 字符串的拼接 ---字符串的格式化输出 # 字符串的拼接 ---字符串的格式化输出 name = input("name:") age = input("age:&q ...

  9. python基础学习之字符串的功能方法

    字符串:str的功能记录(该类需要记忆) .isdecimal():意思是判断是否由数字构成,仅仅可以解析"123" a='123'    d=a.isdecimal()    p ...

  10. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

随机推荐

  1. day_5字符串和列表的各种操作方法

    字符串类型: 字符串的定义是可以有多种引号嵌套 定义字符串是以开头的引号然后匹配和第一个引号相同的引号,所以当字符串中间出现和第一个引号相同的引号就会出错,这个时候就可以选择别的引号进行创建字符串,或 ...

  2. 移动端rem计算

    教你如何用 lib-flexible 实现移动端H5页面适配 2017年07月22日 16:01:24 Pwcong 阅读数:18872    版权声明:本文为博主原创文章,未经博主允许不得转载. h ...

  3. vs链接错误解决方法

    常见引起链接错误的主要原因是由于项目不能找到所需的动态库的路径: 这里介绍一下引用第三方动态库的配置方法: 方法一: vs加载动态库需要先把动态库拷贝到exe所在文件夹,再修改项目属性: 链接器-&g ...

  4. kaldi的TIMIT实例三

    ============================================================================ MMI + SGMM2 Training &a ...

  5. Akka-CQRS(5)- CQRS Writer Actor 部署和测试

    上篇我们做了一个WriterActor的例子,主要目的是示范WriterActor如何作为集群分片用persistentActor特性及event-sourcing模式实现CQRS的写功能.既然是集群 ...

  6. BeanPostProcessor —— 连接Spring IOC和AOP的桥梁

    之前都是从大Boss的视角,来介绍Spring,比如IOC.AOP. 今天换个视角,从一个小喽啰出发,来加深对Spring的理解. 这个小喽啰就是, BeanPostProcessor (下面简称 B ...

  7. ruby-attr_accessor使用

    ruby语法-attr_accessor方法使用 本文主要讲解下ruby下attr_accessor方法的使用. 示例1: class Person end person = Person.new p ...

  8. [Postman]响应(7)

    Postman响应查看器有助于确保API响应的正确性.API响应由正文,标题和状态代码组成.邮递员在不同的标签中组织正文和标题.选项卡旁边会显示API调用的状态代码和完成时间. 响应还包含HTTP规范 ...

  9. QMQ去哪儿网-mq中间件(启动失败)

    简介 去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ .QMQ 自 2012 年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景: 也包括报价搜索等高吞吐量场景.目前在 ...

  10. MySQL数据库的锁机制

    在并发访问情况下,很有可能出现不可重复读等等读现象.为了更好的应对高并发,封锁.时间戳.乐观并发控制(乐观锁).悲观并发控制(悲观锁)都是并发控制采用的主要技术方式. 锁分类 ①.按操作划分:DML锁 ...