字符串:由0个或多个字符组成的有序序列sequence。

一、字符串表示方式:2类4种

  1. 由一对单引号或双引号表示,该方式仅用于表示单行字符串
  2. 由一对三单引号或三双引号,该方式可以表示多行字符串
  3. 如果希望在字符串中包含单引号,外面就用双引号;反之亦然。否则出错
  4. 如果希望在字符串中既包含单引号又包含双引号,外面用三单引号

注:无论单双,无论几个,外面的引号一定都是英文引号

  1. 反斜杠()的作用:①转义符;②续行符
  • 转义符与后面相邻的一个字符共同组成了新的含义,如\n表示换行,\表示反斜杠,\‘表示单引号,"表示双引号,\t表示制表符Tab,\r光标移到本行行首,\n光标移到下行行首,即换行,\b回退
  • 续行符,将一行长代码变成多行短代码

二、字符串索引

索引:对字符串中单个字符的检索
<字符串或字符串变量>[序号]
字符串以Unicode编码,字符串的英文字符和中文字符都计作1个字符。

三、字符串切片

切片:对字符串中某个子串或区间的检索
<字符串或字符串变量>[N,M[,K]]
注:字符串切片不包括M位置,取值从N到M-1

  • 如果N大于M,则返回空字符串
  • 如果N缺失,则默认将N设为0,从字符串头开始
  • 如果M缺失,则默认到字符串结尾
  • 如果M和N都缺失,表示整个字符串
  • 如果M和N都缺失,步长=-1,表示整个字符串逆序,即从后往前一个个取出
  • 根据步长K对字符串切片

注:在Python交互式编程环境中,字符串的索引和切片返回结果为:’’,print()函数打印的字符串则没有’ ',输出文本字符形式。

  • 字符串索引,索引值超出范围会报错IndexError
  • 字符串切片,索引值超出范围,默认处理到最后一位

四、字符串操作符

针对字符串,Python提供了5个基本操作符。

  1. x + y : 连接两个字符串x和y
  2. x * n或n * x:复制x字符串n次
  3. x in s: 如果x是s的子串,返回True,否则返回False

五、字符串处理函数

  1. len(x):返回字符串x的长度,也可返回其它组合数据类型的元素个数
  2. str(x):返回任意类型x所对应的字符串形式,与eval()逆运算
  3. chr(x):根据Unicode整数返回单字符(one-character string)
  4. ord(x):根据单字符返回Unicode整数,是chr(x)的逆运算
  5. hex(x):返回整数x对应十六进制的小写形式字符串
  6. oct(x):返回整数x对应八进制数的小写形式字符串
    注:len:length;str:string;chr:character;




六、字符串处理方法

“方法”是程序设计中的一个专有名词,属于面向对象程序设计领域。

  • 方法特指<a>.<b>()风格中的函数<b>()
  • 方法本身也是函数,但是与<a>有关,<a>.<b>()风格使用
  • 字符串及变量也是<a>,存在一些方法
  • 方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,方法采用<a>.<b>()方式调用
  1. str.lower():返回字符串str的副本,全部字符小写

  2. str.upper():返回字符串str的副本,全部字符大写

  3. str.split(sep=None):返回一个列表,由str根据sep被分割的部分构成,省略sep默认以空格分隔,sep可以是单个字符,也可以是一个字符串。分隔后的内容以列表类型返回。


    注:返回结果[‘a’, ‘b’, ‘c’]里的逗号是列表元素分隔符,不是"a,b,c"里的逗号

  4. str.count(sub):返回sub子串出现的次数

  5. str.replace(old,new):返回字符串str的副本,所有的old子串替换为new,old和new的长度可以不同。可以使用replace()方法去掉字符串中的特定字符或字符串。

    注意第二句,返回结果里有两个空格

  6. str.center(width,fillchr):字符串居中函数,fillchr可选,fillchr只能是单个字符。str处于新字符串中心位置,两侧新增字符采用fillchr填充,当width小于字符串长度时,返回str。

  7. str.strip(chrs):从字符串str中去掉其左侧和右侧chrs中列出的字符,其中出现的每个字符都会被去掉。

  8. str.join(iter):在iter变量除最后一个元素外的每个元素后增加str,iter必须是一个可迭代变量。简单地说,str.join(iter)能够在一组数据中增加分隔字符,形成一个新的字符串。str.split(sep)也是分隔字符串,但形成的是一个列表。

iterable:可迭代的,可遍历的

七、字符串格式化:fromat()方法

字符串格式化用于解决字符串和变量同时输出时的格式安排问题。

  • fromat()方法:<模板字符串>.format(<逗号分隔的参数>)
  • 模板字符串里的槽:{<参数序号>:<格式控制标记>}

