当前位置:首页 » 编程语言 » python格式化

python格式化

发布时间: 2022-01-12 23:45:28

python 字符串格式化问题

%.3f
中,
%
引导后面的符号,表示用来格式化字符串后面
%
之后的变量变成字符串。
.3
表示小数点后面保留三位。f
表示将后面要格式化的变量作为浮点数来格式化。
format
%
pi
中的
%
表示按照
format
里面的
%.3f
的要求,将
pi
转化为字符串替换掉
format
中的
%.3f。

② python如何格式化∪盘

方式一:直接+拼接
print(src + username + " 年龄是:" + str(age))
回到顶部
方式二: f字符串表达式
# a、需要在字符串前面添加f
# b、可以在字符串中间使用{},花括号的中间可以写任何表达式(或变量)
# c、python3.6+的版本可用
info = f"我的名字是:{username} \t 年龄是:{age}"info1 = f"我的名字是:{username[:-1]} \t 年龄是:{age + 1}"print(info)print(info1)

回到顶部
方式三:使用format进行格式化
# a、{} 为占位符,format方法中的参数进行一一对应
# b、往往花括号的数量与format方法中的参数个数一致
# c、{}花括号中可以填写format方法参数的索引值
info2 = "我的名字是:{} \t 年龄是:{}".format(username, age)
info3 = "我的名字是:{2} \t 年龄是:{1} \t 我的分数为{0}".format(username, age, 99)print(info2)print(info3)

回到顶部
方式四:python2 中推荐方法
info4 = "我的名字是:%s 年龄是:%s 我的分数为:%s" % (username, age, 88)print("info4:", info4)

③ python怎么用格式化字符修改所有变量的名字

自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。
语法
它通过{}和:来代替%。
“映射”示例
通过位置
In [1]: '{0},{1}'.format('kzc',18)
Out[1]: 'kzc,18'
In [2]: '{},{}'.format('kzc',18)
Out[2]: 'kzc,18'
In [3]: '{1},{0},{1}'.format('kzc',18)
Out[3]: '18,kzc,18'

字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。
通过关键字参数
In [5]: '{name},{age}'.format(age=18,name='kzc')
Out[5]: 'kzc,18'

通过对象属性
class Person:
def __init__(self,name,age):
self.name,self.age = name,age
def __str__(self):
return 'This guy is {self.name},is {self.age} old'.format(self=self)

In [2]: str(Person('kzc',18))
Out[2]: 'This guy is kzc,is 18 old'

通过下标
In [7]: p=['kzc',18]
In [8]: '{0[0]},{0[1]}'.format(p)
Out[8]: 'kzc,18'

有了这些便捷的“映射”方式,我们就有了偷懒利器。基本的python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。
格式限定符
它有着丰富的的“格式限定符”(语法是{}中带:号),比如:
填充与对齐
填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
比如
In [15]: '{:>8}'.format('189')
Out[15]: ' 189'
In [16]: '{:0>8}'.format('189')
Out[16]: '00000189'
In [17]: '{:a>8}'.format('189')
Out[17]: 'aaaaa189'

精度与类型f
精度常跟类型f一起使用
In [44]: '{:.2f}'.format(321.33345)
Out[44]: '321.33'

其中.2表示长度为2的精度,f表示float类型。
其他类型
主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
In [54]: '{:b}'.format(17)
Out[54]: '10001'
In [55]: '{:d}'.format(17)
Out[55]: '17'
In [56]: '{:o}'.format(17)
Out[56]: '21'
In [57]: '{:x}'.format(17)
Out[57]: '11'

用,号还能用来做金额的千位分隔符。
In [47]: '{:,}'.format(1234567890)
Out[47]: '1,234,567,890'

④ python 处理文本,格式化文本~

#coding=utf-8
records=[]
record={}
withopen("data.txt")asf:
whileTrue:
line=f.readline()
ifnotline:
iflen(record)!=0:records.append(record)
break
field=line[line.find(":")+1:].strip()
ifline.startswith("ScopeId"):
iflen(record)!=0:records.append(record)
record={}
record["ScopeId"]=field
elifline.startswith("Name"):
record["Name"]=field
elifline.startswith("Free"):
record["Free"]=field
elifline.startswith("InUse"):
record["InUse"]=field
elifline.startswith("PercentageInUse"):
record["PercentageInUse"]=field
#设置缺省项
forrinrecords:
r.setdefault("InUse",0)
r.setdefault("PercentageInUse",0)
r.setdefault("Name","")
r.setdefault("Free",0)

