# Python中字符串的常见用法
### 定义:带有双引号/单引号/三引号
### 双引号:适用于所写的字符串里没有双引号的。例如:
"凡是“辛苦”必是礼物"报错​
### 单引号:适用于所写的字符串里没有单引号的。例如:
'I'm xiaoming'报错​​
### 三引号:适用于多行字符串。例如:
''' 灯火星星...人声杳杳...歌不尽乱世烽火'''.上述三行可正常输出​​​​
###字符串可以用"" "" "" 、"str1 str2 str3"和("" "" "")以及("str1 str2 str3")表示而("","","")和 "","",""是元组
```
>>> name = "Jerry","Jenny"
>>> type(name)
<class 'tuple'
>>>> name = ("as" "we" "can" "do")
>>> type(name)
<class 'str'
>>>> poems = ("曾经沧海难为水","除去巫山不是云")​
>>> type(poems)
<class 'tuple'
>​>>> name = "Jack","Keoa","Kim"
>>> name('Jack', 'Keoa', 'Kim')
>>> type(name)
<class 'tuple'
>>>> name = ("as" "we" "can" "do")
>>> type(name)
<class 'str'
>>>> name = "Jerry Jenny"
>>> name
'Jerry Jenny'
>>> type(name)
<class 'str'>​>>>
name = ("Jerry Jack Tom")
>>> name
'Jerry Jack Tom'
>>> type(name)
<class 'str'>
```
###一些性质
####\t \n \t\n​
#####\t: \t表示空四个字符,也称缩进,相当于按一下Tab键
```
>>> name = "\tJerry Jenny"
>>> print(name)
Jerry Jenny
>>> name = "Jerry\tJenny"
>>> print(name)
Jerry Jenny
>>> name = "Jer\try Jen\tny"
>>> print(name)
Jer ry Jen ny
```
##### \n : \n表示换行,相当于按一下回车
```
>>> name = "Jerry Jenny\n"
>>> print(name)
Jerry Jenny

>>> name = "Jerry\nJenny"
>>> print(name)
Jerry
Jenny
>>> name = "Jerry\nJenn\ny"
>>> print(name)
Jerry
Jenny​

```
##### \t\n: \n\t表示换行加每行空四格
```
>>> name = "\tJerry Jenny\n"
>>> print(name)
Jerry Jenny

>>> name = "\tJerry\nJenny"
>>> print(name)
Jerry
Jenny
>>> name = "\t\nJjerry Jenny"
>>> print(name)

Jjerry Jenny
>>> name = "Jerry Jenny\t\n"
>>> print(name)
Jerry Jenny

```
##### .center(number," ")以number个居中对齐

