Python字符串类型:字符串索引、字符串切片、字符串format()方法格式化、字符串操作符、字符串处理函数
字符串:由0个或多个字符组成的有序序列sequence。
一、字符串表示方式:2类4种
- 由一对单引号或双引号表示,该方式仅用于表示单行字符串
- 由一对三单引号或三双引号,该方式可以表示多行字符串
- 如果希望在字符串中包含单引号,外面就用双引号;反之亦然。否则出错
- 如果希望在字符串中既包含单引号又包含双引号,外面用三单引号
注:无论单双,无论几个,外面的引号一定都是英文引号。
- 反斜杠()的作用:①转义符;②续行符
- 转义符与后面相邻的一个字符共同组成了新的含义,如\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个基本操作符。
- x + y : 连接两个字符串x和y
- x * n或n * x:复制x字符串n次
- x in s: 如果x是s的子串,返回True,否则返回False
五、字符串处理函数
- len(x):返回字符串x的长度,也可返回其它组合数据类型的元素个数
- str(x):返回任意类型x所对应的字符串形式,与eval()逆运算
- chr(x):根据Unicode整数返回单字符(one-character string)
- ord(x):根据单字符返回Unicode整数,是chr(x)的逆运算
- hex(x):返回整数x对应十六进制的小写形式字符串
- oct(x):返回整数x对应八进制数的小写形式字符串
注:len:length;str:string;chr:character;
六、字符串处理方法
“方法”是程序设计中的一个专有名词,属于面向对象程序设计领域。
- 方法特指<a>.<b>()风格中的函数<b>()
- 方法本身也是函数,但是与<a>有关,<a>.<b>()风格使用
- 字符串及变量也是<a>,存在一些方法
- 方法也是一个函数,只是调用方式不同。函数采用func(x)方式调用,方法采用<a>.<b>()方式调用
str.lower():返回字符串str的副本,全部字符小写
str.upper():返回字符串str的副本,全部字符大写
str.split(sep=None):返回一个列表,由str根据sep被分割的部分构成,省略sep默认以空格分隔,sep可以是单个字符,也可以是一个字符串。分隔后的内容以列表类型返回。
注:返回结果[‘a’, ‘b’, ‘c’]里的逗号是列表元素分隔符,不是"a,b,c"里的逗号str.count(sub):返回sub子串出现的次数
str.replace(old,new):返回字符串str的副本,所有的old子串替换为new,old和new的长度可以不同。可以使用replace()方法去掉字符串中的特定字符或字符串。
注意第二句,返回结果里有两个空格str.center(width,fillchr):字符串居中函数,fillchr可选,fillchr只能是单个字符。str处于新字符串中心位置,两侧新增字符采用fillchr填充,当width小于字符串长度时,返回str。
str.strip(chrs):从字符串str中去掉其左侧和右侧chrs中列出的字符,其中出现的每个字符都会被去掉。
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()方法格式化、字符串操作符、字符串处理函数相关推荐
- C语言字符串类型定义(二维字符数组模拟连续存储多个字符串)(以小凡点名为例)
经过dev-Cpp检验 #define _CRT_SECURE_NO_WARNINGS /* 老师让小凡来完成点名,让小凡在早自习的时候就点好名.老师给了小凡名单,小凡只要照着名单点名就好了是不是很简 ...
- [转载] python tuple类型如何索引_Python基础数据类型——tuple浅析
参考链接: Python tuple() Python中tuple的使用 一.什么是元组? 有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改. 二.用法 1 ...
- dataframe两个表合并_Part25:Pandas基础(Series,DataFrame类的创建、索引、切片、算术方法)...
一.为什么学习pandas numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢? numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类 ...
- Python集合类型详解(一)——集合定义与集合操作符
今天继续给大家介绍Python相关知识,本文主要内容是Python集合类型定义与集合操作符. 一.集合类型定义 在Python中,集合是一种非常重要的组合数据类型.Python中的集合与数学中的集合非 ...
- 字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)
内容回顾 跟运维组学Python基础 day03 格式化输出 %s name = input('Pleases input your name: ') # Zanaoprint('My name is ...
- 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 ...
- mysql 字符串类型 小数_在Mysql中,小数数据类型是指由字符串来表示的数字。( )...
[单选题]中药检查项下的总灰分是指( ) [单选题]中国药典规定取某样品 2.00g ,系指称取的质量应为( ) [多选题]中国药典2015版鉴别中药真伪的方法有( ) [多选题]中药及其制剂的鉴别方 ...
- java calendar字符串显示_Java获取当前时间年月日、时间格式化打印、字符串转日期...
package com.sysc.simple; import java.text.ParseException; import java.text.SimpleDateFormat; import ...
- python中str的索引、切片
1 a = "hello" 2 a1 = a[1] 3 a2 = a[0:2] 4 print(a1) 5 print(a2) 我们通过索引获取字符串中指定位数的字符 通过切片获取 ...
最新文章
- 【FPGA】SRIO IP核系统总览以及端口介绍(三)(Messaging Port、User-Defined Port介绍)
- 【代码笔记】iOS-长条label
- Qt5使用windeployqt后 exe文件还是无法执行 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
- Python矩阵的用法(使用numpy)
- TortoiseSVN忽略文件或文件夹
- 和我一起打造个简单搜索之ElasticSearch入门
- Android自定义控件之虚线的用法
- MySql 不香了?我们公司为什么放弃MySql选择NewSql?
- Sql Server 2008完全卸载方法(其他版本类似)
- html5 音乐播放器 静态,使用HTML5 Audio标签制作音乐播放器
- 坐车看书的人都是在装逼?
- PermissionError: [WinError 5] 拒绝访问。
- win10+gtx1050+tensorflow+cuda8.0+cudnn5.1配置踩到的坑(回忆)
- 钓鱼网站与病毒频发背后 网络支付黑色利益链
- 使用组件不渲染 Unknown custom element: <xxx> - did you register the component correctly? For recursiv
- 电商用户标签体系建设基础步骤
- [Office] 设置段落标题边框
- 梦幻手游服务器总维护,梦幻西游手游7.13维护解读 维护内容详细分析
- C++四种类型转换总结
- 元气森林,真能在中国再造一个“可口可乐”吗?
热门文章
- 第八章Jdk代理 cglib代理
- 在gitLab上新建仓库push时SSHkey的问题
- mac: brew的删除
- Kryo 为什么比 Hessian 快
- SQL 2008 表死锁的解决
- “模板”学习笔记(7)-----数组模板+对象数组举例
- 【摘】把vmware的虚拟机硬盘vmdk文件分割成多个2G文件
- 安全是一个系统问题包括服务器安全,信息安全技术题库:除了应用程序功能,Web内容和功能枚举还需要关注( )。...
- java 11_Java 11 正式发布!8年免费使用!
- mysql 当前时区_如何获取MySQL的当前时区?