python基础3字符串

时间:2023-01-06 19:49:04

什么时字符串?

字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。

单引、双引号都可以定义字符串
三引号允许一个字符串跨多行
创建字符串变量时只需要给变量赋一个字符串类型的值就可以:

str1="abcd"
str2='defg'
str3="""这是一个 可以换行的字符串 可以用三个单引号或者三个双引号表示"""

无论是单个字符还是多个字符或者多行字符在python里都代表字符串。
字符串变量是python变量的一种,所以它同样有python变量的基本特性,记录信息,和读取信息。
可以使用字符串变量名来获得字符串变量的值,也可以用方括号来截取字符串的一部分:

var1 = 'abcdefg'
var2 = "gfedcba"

print ("读取字符串var1的第一个字符", var1[0])#显示结果为 a
print ("读取字符串var2的第二个到第五个字符 ", var2[1:5])#显示结果为 fedc

两个字符串可以用逗号或者加号连接成为一个字符串

print ("字符串", var1[:6] + 'ABC')

字符串常用的截取方式

mystr[1:5]#截取1到4下标的字符串
mystr[:6]#截取从0到5下标的字符串
mystr[:]#打印完整的字符
mystr[3: ]#打印从3开始到最后一个字符
mystr[-2: ]#截取从后数第二个开始,到最后一个字符结束
mystr[-1:]#截取最后一个字符
mystr[3,2]#如果前面大于后面,则什么都不输出
mystr="abcdef"
print(mystr[1:4:2])#三个数时第三个为间隔
mystr[-1:0:-1]#反序取出最后一个到第二个字符
mystr[-1::-1]#反序去除全部字符
mystr[::-1]#反序去除全部字符

字符串格式化

%s格式化字符串
%d 格式化整数
%f 浮点数

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

.format()格式化:

print('{}'.format("hello"))
print('姓名:{name},年龄:{age}'.format(name="张三",age=20))
print('姓名:{0},年龄:{1}'.format("张三",20))

想输出{}则输出两个{{}}print(‘aaa{{0}}’.format())

str(100)#将数值100转成字符串类型

转义字符

在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:

转义字符    描述
\(在行尾时) 续行符
\\  反斜杠符号
\'  单引号
\"  双引号
\a  响铃
\b  退格(Backspace)
\e  转义
\000    空
\n  换行
\v  纵向制表符
\t  横向制表符
\r  回车
\f  换页
\oyy    八进制数,yy代表的字符,例如:\o12代表换行
\xyy    十六进制数,yy代表的字符,例如:\x0a代表换行
\other  其它的字符以普通格式输出

字符串的一些函数:

mystr=”hello”
len(mystr)字符串的长度
count():mystr.count(“l”)返回有几个字符
capitalize():mystr.capitalize()将字符串的第一个字符转换为大写
title():将每一个单词首字母大写
find():mystr.find(“l”)找字符串,返回找到的字符串的下标
rfind()从右面开始找
index():和find()一样,找存在的下标,
rindex():从右面开始找
find() vs index():如果找不到,index()产生异常,find()则返回-1
replace():mystr.replace(“ll”,”LL”),但是原字符串不会被改变
split():mystr.split(” “):如果split()什么都不写,就是将通过\t和空格进行拆分
startswith():以XX开头
endswith():以XX结尾
lower():
upper():
ljust(),rjust(),center():字符串输出时怎样对齐,括号里写大小
strip(),lstrip(),rstrip()去除空格
partition():mystr.partition(“xxx”)以此字符串为节点拆分拆成前面自身和后面三部分只以左边起第一个节点为准
splitlines():按照换行符进行拆分,如果字符串中有”\n”
isalpha():判断字符串是否是字母
isdigit():判断字符串是否是数字
isalnum():判断字符串是否是数字和字母
join(): 将列表组成字符串,mystr.join(” “)

字符串运算符

下表实例变量a值为字符串 “Hello”,b变量值为 “Python”:

操作符 描述  实例
+   字符串连接   a + b 输出结果: HelloPython
*   重复输出字符串 a*2 输出结果:HelloHello
[]  通过索引获取字符串中字符    a[1] 输出结果 e
[ : ]   截取字符串中的一部分  a[1:4] 输出结果 ell
in  成员运算符 - 如果字符串中包含给定的字符返回 True    'H' in a 输出结果 1
not in  成员运算符 - 如果字符串中不包含给定的字符返回 True   'M' not in a 输出结果 1
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

python字符串格式化符号 %f 可指定小数点后的精度。

num=18.7254
print("the price is %.2f" %num)
the price  is  18.73

[::2] 表示的是从头到尾,步长为2。第一个冒号两侧的数字是指截取字符串的范围,第二个冒号后面是指截取的步长。

 L=['a','b','c','d','e','f','g']
print(L[::2]) 
['a', 'c', 'e', 'g']