Python数据类型——字符串
概论
字符串顾名思义就是一串字符,由于Python中没有“字符”这种数据类型,所以单个的字符也依然是字符串类型的。字符串可以包含一切数据,无论是能从键盘上找到的,还是你根本都不认识的。与数一样,字符串也是值。字符串是不可变的类型。字符串用""双引号或者''单引号扩起,你可能会问,这有什么差别吗?其实没有任何差别。使用单双引号的输出结果完全相同。

既然如此,为何同时支持单引号和双引号呢?因为你可能遇到如下情况:

这里就体现出单双引号的作用,如果只使用单引号或者双引号,在执行如上其中一种情况的时候,解释器就会报错。

除了单引号和双引号,三引号也是一个非常好用的定义方法,它的用法和三引号注释是相同的,也是可以支持将多行扩起,单引号和双引号只能定义在同一行内。
str()方法
字符串既是一个类型也是一个方法,str()就是一个工厂函数,它会把括号内的值转化成字符串,但是这个转化过程也不是什么都无脑转化,它遵循了字符串的一些方法。比如str()会自动识别字符串中的单引号或者双引号,以作为字符串结束的标志,而当str()找到换行符和制表符之后,也不会按照原样将它们输出。

比如说你想让解释器输出s\nb,小牛逼,然后str()识别到"\n"就作为换行符输出了,结果就变成了傻逼。。。一般情况下把\n作为换行符代替回车键是很方便的,但是当你真的想让解释器打出'\n'的时候就要用到特殊的方法了。
反斜杠(\)
反斜杠是让斜杠后面的一个可以让str()启动神秘功能的特殊字符失去特殊作用,变成一般的字符。它遵循从左到右的运算顺序。比如说我在"\n"前面加上反斜杠,"\n"也就不作为换行符被str()执行换行操作了,它会变成一般字符"\n"输出。

值得注意的是,反斜杠出现在特殊字符前面会隐形,而出现在一般字符的前面会作为普通的字符输出。

想要输出两个\的话,因为\本身也是特殊字符,所以"\\"的前面一个反斜杠会把后面的反斜杠作为特殊符号转义成一般符号,它自己则在输出的时候隐形了,如果想要输出两个反斜杠的话,要打三个或者四个反斜杠。

一般使用反斜杠让制表符、换行符、反斜杠自己、单双引号的魔法失灵,从而作为普通字符来输出它们。
原始字符串
原始字符串就是告诉计算机,一切开始简单粗暴,我输入什么,就给我输出什么,但是要注意不要以反斜杠结尾,因为反斜杠会让最后一个引号失去标记结尾的作用,导致str()无法识别结尾,以至于报错。

