欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python:字符串操作

程序员文章站 2022-04-30 22:09:14
...
字符串运算符:

1、"  \n  "    : 换行符


2、"  \   "     :转义符


3、"  +  "     : 字符串拼接。         如:print("凡姐姐" + " " + "我喜欢你")


4、"  *  "      :重复输出字符串。如:print("凡姐姐,我喜欢你\n" * 3)


5、"  []  "      :通过索引获取字符串中字符


6、"  [ : ] "    :截取字符串中的一部分.(冒号左边无参数时,代表从0位置处开始)

python:字符串操作

字符串格式化:使用操作符百分号"%"实现(%也可用于求余数)

1、"  %s  "   : 格式化字符串


2、"  %d  "   : 格式化整数


3、"  %f  "    : 格式化浮点数

python:字符串操作

备注:

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处找到了子字符串

python:字符串操作

2、join(squence):将序列中的元素以指定字符连接成一个新的字符串。返回值为新的字符串

备注:使用join()函数时,被调用的两个对象都必须为字符串

python:字符串操作

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(): 用于将字符串中所有的大写字符转换为小写,小写字符转换为大写(该函数无参数)

python:字符串操作

7、replace(old,new,max): 将字符串中的old(旧字符串)换成new(新的字符串)。max表示最大替换次数


8、capitalize():把字符串的第一个字符大写(该函数无参数)


9、count(str, beg=0, end=len(string)):返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围

内 str 出现的次数

python:字符串操作

10、endswith(obj, beg=0, end=len(string)):检查字符串是否以obj结束,如果beg或者end指定则检查指定的范围内

是否以obj结束,如果是,返回True,否则返回False.

python:字符串操作

11、format():格式化字符串。与使用%格式化差不多

如:print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))

python:字符串操作


备注:

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 }