在Python基础01之入门中,我们学习了Python中的输入(input()),输出(print())的使用,变量赋值,简单运算符的相关知识,今天一起来学习字符串的知识。



python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_python rfind函数用法

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_c++如何让字符串重复输出_02

一、字符串基础


python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串的切片操作与连接_03

字符串是 Python 中最常用的数据类型,它是一种不可变序列。可以使用引号来创建字符串,引号可以是'单引号'"双引号" '''三单引号''', """三双引号""",单引号和双引号在使用上没什么区别,三引号可以跨行输出,引号的使用必须成对,否则会出错。

str1 = '我是单引号字符串'str2 = "我是双引号字符串"str3 = '''我是三单引号字符串'''str4 = """我是三双引号字符串"""str5 = """                            _ooOoo_                           o8888888o                           88" . "88                           (| -_- |)                           O\  =  /O                        ____/`---'\____                      .'  \\|     |//  `.                     /  \\|||  :  |||//  \                     /  _||||| -:- |||||_  \                     |    | \\\  -  /// |   |                     | \_|  ''\---/''  |   |                    \  .-\__  `-`  ___/-. /                  ___`. .'  /--.--\  `. . __               ."" '<  `.___\__/___.'  >'"".              | | :  `- \`.;`\ _ /`;.`/ - ` : | |              \  \ `-.   \_ __\ /__ _/   .-` /  /         ======`-.____`-.___\_____/___.-`____.-'======                            `=---='         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                     佛祖保佑       永无BUG"""print(str1)print(str2)print(str3)print(str4)print(str5)

输出效果为:

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串的切片操作与连接_04


(素材来自网络)

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_c++如何让字符串重复输出_02

二、转义字符和原始字符串


python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串的切片操作与连接_03

Python使用反斜杠"\"转义字符,要输出'doesn't','"Isn't," they said.',这样的句子,可以使用反斜杠对"'"进行转义。

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串_07

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串_08

常见转义字符如下:

符号

含义

符号

含义

\'

单引号

\r

回车符

\"

双引号

\f

换页符

\a

系统响铃

\o

八进制字符

\b

退格符

\x

十六进制字符

\n

换行符

\0

空字符

\t

横向制表符

\\

反斜杠

\v

纵向制表符

所以在输出路径'C:\some\name'时,\n会被识别为换行,可以使用\\进行转义,但是路径(字符串)比较长的时候,如果你(懒)不希望多次输入\\时,可以使用原始字符串的方式,在引号前使用r即可。

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_python根须系统斜杠_09



python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_c++如何让字符串重复输出_02

三、字符串的连接和重复


python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串的切片操作与连接_03

可以使用加号(+)进行字符串的连接,通过乘号(*)重复输出字符串

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_python根须系统斜杠_12

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_python rfind函数用法_13



python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_c++如何让字符串重复输出_02

四、字符串的索引


python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串的切片操作与连接_03

索引(S[i])可以获取特定偏移量(i)处的元素

  • 第一个字符索引是 0
  • 索引可以用负数,为负时会从右边开始数
  • 单个字符是一个长度为一的字符串
  • 索引值超过字符串长度,会报错
word = 'Python'word[0] # 输出Pword[-2] # 输出oword[10] # 报错



python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_c++如何让字符串重复输出_02

五、字符串的切片


python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串的切片操作与连接_03

除了索引,字符串还支持切片(S[i:j:k])。索引可以得到单个字符,而切片可以获取子字符串

  • 省略开始索引(i)时默认为0,省略结束索引(j)时默认为到字符串的结束,k为步长,默认为1
  • 切片的开始总是被包括在结果中,而结束不被包括
  • 索引值超过字符串长度,会被自动处理
word = 'Python'word[:]Out[3]: 'Python'word[1:]Out[4]: 'ython'word[:3]Out[5]: 'Pyt'word[:-1]Out[6]: 'Pytho'word[1:3]Out[7]: 'yt'word[1:100]Out[8]: 'ython'word[1::2]Out[9]: 'yhn'word[::2]Out[10]: 'Pto'word[::-1]Out[11]: 'nohtyP'word[5:2:-1]Out[12]: 'noh'

通过下表可以更加容易理解索引和切片

P

y

t

h

o

n

正向

0

1

2

3

4

5

反向

-6

-5

-4

-3

-2

-1

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_c++如何让字符串重复输出_02

六、字符串的方法


python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_字符串的切片操作与连接_03

内建函数 len() 返回一个字符串的长度

python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_c++如何让字符串重复输出_20

常用的字符串方法为:

方法

描述

str.capitalize()

返回原字符串的副本,其首个字符大写,其余为小写。

str.center(width[, fillchar])

返回长度为 width 的字符串,原字符串在其正中。使用指定的 fillchar 填充两边的空位

str.count(sub[, start[, end]])

子字符串 sub 在 [start, end] 范围内非重叠出现的次数

str.find(sub[, start[, end]])

子字符串 sub 在 s[start:end] 切片内被找到的最小索引

str.index(sub[, start[, end]])

类似于 find(),但在找不到子类时会引发 ValueError

str.replace(oldnew[, count])

返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new

str.rfind(sub[, start[, end]])

返回子字符串 sub 在字符串内被找到的最大(最右)索引

str.rindex(sub[, start[, end]])

类似于 rfind(),但在子字符串 sub 未找到时会引发 ValueError

str.rstrip([chars])

返回原字符串的副本,移除其中的末尾字符

str.split(sep=Nonemaxsplit=-1)

返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串

str.strip([chars])

返回原字符串的副本,移除其中的前导和末尾字符

str.title()

返回原字符串的标题版本,其中每个单词第一个字母为大写,其余字母为小写

str.upper()

返回原字符串的副本,其中所有区分大小写的字符 4 均转换为大写

str.join(iterable)

返回一个由 iterable 中的字符串拼接而成的字符串。

(上表为常见常用的字符串方法,具体使用可以查询官方文档)



python有一堆字符串打印出不重复的字符串结果 python重复输出一串字符串_python rfind函数用法