【Python】不可变序列str常用操作
2018-08-23 本文已影响40人
Natsuka
申明转义字符
- 转义字符用法
\
。/
一样的用法,但是无转义功能。 - 换行/提行
\n
- raw字符串:
r' '
r'c:\user\desktop'
就不用加转义字符了。
常用内置方法(不改变字符串变量本身)
- 修改字符串
str.replace(old, new, count)
默认count
为1
x = "I am an apply!"
m = x.replace("apply","orange")
print(x) # 结果为:I am an apply!
print(m) # 结果为:I am an orange!
y = "hahahahaha"
n = y.replace("ha","he",3)
print(y) # 结果为:hahahahaha
print(n) # 结果为:hehehehaha
- 拆分字符串
str.split()
x = "poi01,116.446234,40.491201"
m = x.split(",")
print(x) # 结果为:'poi01,116.446234,40.491201'
print(m) # 结果为:['poi01', '116.446234', '40.491201']
- 链接字符串
str.join()
y = ['poi01', '116.446234', '40.491201']
m = "-"
n = m.join(y)
print(n) # 结果为:'poi01-116.446234-40.491201'
- 去除空格和换行符等
str.strip()
方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
-
开头和结尾
str.startswith("str")
判断是否以"str"
开头,返回值False/Ture
str.endswith("str")
判断是否以"str"
结尾,返回值False/Ture -
文本的大小写
str.lower("str")
全部变成小写
str.upper("str")
全部变成大写
str.swapcase("str")
大小写互换
str.capitalize("str")
首字母大写
数据格式转化
- 四舍五入
round()
- 取整
int()
- 浮点型
float()
- 字符串
str()
格式化字符
-
%s
插入变量为字符串 -
%name
插入变量name
name = 'Apple'
print("%s is fruit." %name) # 结果为:Apple is fruit.
-
%i
整型 -
%f
浮点型 -
%.2f
显示两位小数 - 显示整数
%i
浮点数只取整数部分
%.0f
浮点数四舍五入取整 - 显示正负号
%+i
% i
空格
%+.3f
% .3f
空格 - 科学计数法
%e
%E
-
%g
自动显示:小数位数少的时候自动识别用浮点数,数据复杂时自动识别用科学计数法
.format方法格式化
-
{}
代表占位符,其中可以是数字,也可以什么都没有
"User ID: {0}".format("root") # 结果为:'User ID: root'
"{} talk to {}".format("a","b") # 结果为:'a talk to b'
"{}{}{}".format("a","b","c") # 结果为:'abc'
"{0}{1}{2}{0}".format("a","b","c") # 结果为:'abca'
"{}{}{}{}".format("a","b","c") # 结果为:报错
-
{}
也可使用变量来指示
"my job is a {career}".format(career="designer")
# 结果为:"my job is a desinger"
- format不生成新的值
x = "abc{}"
m = x.format("def")
print(x) # 结果为:abc{}
print(m) # 结果为:abcdef
- .format格式化数字
"{:f}".format(4.123) #结果为:'4.123000'
"{:.2f}".format(4.123) #结果为:'4.12'
"{:e}".format(4.123) #结果为:'4.123000e+00'
"{:.0f}".format(99.6) #结果为:'100'
"{:%}".format(4.123) #结果为:'412.300000%'
"{:d}".format(10) #内部必须内整数