printrecords

⑤ python字符串格式化输出的时候类似{0:.3f}是什么意思

%f 保留小数点后面六位有效数字,%.3f 保留三位小数。

%e 保留小数点后面六位有效数字,指数形式输出。

%3e 保留3位小数位,使用科学计数法。

%g 保留六位有效数字的前提下,使用小数方式,否则用科学计数法。

%3g保留3位有效数字,使用小数或科学计数法。

%s 标准输出。

%10s 右对齐,占位符10位。

%10s 左对齐,占位符10位。

%.2s 截取2位字符串。

%10.2s 10位占位符,截取两位字符串。


(5)python格式化扩展阅读

sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代itoa。

如:

//把整数123 打印成一个字符串保存在s 中。

sprintf(s, "%d", 123); //产生"123"可以指定宽度,不足的左边补空格:

sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"当然也可以左对齐:

sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"。

也可以按照16 进制打印:

sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐。

sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐。

⑥ python格式化字符

第一个print有两个错误 %d是整数类型, %前面没逗号
print("let 's talk about %s"%(my_name))
第二个和第三错误是format前面是点, 不是逗号
print("he 's {} inches tall.".format(my_height))

⑦ python 的格式化输入

没有这样的格式,要么让用户分次输入,要么一次输入后,解析字符串赋给3个参数(":"分隔)

⑧ python 格式化日期

python格式化日期的方法:可以利用time.asctime(time.local(time.time()))函数来格式化日期。如果我们要获取当前日期,可以利用时间函数time()来获取。

⑨ Python字符串格式化问题

*,表示输出的字符的宽度,你给的例子,就是4个字符的宽度
又比如
>>> '%.*s%.*s'%(2, "abce", 3, "324223")
'ab324'
>>> '%.*s%*.s'%(2, "abce", 3, "324223")
'ab '
第一个:2个宽度所以只有ab,后面的只有3个宽度,就是324
需要注意. 和 *的先后顺序
第二个:2宽度,也是ab,后面由于.和*的顺序变了,没有输出字符,但给了3个宽度
======================================================================
这么给你说嘛: '%*.*s'%(10,2, "abce")
第一个*表示输出的‘内容’长度为10
第二个*表示‘abce’这个串,只取前两位,你可以理解为精度
s表示是字符串
结果为:8个空格 + ab
==========再来看你的问题=====================================
'%*.s' % (4,'hi')

我的疑问是为什么'hi'没有输出?如何理解?
[ans:没输出因为.后面没有给int值,所以没输出hi]
另外,点(.)后如果没有加精度值,机器将如何执行?
[ans:结果你已经看到了,没给值就不输出]
还有如果输出的是字符串,但是点(.)的前后都有星号(*),那么此时输出的字符串宽度到底是多少?
[ans:*.*,都给了值,第一个是输出字符串的宽度,第二个是取你给的字符串的宽度,上面给你举得例子, '%*.*s'%(10,2, "abce"),输出宽度为10,取 abce的前两个字符]
是以前面一个星号为准还是后面的那个?
[ans:同上]

⑩ python中如何格式化代码

你的问题是什么?我没有理解。如果只是代码缩进的话。那只要不是notepad随便一个ide或编辑器都做的到。先把问题描述清楚。

热点内容
服务器换位置了ip地址怎么换 发布:2024-09-19 09:33:50 浏览:798
javarest 发布:2024-09-19 09:28:43 浏览:753
密码子的原料是什么 发布:2024-09-19 09:11:42 浏览:348
半夜编程 发布:2024-09-19 09:11:36 浏览:104
海康威视存储卡质量如何 发布:2024-09-19 08:55:35 浏览:941
python3默认安装路径 发布:2024-09-19 08:50:22 浏览:517
环卫视频拍摄脚本 发布:2024-09-19 08:35:44 浏览:419
sqlserveronlinux 发布:2024-09-19 08:16:54 浏览:257
编程常数 发布:2024-09-19 08:06:36 浏览:953
甘肃高性能边缘计算服务器云空间 发布:2024-09-19 08:06:26 浏览:163