```
>>> name = "Jerry Tom"
>>> name.center(50)
' Jerry Tom '
>>> name.center(50,"-")
'--------------------Jerry Tom---------------------'​
```
##### .count(" ",start,end) 找指定字符串在star到end范围内出现的次数
```
>>> name = "Jenny Jerry"
>>> name.count("J")
2
>>> name.count("J",1,7) # 一个空格占一个下标
1
>>> name.count("J",1,6) # 顾头不顾尾
0
>>> name[6]
'J'
>>> name.count("nn")
1​
```
##### .endswith("") 检查字符串最后是不是以指定字符结尾的
```
>>> name = "Jenny Jerry"
>>> name.endwith("rry") # 是.endswith而不是endwith哦
Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'str' object has no attribute 'endwith'
>>> name = "Jenny Jerry"
>>> name.endswith("rry")
True
>>> name.endswith(3) # 不支持整型
Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: endswith first arg must be str or a tuple of str, not int
>>> name.endswith("3")
False
>>> name.endswith("y Jerry")
True
```
##### .startswith("") 检查字符串湿奴是以指定字符开头的
```
>>> name = "Jenny Jerry"
>>> name.startswith("Je")
True
>>> name.startswith("e")
False​
```
##### .find("",start,end),同样是顾头不顾尾,在字符串内存在指定字符则返回第一个出现的下标,不存在则返回-1
```
>>> name = "Jerry Jenny"
>>> name.find("J")
0
>>> name.find("J",1)
6
>>> name.find("J",1,7)
6
>>> name.find("J",1,6)
-1 # 顾头不顾尾检索不到6,故不存在返回-1
>>> name.find("m")
-1​
```
##### .format() 格式化打印
```
>>> a = "my name is %s,i am %s years old" %("Jerry",20)
>>> a
'my name is Jerry,i am 20 years old'
>>> a = "my name is %s,i am %d years old" %("Jerry",20)
>>> a'
my name is Jerry,i am 20 years old'
>>> a = "my name is {0},i am {1} years old"
>>> a.format("Jerry",20) # 直接打印出来不用再调用a或者print
'my name is Jerry,i am 20 years old'
>>> a = "my name is {name},i am {age} years old"
>>> a.format(name ="Jerry",age=20)'
my name is Jerry,i am 20 years old'
>>> a = "she is {name},{name} is {age} years old"
>>> a.format(name="Jerry",age=20)
'she is Jerry,Jerry is 20 years old'
```
##### .isdigit() 判断是不是整数
```
>>> name = "Jerry"
>>> name.isdigit()
False
>>> age = "12"
>>> age.isdigit()
True
>>> a = "Jerry,20"
>>> a.isdigit()
False​​
>>> b="12"
>>> b.isdigit()
True
>>> b = "20"+"2"
>>> b
'202'
>>> b.isdigit()
True
>>> b = "20 12"
>>> b.isdigit()
False
>>> "20".isdigit()
True
>>> "20 1".isdigit()
False
>>> a = "20 1"
>>> a
'20 1'​
>>> a = 21
>>> a.isdigit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'isdigit'
```
##### .capitalize() 首字母大写
```
>>> name = "jerry amy"
>>> name.capitalize()
'Jerry amy'
>>> name = "Jerry amy"
>>> name.capitalize()
'Jerry amy'​
```
##### .index("",start,end) 索引找出指定元素的第一个下标
```
>>> name = "Jerry"
>>> name.index("J")
0
>>> name.index("r")
2
>>> name.index("r",3,4)
3​
```
##### .casefold() 大写全部变为小写
```
>>> name = "Jerry Tom"
>>> name'Jerry Tom'
>>> name.casefold()
'jerry tom'
```
##### .lower()全部变小写
```
>>> name ="Jerry Jenny"
>>> name.lower()
'jerry jenny'
>>> name = "jerry jenny"
>>> name.lower()
'jerry jenny'
```
##### .upper()全部变大写
```
>>> name = "Jenny Jerry"
>>> name.upper()
'JENNY JERRY'
>>> name = "Jenny-Jerry"
>>> name.upper()
'JENNY-JERRY'
```
##### .islower()判断出现字符的地方是不是全都是小写,如果没有字符,比如数字或特殊形式也返回False
```
>>> name ="Jerry Jenny"
>>> name.islower()
False
>>> name = "jerry jenny"
>>> name.islower()
True
>>> name = "13 jerry"
>>> name.islower()
True
>>> age = "20 12"
>>> age.islower()
False
>>> sign = "* & $"
>>> sign.islower()
False​
```
##### .isupper()判断出现字符的地方是不是全都是大写,如果没有字符,比如数字或特殊形式也返回False
```
>>> name = "Jerry Jenny"
>>> name.isupper()
False
>>> name = "JERRY JENNY"
>>> name.isupper()
True
>>> name = "12"
>>> name.isupper()
False
>>> name = "JERRY 12"
>>> name.isupper()
True
>>> name = "JENNY 12t"
>>> name.isupper()
False
>>> poems = "曾经沧海难为水,除去巫山不是云"
>>> name.isupper()
False​​
>>> poems = "曾经沧海难为水,除去巫山不是云A"
>>> poems.isupper()
True
>>> poems = "曾经沧海难为水,除去巫山不是云,A"
>>> poems.isupper()
True
```
##### .swapcase()把字符串里的大写变小写,小写变大写
```
>>> name = "Jenny Jerry"
>>> name.swapcase()
'jENNY jERRY'
>>> poems = "曾经沧海难为水,除去巫山不是云"
>>> poems.swapcase()
'曾经沧海难为水,除去巫山不是云'
```
##### .isspace()判断有没有空间
```
>>> a =''
>>> a.isspace() # 仅有引号不算 必须只有空格
False
>>> a = ' '
>>> a.isspace()
True
>>> a = ' '
>>> a.isspace()
True​>
>> a = '1 2 3'
>>> a
'1 2 3'
>>> a.isspace()
False
```
##### "".join()把列表或者字符串里面的字符以“”里面的形式拼接起来
```
>>> numbers = [1,2,4]
>>> "-".join(numbers)
Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: sequence item 0: expected str instance, int found
>>> str = ["1","2","4"]
>>> "-".join(str)'
1-2-4'
>>> name = ("Jerry" "Jenny" "Alex")
>>> "*".join(name)
'J*e*r*r*y*J*e*n*n*y*A*l*e*x'
>>> "-".join(name)
'J-e-r-r-y-J-e-n-n-y-A-l-e-x'
>>> "".join(name)'
JerryJennyAlex'
>>> name = ("Jerry","Jenny","Alex")
>>> "-".join(name)
'Jerry-Jenny-Alex'
```
##### .ljust(step,"sign") 从左对齐step个不够的用sign补齐
```
>>> poems = ("曾经沧海难为水" "除去巫山不是云")
>>> (poems).ljust(50,"_")
'曾经沧海难为水除去巫山不是云____________________________________'
>>> poems.ljust(50,"-")
'曾经沧海难为水除去巫山不是云------------------------------------'
```
##### .rjust(step,"sign")从右对齐step个不够的用sign补齐
```
>>> poems.rjust(50,"*")
'************************************曾经沧海难为水除去巫山不是云'​>>> poems.rjust(50,"")
Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: The fill character must be exactly one character long
>>> poems.rjust(50," ")
' 曾经沧海难为水除去巫山不是云'​
```
##### .zfill(step)从左对齐step个不够的用0补齐
```
>>> poems = "曾经沧海难为水,除去巫山不是云"
>>> poems.zfill(50)
'00000000000000000000000000000000000曾经沧海难为水,除去巫山不是云'
```
##### .strip() 清楚两边格式 即将字符串里两边的换行缩进都清除 如果在中间就清除不了
```
>>> name = "Jerry Jenny\t\n"
>>> print(name)
Jerry Jenny

>>> name.strip()
'Jerry Jenny'
>>> name = "Jenny\tJerry\n"
>>> print(name)
Jenny Jerry

>>> name.strip()
'Jenny\tJerry'
>>> name = " Jerry-Jenny \t Jack\n"
>>> print(name)
Jerry-Jenny Jack

>>> name.strip()
'Jerry-Jenny \t Jack'
>>> name = "------------- Jerry\nJenny "
>>> print(name)
------------- JerryJenny
>>> name.strip()
'------------- Jerry\nJenny'
```
##### .lstrip() 清楚左边格式 即将字符串左边的换行缩进都清除 如果在中间和右边就清除不了
```
>>> name = "\t\nJjerry Jenny"
>>> print(name)

Jjerry Jenny
>>> name.lstrip()
'Jjerry Jenny'
>>> name = "Jerry Jenny\t\n"
>>> name.lstrip()
'Jerry Jenny\t\n'
```
##### .rstrip() 清楚右边格式 即将字符串右边的换行缩进都清除 如果在中间和左边就清除不了
```
>>> name = "Jerry Jenny\t\n"
>>> name.rstrip()
'Jerry Jenny'
>>> name = "\t\nJjerry Jenny"
>>> name.rstrip()
'\t\nJjerry Jenny'
```
##### .replace("str1","str2",count)把字符串里的str1改count次str2
```
>>> a = "I am 20 years old,and Amy is 20 years old too"
>>> a.replace("20","21")
'I am 21 years old,and Amy is 21 years old too'
>>> a.replace("20","21",1)
'I am 21 years old,and Amy is 20 years old too'
```
##### .split("",count) 通过指定分隔符对字符串进行切片,count默认=-1,即全分
```
>>> name = "Jerry Jenny Jack"
>>> name.split()
['Jerry', 'Jenny', 'Jack'] # 默认count=-1,即全分
>>> name.split(" ",1)
['Jerry', 'Jenny Jack']
>>> name = "Jerry,Jenny,Jack"
>>> name.split()
['Jerry,Jenny,Jack']
>>> name.split(",",1) # 只分一次,从左算起
['Jerry', 'Jenny,Jack']
>>> name = "Jerry-Jenny#Jack"
>>> name
'Jerry-Jenny#Jack'
>>> name.split()
['Jerry-Jenny#Jack']
>>> name.split("-") # 依据-开始分
['Jerry', 'Jenny#Jack']
>>> name.split("#",2)
['Jerry-Jenny', 'Jack']​
```
##### .rsplit("",count)和.split()用法基本一样,只是从右开始分,count=-1时看不出来区别
```
>>> name = "Jerry-Jenny#Jack"
>>> name
'Jerry-Jenny#Jack'
>>> name.rsplit()
['Jerry-Jenny#Jack']
>>> name.rsplit("-")
['Jerry', 'Jenny#Jack']
>>> name.rsplit("#")
['Jerry-Jenny', 'Jack']​
>>> name = "*Jack*Jerry#Jenny"
>>> name.rsplit("*",1) # 从右开始按*分一次
['*Jack', 'Jerry#Jenny']
>>> name.rsplit("*") # 从右开始按*全分,从又开始算起相当于第一个*号前面是个空格
['', 'Jack', 'Jerry#Jenny']
>>> name.split("*",1) # 从左开始按*分一次
['', 'Jack*Jerry#Jenny']
>>> name.split("*")
['', 'Jack', 'Jerry#Jenny']
```
#### 拼接:可进行字符串的加,乘,例如:
```
str1="一重山"
str2="两重山"
str1+str2
'一重山两重山'​​​ # 输出结果
str1*3'一重山一重山一重山'​​ # 输出结果
```
​#### 其他运算基本上都不能实现,比如减法,除法,乘方

