定义
可以使用双引号或者单引号定义。
大多数编程语言字符串的定义都是使用双引号,那么一般也使用双引号,但是如果字符串中还有引用的话就使用双引号和单引号,比如:
str1="hello world"
str2="i wanna to say'hello world'"
print (str2)
print (str1[6])
for c in str1:
if c!=" ":
print c
字符串也可以使用索引获取一个字符串中指定位置的字符。
字符串的常用操作和方法
len(字符串):统计字符串长度
字符串.count(小字符串):统计某个小字符串出现的次数
字符串.index(子字符串):统计某个子字符串在字符串中出现的位置
判断类型:isspace():判断字符串中是否包含空格,包含True;也可以检测\t,\n,\r这种空白字符。
isalpha():判断字符串中是否都是字母,包含True
isalnum():字符串至少有一个字符并且所有字符都是字母或数字则返回True
isdecimal():判断字符串是否只只包含数字,是则返回True,全角数字,python3.x的解释器有
isdight():只包含数字返回True,全角数字、(1)、\u00b2
isnumeric():只包含数字返回True,全角数字、汉字数字,python3.x的解释器有
“(1)“被称为unicode字符串,也可以写成”\u00b2”,isdight()、isnumeric()都返回True
isitle():是标题化(每个单词的首字母大写)
大小写转换:capitalize():把字符串的第一个字符大写
title():把字符串的每个单词首字母大写
lower():把所有大写转为小写
upper():把所有小写转为大写
swapcase():翻转字符串中的大小写
查找和替换:startswith(子字符串):以子字符串开头返回Ture
endswith(子字符串):以子字符串结尾返回True
find(子字符串):是否包含子字符串,存在返回开始的索引值,不存在返回-1
index方法如果指定的字符串不存在就会报错。
replace(old,new):把原有的旧的子字符串换成新的子字符串;可以接收四个参数。返回值是新字符串,不会修改原有字符串的内容,相当于新建了一个变量存储新字符串。
字符串文本对齐:ljust(width):返回一个原字符串左对齐并使用空格填充至长度为width的字符串。
rjust(width):返回一个原字符串右对齐并使用空格填充至长度为width的字符串。
center(width):返回一个原字符串居中并使用空格填充至长度为width的字符串。填充的空格一般都是英文的空格,中文空格填充的话可以传入中文空格。如:str.center(10," ")
拆分和连接:split(str="",num):以str为分隔符拆分字符串,如果num指定值了,就仅分隔num+1个子字符串,str默认包含\r,\t,\n和空格。
join(seq):以字符串为分隔符,将seq的所有元素合并为一个新字符串。
str_list=str1.split("o")
print (str_list)
res_str="o".join(str_list)
print (res_str)
字符串切片:切片的结果不包含结束索引的字符。如果想切片到最后一个字符,不指定结束索引即可。
字符串[开始索引:结束索引:步长]
倒序索引:-1,-2…
字符串的逆序:字符串[-1::-1]:从最后一个字符开始步长设置为-1就可以完成。开始索引也可以省略。
公共方法:
Python内置函数
通过函数名就可以直接使用,不需要import
比如:lenI() del() max() min() cmp(a,b):-1a小于b;0相等;1a大于b
在Python中del有两种使用:1.关键字 2.函数 这两种方式效果一样
list1=["aaa","bbb","ccc"]
del list1[1]
del(list1[1])
字符串的比较符合ASCII码的值:“0”<“A”<“a”
切片
针对列表和元组也可以切片操作,因为切片是根据索引值来限定范围的;字典是一个无序的集合,用键值对来存储,所以不支持切片。
运算符
列表、元组、字符串支持运算符*进行重复;但是字典不可以,因为字典中key是唯一的
列表、元组、字符串可以使用+进行拼接;对于列表而言,列表1.extend(列表2)相当于把列表二拼接在列表1后面,并存储在列表1中,append方法追加元素,如果方法中传入的是一个列表,那么会把这个传入的列表当做一个元素存在老列表里,并更新老列表,+操作完成之后会生成一个新的列表。
成员运算符
in和not in:是否包含在一个序列中;字典针对key,不能判断value。
完整的for循环语法
for 变量 in 集合:
循环体代码
else:
没有通过break退出循环,循环结束之后,会执行的代码。
如果有break就跳出循环体执行else下面的代码;
利用for else搜索字典列表
一旦把列表中所有的元素遍历完,不是通过break跳出的循环,else循环下方的代码才会被执行;如果希望在搜索列表时,所有的字典检查之后,都没有发现需要搜索的目标,还希望得到一个统一的提示就可以在else下面进行输出。
通常识在迭代遍历潜逃的数据类型时,比如一个列表中包含了多个字典,需要判断某一个字典中是否存在指定的值的时候。