在python中%是什么意思(百分号%在python中的用法)

 分类:IT知识时间:2023-04-01 07:31:02点击:

百分号%在python中主要是两个作用:数学运算符号和格式化输出。下文分别详细说明。

1、数学运算符号,求余数

在整数的除法中,有能整除与不能整除两种情况。所谓余数,余数指整数除法中被除数未被除尽部分,python中余数的正负符号和被除数一致,如下例所示:

print(5%2) #1print((-5)%(-2)) #-1print(-5%2) #1print(5%(-2)) #-1

2、格式化输出

在python中,内置对字符串进行格式化的操作%,下面是%格式符的表达式:

%[(name)][flags][width].[precision]typecode

表达式的解释如下:

%:格式化的起始标识

(name):可选,映射的key,比如字典

flag:可选,格式化操作符辅助符,含义分别为下表格所示



符号

含义

#

在八进制数前面显示零(0),在十六进制前面显示"0x"或者"0X"(取决于用的是"x"还是"X")

0

显示的数字前面填充"0"而不是默认的空格

+

向右对齐,并在正数前面显示加号(+)

-

向左对齐

' '

正数前留空格

width:可选,最小字段宽度。如果指定为“*”,则默认需要有一个包含2个参数的元组,第一个参数是最小字段宽度,第二个字段为值。

.precision:可选,小数点位数,浮点数时生效。如果指定为“.*”,则默认需要有一个包含2个参数的元组,第一个参数是最小字段宽度,第二个字段为值。

typecode:转换类型,各字符含义如下:



字符

含义

d/i/u

十进制整型

o

八进制

x/X

十六进制,大小写区分

e/E

转成科学计数法(e / E控制输出e / E)

f/F

十进制浮点型

c

单个字符

s

字符串

下方为代码实例:

neg_num=-34pos_num=56print('%d,%i,%u都是一样'%(neg_num,neg_num,neg_num)) #-34,-34,-34都是一样print('%d,%i,%u都是一样'%(pos_num,pos_num,pos_num))#56,56,56都是一样print('%d用八进制是%o,加入\'#\'后就是%#o'%(pos_num,pos_num,pos_num)) #56用八进制是70,加入'#'后就是0o70print('%d用十六进制是%x,加入\'#\'后就是%#x'%(pos_num,pos_num,pos_num)) #56用十六进制是38,加入'#'后就是0x38print('%d用科学计数法是%e,保留3位小数精度,就是%.3e'%(pos_num,pos_num,pos_num)) #56用科学计数法是5.600000e+01,保留3位小数精度,就是5.600e+01print('%d用浮点数表示是%f,保留3位小数为%.3f'%(pos_num,pos_num,pos_num)) #56用浮点数表示是56.000000,保留3位小数为56.000alpha='a'st='good'print('%c'%65)#A,整型会转换成ASCII值print('%c'%alpha)#aprint('%s'%st)#good

复合型代码实例

num=[23,98,-345,-34] print('限制最小宽度') fori in num: print('%5d,'%i) print('加上+号,右对齐,整数加+号') fori in num: print('%+5d,'%i) print('加上-号,左对齐') fori in num: print('%-5d,'%i) print('加上0,补齐位数') fori in num: print('%05d,'%i)

代码执行后输出结果如下:

#输出限制最小宽度23,98,-345,-34,加上+号,右对齐,整数加+号+23,+98,-345,-34,加上-号,左对齐23,98,-345,-34,加上0,补齐位数00023,00098,-0345,-0034,
除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: