python:字符串操作
1、" \n " : 换行符
2、" \ " :转义符
3、" + " : 字符串拼接。 如:print("凡姐姐" + " " + "我喜欢你")
4、" * " :重复输出字符串。如:print("凡姐姐,我喜欢你\n" * 3)
5、" [] " :通过索引获取字符串中字符
6、" [ : ] " :截取字符串中的一部分.(冒号左边无参数时,代表从0位置处开始)
字符串格式化:使用操作符百分号"%"实现(%也可用于求余数)
1、" %s " : 格式化字符串
2、" %d " : 格式化整数
3、" %f " : 格式化浮点数
备注:
1、如1中的"s"表示:百分号右边的值会被格式化为字符串,s指的是字符串
2、整数既可以用%d格式化也可以使用%s来格式化,只是类型不一样(一个为字符串一个为数字")
3、" %f "是可以指定精度的(不指定时则默认输出6位小数):在%后面加上希望保留的小数位数。如:%.2f
4、输出百分号:使用百分号来转义百分号%f%%
5、在写格式化表达式时,前面的表达式必须为字符串
6、在有多个占位符的字符串中,可以使用元组传入多个格式化值,只有元组和字典可以格式化一个以上的值
字符串方法:
1、find(str, beg=0, end=len(string)):检测字符串中是否包含指定的子字符串,有则返回其所在索引值,无则返回-1
备注:find()函数的返回值不是布尔类型,如果返回0,表示在索引0处找到了子字符串
2、join(squence):将序列中的元素以指定字符连接成一个新的字符串。返回值为新的字符串
备注:使用join()函数时,被调用的两个对象都必须为字符串
3、split(str="", num):以str为分隔符,num:分割次数,返回值为分割后的字符串列表
备注:若不指定分隔符,则默认空格作为分割符。若不指定分割次数,则所有匹配的字符都会被分割
str = "hello,world"
number_1 = str.split(",",1)[0]
print(number_1)
number_2 = str.split(",",1)[1]
print(number_2)
number_3 = str.split(",",1)
print(number_3)
#hello
#world
#['hello', 'world']
4、lower(): 用于将字符串中所有的大写字符转换为小写(该函数无参数)
5、upper(): 用于将字符串中所有的小写字符转换为大写(该函数无参数)
6、swapcase(): 用于将字符串中所有的大写字符转换为小写,小写字符转换为大写(该函数无参数)
7、replace(old,new,max): 将字符串中的old(旧字符串)换成new(新的字符串)。max表示最大替换次数
8、capitalize():把字符串的第一个字符大写(该函数无参数)
9、count(str, beg=0, end=len(string)):返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围
内 str 出现的次数
10、endswith(obj, beg=0, end=len(string)):检查字符串是否以obj结束,如果beg或者end指定则检查指定的范围内
是否以obj结束,如果是,返回True,否则返回False.
11、format():格式化字符串。与使用%格式化差不多
如:print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
备注:
python中函数:len()
1:作用:返回字符串、列表、字典、元组等长度
2:语法:len(str)
3:参数:
str:要计算的字符串、列表、字典、元组等
4:返回值:字符串、列表、字典、元组等元素的长度
len():函数计算是从1开始的,而索引是从0开始的(目前个人接触到的除len()函数为其余的都是从0开始的)
拓展:
format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。
1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型
2.单个参数可以多次输出,参数顺序可以不相同
3.填充方式十分灵活,对齐方式十分强大
通过位置来填充字符串:
print("hello {0} i am {1}".format('Kevin','Tom') )
print("hello {} i am {}".format('Kevin','Tom') )
print("hello {0} i am {1} . my name is {0}".format('Kevin','Tom'))
#上面代码的输出结果:
#hello Kevin i am Tom
#hello Kevin i am Tom
#hello Kevin i am Tom . my name is Kevin
通过关键字来填充:
print("hello {name2} i am {name1}".format(name1 = 'Kevin',name2 = 'Tom'))
#上面代码的输出结果:
#hello Tom i am Kevin
通过列表索引来填充:name = ["zhou","hao"]
print("hello {name[1]} i am {name[0]}".format(name = name) )
print("hello {0[0]} i am {0[1]}".format(name))
#上面代码的输出结果为:
#hello hao i am zhou
#hello zhou i am hao
通过字典的key:b_dict = {'name':'chuhao','age':20,'province':'shanxi'}
print("my name is {name}, age is {age},from {province}".format(**b_dict))
print("my name is {b_dict[name]}, age is {b_dict[age]},from {b_dict[province]}".format(b_dict = b_dict))
#上面代码的输出结果:
#my name is chuhao, age is 20,from shanxi
#my name is chuhao, age is 20,from shanxi
通过对象的属性:class my_name():
name_1 = "zhou"
name_2 = "hao"
print("hello {my_name.name_1} i am {my_name.name_2}".format(my_name = my_name) )
#上面代码的输出结果为:
#hello zhou i am hao
转义:与%中%%转义%一样,formate中用两个大括号来转义
print("{{ hello {0} }}".format('Kevin'))
#上面代码的输出结果为:{ hello Kevin }
上一篇: Java 字符串操作