模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果,槽用大括号{}表示,对应format()方法中逗号分隔的参数。

  • 如果模板字符串有多个槽,且槽内没有指定序号,则默认按照槽出现的顺序分别对应.fromat()方法中的不同参数
  • 可以通过format()参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号
  • 如果字符串中出现槽的数量和format()方法中出现的变量不一致,即程序不能够通过简单的顺序对应确定变量使用,则必须在槽中使用序号指定参数,否则会产生IndexError。
  • 如果希望在模板字符串中直接输出大括号,使用{{表示{,}}表示}。


    参数序号,冒号,填充,对齐,宽度,逗号,点精度,类型
  • 参数序号,默认对应format(逗号分隔的参数)对应的序号,默认从0开始
  • 填充,只能是单个字符,默认填充空格
  • 对齐,默认左对齐
  • 宽度,如果宽度值小于参数长度,默认输出参数本身长度。如果宽度值大于参数长度,则输出的包含参数的整个字符串长度为宽度值
  • .精度。对于浮点数,精度表示小数部分输出的有效位数,此时,小数点可以理解为对数值的有效截断(四舍五入),如果小数点保留长度超过参数长度,输出参数长度。对于字符串,精度表示输出的最大长度。
  • 类型:对于整数类型
  • b:输出整数的二进制形式
  • c:输出整数Unicode对应的单字符
  • d:输出整数的十进制形式
  • o:输出整数的八进制形式
  • x:输出整数的小写十六进制形式
  • X:输出整数的大写十六进制形式
  • 类型:对于浮点数类型
  • e:输出浮点数对应的小写字母e的指数形式,科学计数法
  • E:输出浮点数对应的大写字母E的指数形式,科学计数法
  • f:输出浮点数的非科学计数法形式
  • %:输出浮点数的百分比形式

    可以认为浮点数是比整数更宽大的范围,因此在适用整数的地方不适用浮点数,但在适用浮点数的地方同样适用整数。如下:

Python字符串类型:字符串索引、字符串切片、字符串format()方法格式化、字符串操作符、字符串处理函数相关推荐

  1. C语言字符串类型定义(二维字符数组模拟连续存储多个字符串)(以小凡点名为例)

    经过dev-Cpp检验 #define _CRT_SECURE_NO_WARNINGS /* 老师让小凡来完成点名,让小凡在早自习的时候就点好名.老师给了小凡名单,小凡只要照着名单点名就好了是不是很简 ...

  2. [转载] python tuple类型如何索引_Python基础数据类型——tuple浅析

    参考链接: Python tuple() Python中tuple的使用 一.什么是元组? 有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改. 二.用法 1 ...

  3. dataframe两个表合并_Part25:Pandas基础(Series,DataFrame类的创建、索引、切片、算术方法)...

    一.为什么学习pandas numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢? numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类 ...

  4. Python集合类型详解(一)——集合定义与集合操作符

    今天继续给大家介绍Python相关知识,本文主要内容是Python集合类型定义与集合操作符. 一.集合类型定义 在Python中,集合是一种非常重要的组合数据类型.Python中的集合与数学中的集合非 ...

  5. 字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)

    内容回顾 跟运维组学Python基础 day03 格式化输出 %s name = input('Pleases input your name: ') # Zanaoprint('My name is ...

  6. Python中的字符串特性(索引、切片、重复、连接、成员操作符号)

    1.索引 s = 'hello'print(s[0])print(s[1]) 2.切片 print(s[:3])print(s[0:3])print(s[0:4:2]) #s[start:end:st ...

  7. mysql 字符串类型 小数_在Mysql中,小数数据类型是指由字符串来表示的数字。(  )...

    [单选题]中药检查项下的总灰分是指( ) [单选题]中国药典规定取某样品 2.00g ,系指称取的质量应为( ) [多选题]中国药典2015版鉴别中药真伪的方法有( ) [多选题]中药及其制剂的鉴别方 ...

  8. java calendar字符串显示_Java获取当前时间年月日、时间格式化打印、字符串转日期...

    package com.sysc.simple; import java.text.ParseException; import java.text.SimpleDateFormat; import ...

  9. python中str的索引、切片

    1 a = "hello" 2 a1 = a[1] 3 a2 = a[0:2] 4 print(a1) 5 print(a2) 我们通过索引获取字符串中指定位数的字符 通过切片获取 ...

最新文章

  1. 【FPGA】SRIO IP核系统总览以及端口介绍(三)(Messaging Port、User-Defined Port介绍)
  2. 【代码笔记】iOS-长条label
  3. Qt5使用windeployqt后 exe文件还是无法执行 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
  4. Python矩阵的用法(使用numpy)
  5. TortoiseSVN忽略文件或文件夹
  6. 和我一起打造个简单搜索之ElasticSearch入门
  7. Android自定义控件之虚线的用法
  8. MySql 不香了?我们公司为什么放弃MySql选择NewSql?
  9. Sql Server 2008完全卸载方法(其他版本类似)
  10. html5 音乐播放器 静态,使用HTML5 Audio标签制作音乐播放器
  11. 坐车看书的人都是在装逼?
  12. PermissionError: [WinError 5] 拒绝访问。
  13. win10+gtx1050+tensorflow+cuda8.0+cudnn5.1配置踩到的坑(回忆)
  14. 钓鱼网站与病毒频发背后 网络支付黑色利益链
  15. 使用组件不渲染 Unknown custom element: <xxx> - did you register the component correctly? For recursiv
  16. 电商用户标签体系建设基础步骤
  17. [Office] 设置段落标题边框
  18. 梦幻手游服务器总维护,梦幻西游手游7.13维护解读 维护内容详细分析
  19. C++四种类型转换总结
  20. 元气森林,真能在中国再造一个“可口可乐”吗?

热门文章

  1. 第八章Jdk代理 cglib代理
  2. 在gitLab上新建仓库push时SSHkey的问题
  3. mac: brew的删除
  4. Kryo 为什么比 Hessian 快
  5. SQL 2008 表死锁的解决
  6. “模板”学习笔记(7)-----数组模板+对象数组举例
  7. 【摘】把vmware的虚拟机硬盘vmdk文件分割成多个2G文件
  8. 安全是一个系统问题包括服务器安全,信息安全技术题库:除了应用程序功能,Web内容和功能枚举还需要关注( )。...
  9. java 11_Java 11 正式发布!8年免费使用!
  10. mysql 当前时区_如何获取MySQL的当前时区?