python数字格式化
Ⅰ python字符串格式化输出的时候类似{0:.3f}是什么意思
%f 保留小数点后面六位有效数字,%.3f 保留三位小数。
%e 保留小数点后面六位有效数字,指数形式输出。
%3e 保留3位小数位,使用科学计数法。
%g 保留六位有效数字的前提下,使用小数方式,否则用科学计数法。
%3g保留3位有效数字,使用小数或科学计数法。
%s 标准输出。
%10s 右对齐,占位符10位。
%10s 左对齐,占位符10位。
%.2s 截取2位字符串。
%10.2s 10位占位符,截取两位字符串。
(1)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 个位置,左对齐。
Ⅱ 当使用print语句输出时,Python将所有浮 点数字格式化为小数点后两位。对吗
不会的,要配合format格式化输出。
x = 10/3
print(x)
print('{:.2f}'.format(x))
Ⅲ Python如何格式化输出字符串!
python一共有两种格式化输出语法,
一种是类似于C语言printf的方式,称为 Formatting Expression
>>>print '%s%d-%d'%('hello',7,1)
'hello7-1'
另一种是类似于C#的方式,称为String Formatting Method Calls
>>>print '{0}{1}:{2}'.format('hello','1','7')
'hello1:7'
第一种方式可以指定浮点数的精度,例如
>>> print'%.3f'%1.234567869
'1.235'
运行时动态指定浮点数的精度
但是当代码在运行中如何动态地通过参数来指定浮点数的精度呢?
python的神奇之处在于它又提供了一种非常方便的语法。只需要在 typecode(这里是f)之前加一个 *,浮点数的精度就用它前面的数字来指定。
>>>foriinrange(5):
... print'%.*f'%(i,1.234234234234234)
...
'1'
'1.2'
'1.23'
'1.234'
'1.2342'
通过输出结果可以看出,精度都是在运行时动态指定,这样就省去了格式化字符串的拼凑。
使用String Formatting Method Calls可以更简洁地完成功能。
>>>foriinrange(5):
... print'{0:.{1}f}'.format(1/3.0,i)
...
'0'
'0.3'
'0.33'
'0.333'
'0.3333'
附录是一些常用用法——
python print格式化输出。
1. 打印字符串
print ("His name is %s"%("Aviad"))
2.打印整数
print ("He is %d years old"%(25))
3.打印浮点数
print ("His height is %f m"%(1.83))
4.打印浮点数(指定保留小数点位数)
print ("His height is %.2f m"%(1.83))
5.指定占位符宽度
print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))
6.指定占位符宽度(左对齐)
print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83))
7.指定占位符(只能用0当占位符?)
print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))
8.科学计数法
format(0.0015,'.2e')
Ⅳ python字符串格式化输出方法
在python中也有类似于c中的printf()的格式输出标记。在python中格式化输出字符串使用的是版%运算符,通用的形式为 格式标记字符串 % 要输权出的值组 其中,左边部分的”格式标记字符串“可以完全和c中的一致。
Ⅳ python格式化二进制数
(8-len(bin(1)[2:])%8)*'0'+bin(1)[2:]
(8-len(bin(100000)[2:])%8)*'0'+bin(100000)[2:]
如果解决了您的问题请采纳!
如果未解决请继续追问
Ⅵ python字符串格式化什么意思
在python中也有类似于c中的printf()的格式输出标记。在python中格式化输出字符串使用的是%运算符,通用的形式为
格式标记字符串 % 要输出的值组
其中,左边部分的”格式标记字符串“可以完全和c中的一致。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开。重点来看左边的部分。左边部分的最简单形式为:
%cdoe
其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用’%s‘来标记。比如:
'%s %s %s' % (1, 2.3, ['one', 'two', 'three'])
它的输出为'1 2.3 ['one', 'two', 'three']',就是按照%左边的标记输出的。虽然第一个和第二值不是string类型,一样没有问题。在这个过程中,当电脑发现第一个值不是%s时,会先调用整型数的函数,把第一个值也就是1转成string类型,然后再调用str()函数来输出。前面说过还有一个repr()函数,如果要用这个函数,可以用%r来标记。除了%s外,还有很多类似的code:
整型数:%d
无符号整型数:%u
八进制:%o
十六进制:%x %X
浮点数:%f
科学记数法: %e %E
根据数值的不同自动选择%e或%f: %g
根据数值的不同自动选择%E或%f: %G
就跟前面说用\进行转义一样,这里用%作为格式标记的标识,也有一个%本身应该如何输出的问题。如果要在”格式标记字符串“中输出%本身,可以用%%来表示。
上面说的只是格式标记的最简间的形式,来看复杂一点的:
‘%6.2f’ % 1.235
在这种形式中,在f的前面出现了一个类似小数的6.2它表示的意思是,总共输出的长度为6个字符,其中小数2位。还有更复杂的:
‘%06.2f’ % 1.235
在6的前面多了一个0,表示如果输出的位数不足6位就用0补足6位。这一行的输出为‘001.24’,可以看到小数也占用一位。类似于这里0这样的标记还有-、+。其中,-表示左对齐,+表示在正数前面也标上+号,默认是不加的。最后来看最复杂的形式:
‘%(name)s:%(score)06.1f’ %{'score':9.5, 'name':'newsim'}
这种形式只用在要输出的内容为dictionary(一种python的数据类型)时,小括号中的(name)和(score)对应于后面的键值对中的键。前面的例子可以看到,”格式标记字符串“中标记的顺序和"要输出的值组"中的值是一一对应的,有顺序,一对一,二对二。而在这种形式中,则不是,每个格式标记对应哪个值由小括号中的键来指定。这行代码的输出为:'newsim:0009.5'。
有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。比如:'%*.*f' % (6, 2, 2.345)就相当于'%6.2f' % 2.345。
这是这本书到此为止看起来最复杂的内容。不过如果记不住,或不想那么耐烦,完全可以全部用%s代替,或者用多个"+"来构造类似的输出字符串。这里的%真有点除法的味道,怪不得设计者会选择用%这个除号。
象C 中的sprintf函数一样,可以用“%”来格式化字符串
Table 3.1. 字符串格式化代码
格式 描述
%% 百分号标记
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中
Ⅶ format在python中的用法是什么
常见于字符串格式化。
比如 print("第{0}天".format(d))。会打印"第5天"。
python3的format函数中s表示格式化字符串类型数据。{:>15s}表示右对齐15个字符,左侧空白默认用空格填充。{:<8.2f}表示左对齐加小数点一共8位的浮点型小数,保留小数点后两位。
{:>15s}:{:<8.2f}中间的冒号,就是分隔两个数据的分隔符。
Python
是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
Ⅷ python中的format函数怎么使用
常见于字符串格式化。
比如 print("第{0}天".format(d))。会打印"第5天"。
python3的format函数中s表示格式化字符串类型数据。{:>15s}表示右对齐15个字符,左侧空白默认用空格填充。{:<8.2f}表示左对齐加小数点一共8位的浮点型小数,保留小数点后两位。{:>15s}:{:<8.2f}中间的冒号,就是分隔两个数据的分隔符。
Python
是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
Ⅸ python 字符与数字如何转换
一、python中字符串转换成数字
(1)import string
t='555'
ts=string.atoi(tt)
ts即为tt转换成的数字
转换为浮点数 string.atof(tt)
(2)直接int
int(tt)即可。
二、数字转换成字符串
tt=322
tem='%d' %tt
tem即为tt转换成的字符串
(9)python数字格式化扩展阅读:
Python 是一门有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java.Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。
Ⅹ Python中的{0:d}和后面的format(1,s)是什么意思
在python中,系统默认从0开始计数,也就是说0代表第一个,1代表第二个,以此类推。
x.format()代表x是按照format后括号里的形式输出的。
在例子中,i = {0:d} (后面那个d不用管,是个格式问题)意思就是i等于format后的括号中的第一个参数,也就是i。同理,sum = {1:d} 意思就是sum等于第二个参数,也就是s。
如果还是很含糊的话,有办法可以很简单的说明这一点:你将format()括号里的两个参数位置换一下,输出的值就正好相反。
(10)python数字格式化扩展阅读:
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。