欧克,先写到这里啦,如果有不对的地方,望指正呀~

wuwuwu好像不支持Markdown,看起来有点乱,可以参看我的CSDN:https://blog.csdn.net/m0_46252978/article/details/105568531

或者简书:https://www.jianshu.com/p/90280e7f8ab7

Python中关于字符串你应该知道这些...的更多相关文章

  1. Python中Unicode字符串

    Python中Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte ...

  2. Python中的字符串处理

    Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a ...

  3. python中修改字符串的几种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符.因此改变一个字符串的元素需要新建一个新的字符串.常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用join组 ...

  4. python中根据字符串导入模块module

    python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...

  5. python中的字符串

    一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...

  6. 【转】Python中的字符串与字符编码

    [转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...

  7. Python中常见字符串去除空格的方法总结

    Python中常见字符串去除空格的方法总结 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.s ...

  8. Python中的字符串方法

    Python中的字符串方法 字符串类即str提供了许多有用的方法来操纵字符串.具体来说,我们将讨论如下的方法. 搜索字符串内的子字符串. 测试字符串. 格式字符串. 转换字符串. 回顾前面的章节,方法 ...

  9. python中的字符串切片

    python中的字符串切片,似乎有点乱,例如: >>>pystr='Python' >>>pystr[2:5] 就会输出 'tho' 这该怎样理解呢?中括号[2:5 ...

  10. python 中的字符串格式化

    python 中的字符串格式化 %方式的调用 1.格式化代码 代码 意义 s 字符串,使用str r 字符串,使用repr不使用str c 字符 d 十进制的数字 i 整数 u 无符号整数 o 八进制 ...

随机推荐

  1. 使用Servlet和JSp在浏览器上实现对数据库表的增删改查(新手)

    第一步:用户输入网址进入一个登陆界面. 里面要有账号密码输入. 登陆界面链接到登陆的Servlet类中. Servlet类 --> 1.接收参数(账户密码)  2.调用DAO层的 SQL语句 验 ...

  2. 一文讲清楚MySQL事务隔离级别和实现原理,开发人员必备知识点

    经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下. MySQL 事务 本文所说的 MySQL 事务都是指在 I ...

  3. win7 win10 更换电脑盘符的图标

    效果如下 第一步 -> 1.把文件全放到盘符住目录 2.如果需要更换图标 (文件最好是ICO后缀的) 打开 Autorun 文件并编辑 第二步 -> 重启电脑就完了 下载连接  已经放到码 ...

  4. mysql字段数据类型、设置严格模式

    表操作 今日内容 1.数据类型 建表的时候,字段都有对应的数据类型 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 2.约束条件 primary key unique key ...

  5. 题解 P1748 【H数】

    我来讲讲 \(dp\) 的做法 前言 昨天 \(PHY\) 大佬问我,这题怎么做?考虑到他没学过 \(set\) . \(priority_queue\) 和 \(queue\) .之后,我就想到了可 ...

  6. 网维大师重建B盘方法

    [操作步骤]操作前先熟悉步骤,以免手忙脚乱.请在人少的时候操作. 1.打开网维大师安装目录,进入barserver\找到barserver.ini打开,找到[PlatformUpdate]字段下的up ...

  7. 证明与计算(7): 有限状态机(Finite State Machine)

    什么是有限状态机(Finite State Machine)? 什么是确定性有限状态机(deterministic finite automaton, DFA )? 什么是非确定性有限状态机(nond ...

  8. 使用sklearn做单机特征工程(Performing Feature Engineering Using sklearn)

    本文转载自使用sklearn做单机特征工程 目录 目录 特征工程是什么 数据预处理 1 无量纲化 11 标准化 12 区间缩放法 13 标准化与归一化的区别 2 对定量特征二值化 3 对定性特征哑编码 ...

  9. 深入理解JavaScript中的堆与栈 、浅拷贝与深拷贝

    JavaScript中的浅拷贝与深拷贝  学了这么长时间的JavaScript想必大家对浅拷贝和深拷贝还不太熟悉吧,今天在项目中既然用到了,早晚也要理清一下思路了,在了解之前,我们还是先从JavaSc ...

  10. java 中的字符串处理--正则表达式

    最近在做一些支付报文处理工作,需要从各种各样的报文中提取需要的信息比如(金额,订单号...),每个渠道报文各式各样,想要写一个通用的提取逻辑,于是就回顾java正则表达式的用法.当然我们可以自己写一些 ...