抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

阿湫o

一只前端崽

Python 基础——格式化输出及一些字符串方法

使用 % 格式化输出

Python 中用 % 代表格式符,或者叫占位符
表示格式化操作,将其转化成相应的数据类型

age = 10
print('我今年%d岁'%age)
# 我今年10岁

在程序中,看到了 % 这样的操作符,这就是 Python 格式化输出

age = 19
name = 'xiaoming'
print('我的名字是%s,年龄是%d岁'%(name,age))
# 我的名字是xiaoming,年龄是19岁

下面是常用的格式符号

格式符号 转换
%c 字符
%s 通过 str()字符串转换来格式化
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%e 索引符号(小写‘e’)
%E 索引符号(大写‘E’)
%f 浮点实数
%g %f 和%e 的简写
%G %f 和%E 的简写
name = 'xiaoming'
qq = 2915241235
num = 13683823372
dizhi = 'xx市xx区'
print('==============================')
print("姓名:%s\nQQ:%i\n手机号:%d\n公司地址:%s"%(name,qq,num,dizhi))
# ==============================
# 姓名:xiaoming
# QQ:2915241235
# 手机号:13683823372
# 公司地址:xx市xx区

使用 format()函数 格式化字符串

格式化字符串的函数 **str.format()**,它增强了字符串格式化的功能
基本语法是在字符串中定义 {} ,字符串后面加上 .format() ,函数中按花括号的顺序填写要补入的字符或字符串变量(也可以设置指定的参数及顺序)
下面演示了 format 函数 的使用方法:

不设置指定位置,按默认顺序

str1 = "{} {}".format("hello","world")
print(str1)
# hello world

设置指定位置

str1 = "{0} {1}".format("hello","world")
str2 = "{1} {0} {1}".format('hello','world')
print(str1,'\n',str2)
# hello world
# world hello world

指定参数名

print("网站名:{name},地址:{url}".format(name='百度',url='www.baidu.com'))
# 网站名:百度,地址:www.baidu.com

通过字典设置参数

site = {'name':'百度','url':'www.baidu.com'}
print("网站名:{name},地址:{url}".format(**site))
# 网站名:百度,地址:www.baidu.com

通过列表索引设置参数(“0”是必须的)

site_list = ['百度','www.baidu.com']
print('网站名:{0[0]},地址:{0[1]}'.format(site_list))
# 网站名:百度,地址:www.baidu.com

格式化数字

print('{:.2f}'.format(3.1415926))
# 3.14

格式化数字的其他参数列表:

数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零(填充左边, 宽度为 2)
5 {:x<4d} 5xxx 数字补 x(填充右边, 宽度为 4)
10 {:x<4d} 10xx 数字补 x(填充右边, 宽度为 4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:10d} 13 右对齐(默认,宽度为 10)
13 {:<10d} 13 左对齐(宽度为 10)
13 {:^10d} 13 中间对齐(宽度为 10)

使用 replace 方法替换字符串中的字符

方法 replace() 将字符中的 old(旧字符串)替换成 new (新字符串)
replace() 语法:
str.replace(old,new,[,max])
参数:
old – 将被替换的字符串;
new – 新字符串,用于替换 old 字符串;
max – 可选字符串,替换不超过 max 次.

str1 = '你好$$$我正在学Python@#@#现在需要&%&%修改字符串'
str2 = str1.replace('$$$',' ').replace('@#@#',' ').replace('&%&%',' ')
print(str2)
# 你好 我正在学Python 现在需要 修改字符串

如果指定第三个参数 max ,则替换不超过 max 次;
replace 不会改变原 string 的内容

name = 'xiaomzzg'
print(name.replace('zz','in',0))
print(name)
# xiaoming
# xiaomzzg

使用 split 方法分隔字符串

split() 通过指定分隔符对字符串进行切片,返回一个字符串列表,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法:
str.split(str=””,num=string.count(str))
参数:
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等
num – 分隔次数,默认为-1,即分隔所有

str1 = "aaa\nbbb\nccc"
print(str1.split()) # 以空格为分隔符,包含 \n
print(str1.split('\n',1)) # 以\n为分隔符,分隔成两个
name = 'wang#xiao#ming'
print(name.split('#',2)) # 以#为分隔符,分割成3个
# ['aaa', 'bbb', 'ccc']
# ['aaa', 'bbb\nccc']
# ['wang', 'xiao', 'ming']



网站内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站总访问量为 访客数为

本站使用 Volantis 作为主题 载入天数...载入时分秒...