字符串内置方法
1.按索引取值
>>> s='string' >>> s[0] 's' >>> s[1] 't' >>> s[-1] 'g'
-1是最后一位,索引支持从后往前取值。
2.切片
>>> s='string' >>> s[1:3] 'tr' >>> s[3:1:-1] 'ir'
切片是顾头不顾尾的,也就是取不到结尾索引的位置。永远在结尾索引的前一位就截止了。
切片最后一个参数是步长,可以为正也可以为负。
3.长度len
字符串元素的个数。
4.成员运算in和not in
判断一个子字符串是否存在于大字符串中
5.移除空白strip: 用来去除字符串左右两边的字符,不指定默认去除的是空格
>>> s=' string '
>>> s.strip()
'string'
>>> s=' ***string*** '
>>> s.strip('*')
' ***string*** '
# 当指定字符时,则不清楚空格\换行符,只清楚指定的字符。
6.切分split:针对有规律的字符串,按照某种分隔符切成列表
>>> s='a|b|c|d|e|f|g'
>>> s.split('|')
['a', 'b', 'c', 'd', 'e', 'f', 'g']
7.join:列表拼接成字符串
>>> '_'.join(['a', 'b', 'c', 'd', 'e', 'f', 'g']) 'a_b_c_d_e_f_g'
8.lower,upper大小写转化
>>> 'ABC'.lower() 'abc' >>> 'abc'.upper() 'ABC'
9.startswith,endswith 判定字符串开头和结尾是否是某个子字符串
>>> 'abcaaaaa'.startswith('abc')
True
>>> 'abcaaaaa'.endswith('a')
True
10.format的三种玩法
1.按位传参
2.关键字传参
3.按索引传参
11.replace(old,new)
Return a copy with all occurrences of substring old replaced by new.
12.isdigit等数字判别
isdigit 判定一个字符串是否是纯阿拉伯数字,可判定Unicode和Bytes编码
isdecimal 判定Unicode编码的阿拉伯数字
isnumberic 判定中文、罗马、阿拉伯数字
13.find 输出子字符串在字符串中第一个索引
>>> ') 4
14.center,ljust,rjust,zfill 填充
15.captalize,swapcase,title
>>> 'abcdef dddddd'.capitalize() # 句首字母大写 'Abcdef dddddd' >>> 'abcAef dddddd'.swapcase() # 大小写反转 'ABCaEF DDDDDD' >>> 'abcAef dddddd'.title() #单词首字母大写 'Abcaef Dddddd'
Python数据类型——字符串的更多相关文章
- 6 Python 数据类型—字符串
字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可. var1 = 'Hello World!' var2 = ...
- python 数据类型-字符串-对象和方法
python的字符串有众多方法,可以在doc文档中查看 示例 转换开头字母为大写 c1="welcome to my python" >>> c1.capital ...
- python数据类型-----字符串
今天来总结下python3.4版本字符串的一些操作方法,对这些方法先作一个简单的分类,按照分类来进行总结. Sequence Typessequence类型有六种:strings, byte sequ ...
- python数据类型——字符串类型
字符串(string) 字符串,就是字符连成一串,是由字符组成的序列.字符串有编码问题,在之前我已经讲过.本节主要讲字符串的使用. 创建字符串,不用多说: a='123abcd' b='diamond ...
- python 数据类型 ---字符串
1. 字符串去除空白 ,strip() , 包括空格,tab键, 换行符 >>> name = " Frank " >>> name.strip ...
- python 数据类型---布尔型& 字符串
python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...
- python基础【2】——python数据类型之字符串
python数据类型-字符串 一. 字符串的表示方法(str) 作用: 记录文本信息 表示方法:' ' 单引号 " "双引号 ''' '''三单引号 ""&qu ...
- python 数据类型(元组(不可变列表),字符串
元组(不可变列表) 创建元组: ages = (11, 22, 33, 44, 55) 或 ages = tuple((11, 22, 33, 44, 55)) 一般情况下是不需要被人该的数值才使用元 ...
- python基础之数据类型/字符串/元组/列表/字典
Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...
随机推荐
- IP通信基础学习第三周(下)
TTL的最值是255. 数据部分不参与检验和的计算. 接收端的结果若为0,则保留:否则,会丢弃该数据报. IP数据报选项字段是可选的,主要用于网络测试和调试. IP辅助协议ICMP的消息类型有错误消息 ...
- PAT (Basic Level) Practice (中文)1008 数组元素循环右移问题 (20 分)
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805316250615808 #include <iost ...
- go语言入门教程:基本语法之变量声明及注意事项
一.变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称.在go中声明变量有多种语法. 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 1.2 声明 ...
- 【python】文件处理行与行之间的内容
在处理文本文件时,很多时候需要我们处理跨行的数据,但是用for循环处理不是很方便,想了一个歪招来处理不是很大的数据. 核心思想就是将上一行的东西存在一个列表里,到下一行用完这个数据在循环体里将列表初始 ...
- 20190317 A
今天是学长wsy的题,我理论会100+50+30=180,实际100+20+10=130,充分体现我的菜 最近日常模拟赛挂分50到60,很危险,这2天一定要调整好... Upd:T2我认为50的划分数 ...
- 外星人入侵游戏(python代码)
https://github.com/ehmatthes/pcc/tree/master/chapter_12/images
- 确定有穷自动机(DFA)的化简(最小化)
参考博客地址:https://blog.csdn.net/qq_33605778/article/details/80105658
- Error creating bean
问题原因 Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: bookinfo is not mapped,sql语句中的表 ...
- Linux SSH 基于密钥交换的自动登录原理简介及配置说明
协商交互过程 1.客户端向目标服务器发送登录请求.在SSH 服务启用了证书验证登录方式后,会优先通过证书验证方式进行登录验证. 2.目标服务器根据 SSH 服务配置,在用户对应目录及文件中读取到有效的 ...
- 2019 年 Spread.NET 产品路线图(Roadmap)
前言 | 问题背景 2018年结束了,12月是Spread.NET的重要月份.我们发布了Spread.NET 12,我们期待着 2019 年令人兴奋的新年,这是Windows Forms开发人员有史以 ...