1.字符串定义
字符串(str):是不可变数据类型。只读不能够对字符串本身去修改。
字符串是成双成对的。双引号开头,必须以双引号结尾。单引号开头,必须以单引号结尾。
None,不代表任何一个数据类型,不分配内存地址
2.python转义字符
\ 作为长规的数据内容,不作为python特别的处理。通过在引号前加上反斜杠来输出引号
转义字符 | 描述 |
---|---|
\ | 在字符串行尾的续行符,即一行未完,转到下一行继续写 |
\r | 回车符,将光标位置移到本行开头 |
\n | 换行符,将光标位置移到下一行开头。 |
\t | 水平制表符,也即 Tab 键,一般相当于四个空格 |
\a | 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效 |
\b | 退格(Backspace),将光标位置移到前一列 |
\ | 反斜线 |
’ | 单引号 |
" | 双引号 |
3.字符串索引
从0开始。正向,+1 逆向 -1
取值方法为:变量名[索引]
string = "python"
print(string[0])
print(string[1])
print(string[-1])
=====================
输出结果:
p
y
n
4.字符串切片
字符串切片:正序切,步长可选 ;反序切 ,步长必选
格式:[起始点:结束点:步长],也可以简化使用[起始:结束]
如果步长为正数,表示正向切片,从0开始;如果步长为负数,表示负向切片,从末尾开始
person_info = "我的名字叫zzz,今年18岁,我喜欢旅游"
print(person_info[0:6]) # 取第0,1,2,3,4,5个字符 步长:1
print(person_info[:7]) # 取第0,1,2,3,4,5,6个字符
print(person_info[:7:2]) # 取第0,2,4,6个字符 步长为2
print(person_info[7:1:-2]) # 取第7,5,3个字符 步长为2
print(person_info[-1:-10:-1]) # 取第-1,-2,-3,-4,-5,-6,-7,-8,-9个字符
5.字符串分割
split() 分割
python源码中:
sep:分隔符。不会出现在分割后的数据中
maxsplit:1 分割次数:1
def split(self, *args, **kwargs): # real signature unknown
"""
Return a list of the words in the string, using sep as the delimiter string.
sep
The delimiter according which to split the string.
None (the default value) means split according to any whitespace,
and discard empty strings from the result.
maxsplit
Maximum number of splits to do.
-1 (the default value) means no limit.
"""
pass
str_pian = person_info.split(",") #将该字符串以","为分隔符分割成n个字符串,分割后的结果为列表
person_info = "我的名字叫zzz,今年18岁,我喜欢旅游"
str_pian = person_info.split(",")
print(str_pian)
==========================================
结果:
['我的名字叫zzz', '今年18岁', '我喜欢旅游']
6.字符串拼接
1.字符串拼接:把支离破碎的几个字符串,拼接成一个完整的字符串
拼接符:一定是字符串
使用 “拼接符”.join(列表)这样的格式去拼接列表离的字符串,得到的结果是字符串
str_pian = ['我的名字叫zzz', '今年18岁', '我喜欢旅游']
ss = "123".join(str_pian) #按照一定的规律去拼接列表里的字符串
=====================================
结果:
我的名字叫zzz123今年18岁123我喜欢旅游
2.拼接 + (只能是字符串)
str1 = "hello,world!!!"
str2 = "hello,python!"
print(str1 + str2)
==============================
结果:
hello,world!!!hello,python!
7.格式化函数
格式:字符串.format()
动态的去改变字符串的值:占位符{}。有几个占位符就需要几个替换参数
例:age = input(“年龄:”)
name = input(“名字:”)
#1 没写序号,顺序赋值
print(“我的年龄是:{}岁,我的名字叫:{}”.fomart(age,name))
#2 有一些数据需要重复使用。在占位符{}中加索引
{0} {1} {2}根据序号对应的位置去赋值
print(“我的年龄是:{0}岁,我的名字是:{1},我朋友的年龄是{0},我喜欢做的事情{2}”.format(age,name,“睡觉”))
#3 只保留2位小数点{:.2f} 百分比: {:.2%}会对数据乘以100
print(“我昨天的作业得了{:.2f}分 完成度为{:.2%}”.format(89.8888,0.98)) #输出结果为89.9 98.00%
#4 取小数点后两位有效数字
print(“我的成绩是:%.2f” % 89.8888) #输出结果为89.89
更多格式化方法可参考:https://www.runoob.com/python/att-string-format.html