一、引言
当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密码正确,否则就认为不对;服务器既然想要存储这些密码可以用数据库(比如MySQL),当然为了简单起见,咱们可以先找个变量把密码存储起来即可;那么怎样存储带有字母的密码呢?答案是:字符串
二、python中字符串的格式
变量名 = “字符串内容” 或者 变量名 = ‘字符串内容’
在python中字符串使用单引号或者双引号都可以
name1 = "Se7eN_HOU"
name2 = 'Se7eN_HOU'
print(name1)
print(name2)
输出结果都为:Se7eN_HOU
三、字符串的输出
除了上面直接以变量名形式输出之外,字符串还可以使用%s格式化输出符的形式进行输出。
1 name1 = "Se7eN_HOU"
2 name2 = 'Se7eN_HOU'
3 print(name1)
4 print(name2)
5 print("%s"%name1)
其中第五行代码执行结果依然也是“Se7eN_HOU”
四、字符串的输入
之前在学习input的时候,通过它能够完成从键盘获取数据,然后保存到指定的变量中;
注意:input获取的数据,都以字符串的方式进行保存,即使输入的是数字,那么也是以字符串方式保存
userName = input("请输入用户名:")
print("用户名为:%s"%userName)
运行结果为:
请输入用户名:asd
用户名为:asd
五、字符串中的下标索引
所谓下标,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间
在字符串中可以理解为有多个字母按照一定顺序组合而成,第一个字母的下表索引为0
name = “abcdef” 为例:
如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从 0 开始)
name = "Se7eN_HOU"
print(name[0])
print(name[1])
print(name[2])
运行结果为:S,e,7
六、字符串的截取
字符串截取的语法:[起始:结束:步长]
注意:选取的区间属于左闭右开型,即从”起始”位开始,到”结束”位的前一位结束(不包含结束位本身)。
name = "abcdef"
print(name[0:2])
打印结果为:ab,表示的意思是从下标为0的字母开始截取,截取到下标为2的字母,但不包含下标为2的,所以就是下标为0和1的两个字母,后面的步数不写,默认是1。
name = "abcdef"
print(name[2:5:2])
打印结果为:ce,表示从下标为2的字符的字母开始截取,包含下标为2的字母,截取到下标为5的字母,但不包含下标为5的字母终止,每隔2个字母截取一个,步数为2,所以结果是ce
注意:这里字符串的截取时候的步长可以是负数,这样就是从后往前截取
1 name = "abcdef"
2 print(name[2:5:2])
3 print(name[5::-1])
代码第3行执行结果为“fedcba”,意思是从下表是5的字母开始截取,截取到哪里没有写,就默认一直截取,知道没有字母为止,步长那里设置为-1,表示从后往前截取,所以结果为“fedcba”
七、字符串的常见操作
以下所有字符串的操作都是使用 Str = “Hello world I am Se7eN_HOU” 实例:
1、find:检测某字符串是否包含在Str中,如果是返回开始的索引值,否则返回-1
Str = "Hello world I am Se7eN_HOU" num = Str.find("world") print(num)
输出结果为6:即表示str中包含“world”,并且在下标为6的地方。注意,如果Str字符串中有两个“world”只会显示第一个的位置,后面的不会显示。如果Str中没有“world”字符串会返回-1
2、count:返回某字符串在原始字符串的开始和结束之间出现的次数
Str = "Hello world I am Se7eN_HOU" num = Str.count("e") print(num)
打印结果为3,即字母“e”在Str中出现了3次
3、replace:
- replace(原始字符串,替换的字符串,替换次数)
- 替换完了之后会返回一个新的字符串
- 如果不指定替换次数,默认全部替换。
Str = "Hello world I am Se7eN_HOU" STR1 = Str.replace("e","E") STR2 = Str.replace("e","E",2) print(Str) print(STR1) print(STR2)
Hello world I am Se7eN_HOU
HEllo world I am SE7EN_HOU
HEllo world I am SE7eN_HOU
4、常用函数介绍
函数 | 功能 |
len() | 返回当前字符串的长度 |
lower() | 返回字符串中所有的大写字母转为小写字母的字符串 |
upper() | 返回字符串中所有的小写字母转为大写字母的字符串 |
swapcase() | 返回一个字符串大小写反转的字符串 |
capitalize() | 返回一个首字母大写的字符串 |
title() | 返回一个每个单词首字母大写的字符串 |
center(width[,fillchar]) | 返回一个指定宽度的居中字符串,fillchar为填充字符 |
ljust(width[,fillchar]) | 返回一个指定宽度的左对齐字符串,fillchar为填充字符。默认使用空格填充 |
rjust(width[,fillchar]) | 返回一个指定宽度的左对齐字符串,fillchar为填充字符。默认使用空格填充 |
strip() | 截掉字符串左右两侧指定的字符串,则默认删除空白符(包括’ ’,’ ’,’ ’,’ ‘) |
split(str = ”,num=string.count(str)) | 以str为分割符切片string,如果num有指定值,则仅分割num个子字符串str–分割符,默认为所有的空字符,包括空格、换行( )、制表符( )等。num–分割次数 |
join(seq) | 以指定字符串作为分隔符,将seq中的所有元素合并成为一个新的字符串 |
startswith(str1,strat = 0, end = len(str)) | 在给定的范围内判断字符串是否以给定的字符串开头,如果没有指定范围,默认整个字符串 |
endswith(str1,strat = 0, end = len(str)) | 在给定的范围内判断字符串是否以给定的字符串结尾,如果没有指定范围,默认整个字符串 |
zfill(width) | 返回一个长度为width字符串,原字符串右对齐,前面补0 |