字符串:
1 单引号 双引号 三引号,(三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符)
转义字符: \“\转译” 想输出双隐或单隐 可在双隐中写入单隐 或相反
\v纵向制表符 \t横向制表符(空格缩进) \n换行符
——在java语言中,'a' "abc" 单引号是一个字符,双引号是字符串
2 可以使用中括号和下标来获取单个字符,或截取字符串:
mystr[1]获取单个字符 --获取字符串[索引]
3 切片字符串:顾头不顾尾,不包括结束位置
[起始位置:结束位置:步长]
str=“1234567890”
[1:4]获取2到3
[:7] 获取0到6
[:]获取所有
[3:]获取4到后面所有
[-2:]倒数第二个开始到最后
[3:2]取不到值
[1:4:3]截取索引 终止 步长,从第2个开始到第5个截取每第3个值
--25
[:-5:-3]逆序截取,倒序输出从最后一个到倒数第五个之间截取每倒数第三个值
--07
[:-4:-2]
--08
[:-6:-2]
--086
[-1:0]取不到值,默认步长是正数
[-1::-1]步长负数可以倒着取值,倒数第一个开始倒序输出全部
[::-1]倒序全部输出
[:-1]正输出到最后一个之前
4 字符串一些用法:
in:判断是否在些字符串中存在
not in:判断是否不在此字符串中
r‘’或R“” 加在字符串前面 原样输出 单隐和双隐要成对算 ,如一些特殊字符串"\n",'\t'
5 字符串格式化占位
%s 格式化字符串占位
%d格式化整数
%f浮点数
用法: print("我叫%s今年%d岁"%("小明",13))
.format()格式化 ( 用format小括号里的内容去替换前面大括号中的内容,如替换多个可赋值多个名字)
用法:print('{}'.format("hello"))
print('姓名:{name},年龄:{age}'.format(name="张三",age=20))
print('姓名:{0},年龄:{1}'.format("张三",20))
想输出{} 则输出两个{{}} print('aaa{{0}}'.format())
print({}).format(xx,xx) print({a},{b}).format(xx=a,xx=b)
6 字符串函数 :
( 字符串是不可变对象 只能从新赋值)
可以用S=list(S)这个函数把S变为由单个字符为成员的list,这样的话就可以使用S[3]='a'的方式改变值,然后再使用S=" ".join(S)还原成字符串
len(mystr)字符串的长度
count():mystr.count("l")返回有几个字符
capitalize():mystr.capitalize()将字符串的第一个字符转换为大写
title():将每一个单词首字母大写
find():mystr.find("l")找字符串,返回找到的字符串的下标 ——只能用于字符串
rfind()从右面开始找
index():和find()一样,找存在的下标,——可用于列表,元组
rindex():从右面开始找
replace():mystr.replace("ll","LL"),把字符串中的 old(旧字符串) 替换成 new(新字符串),
如果指定第三个参数max,则替换不超过 max 次。(但是原字符串不会被改变)
find()和 index()区别 :
如果找不到,index()产生异常,find()则返回-1
7 按照某个字符串进行拆分,返回一个列表
split() 通过指定分隔符对字符串进行切片,如果参数xxx有指定值,按照参数次数拆分,则仅分隔xxx个子字符串
mystr.split(" "):
如果split()什么都不写,就是将通过\t和空格进行拆分(默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等)
就是碰到(要拆分的)字符后去掉(要拆分的)字符然后把()的前面和后面拆成两个列表元素,不包括()本身
partition() 用来根据指定的分隔符将字符串进行分割。
mystr.partition("xxx")
以("xxx")此字符串为节点拆分.拆分成包括自己的前后三段字符串,只拆分第一个字符如果后面还有不拆分
splitlines():按照换行符进行拆分,如果字符串中有"\n"
startswith(): 用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False
如果参数 beg 和 end 指定值,则在指定范围内检查。
方法语句:str.startswith(str, beg=0,end=len(string));
如:
print (str.startswith( 'this', 2, 4 ))如果检测到字符串则返回True,否则返回False。
str -- 检测的字符串。
beg -- 可选参数用于设置字符串检测的起始位置。
end -- 可选参数用于设置字符串检测的结束位置。
endswith():方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。
可选参数"start"与"end"为检索字符串的开始与结束位置
方法语句:str.endswith(suffix[, start[, end]])
如:
print (Str.endswith(suffix, 0, 19))字符串含有指定的后缀返回True,否则返回False。
suffix -- 该参数可以是一个字符串或者是一个元素。
start -- 字符串中的开始位置。
end -- 字符中结束位置。
lower():转小写
upper():转大写
ljust(),居左输出
rjust(),居右输出
center()居中输出:字符串输出时怎样对齐,括号里写大小
strip(),去除两端空格
lstrip()去除左边,
rstrip()去除右边,除空格
isalpha():判断字符串是否是字母
isdigit():判断字符串是否是数字
isalnum():判断字符串是否是数字和字母
islower() 所有字符都是小写
isupper() 所有字符都是大写
istitle() 所有单词都是首字母大写,像标题
isspace() 所有字符都是空白字符、\t、\n、\r
join(): 用于将序列中的元素以指定的字符连接生成一个新的字符串。
mystr.join("必须是字符串 ")
如:s1 = "-"
seq = ("r", "u", "n", "o", "o", "b")
print (s1.join( seq ))
随机生成:需要导入
random.randint()随机生成数字,只能写数字,默认随机一个数字,可以用random.randint()for i in range()控制随机生成的次数
random.choice()随机生成字符串 ,可以写变量,列表,字符串