百分号%在python中的用法_百分号在python中代表什么

liftword4个月前 (02-14)技术文章28

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


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

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

print(5%2)  #1
print((-5)%(-2)) #-1
print(-5%2)  #1
print(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=-34
pos_num=56

print('%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,加入'#'后就是0o70
print('%d用十六进制是%x,加入\'#\'后就是%#x'%(pos_num,pos_num,pos_num)) #56用十六进制是38,加入'#'后就是0x38
print('%d用科学计数法是%e,保留3位小数精度,就是%.3e'%(pos_num,pos_num,pos_num)) #56用科学计数法是5.600000e+01,保留3位小数精度,就是5.600e+01
print('%d用浮点数表示是%f,保留3位小数为%.3f'%(pos_num,pos_num,pos_num)) #56用浮点数表示是56.000000,保留3位小数为56.000

alpha='a'
st='good'
print('%c'%65)#A,整型会转换成ASCII值
print('%c'%alpha)#a
print('%s'%st)#good

复合型代码实例

num=[23,98,-345,-34]

print('限制最小宽度')
for i in num:
    print('%5d,'%i)

print('加上+号,右对齐,整数加+号')
for i in num:
    print('%+5d,'%i)

print('加上-号,左对齐')
for i in num:
    print('%-5d,'%i)

print('加上0,补齐位数')
for i in num:
    print('%05d,'%i)

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

#输出
限制最小宽度
   23,
   98,
 -345,
  -34,
加上+号,右对齐,整数加+号
  +23,
  +98,
 -345,
  -34,
加上-号,左对齐
23   ,
98   ,
-345 ,
-34  ,
加上0,补齐位数
00023,
00098,
-0345,
-0034,

相关文章

在 Python 中将浮点数转换为整数方法指南

在 Python 中将浮点数转换为整数可能看起来很简单,但有一些重要的细微差别需要理解。让我们探讨所有可用的方法、它们的差异以及何时使用每种方法。基本浮点到整数转换方法Python 提供了多种将浮点数...

Python初学者练习:计算一个整数的各位数字之和

在这篇文章中,我们将编写一个程序来计算一个整数中各位数字的之和。示例:123:1+2+3=6方法1:使用while循环和整除运算符“//”、取余运算符“%”来计算这个python程序使用while循环...

编写程序随机产生30个1-100之间的随机整数,按5行6列的格式输出

大家好,我是皮皮。一、前言前几天在某乎上看到了一个粉丝提问,编写程序,随机产生30个1-100之间的随机整数并存入5行6列的二维列表中,按5行6列的格式输出?这里拿出来跟大家一起分享下。二、实现过程后...

Python ‘bufferobject.c’整数溢出漏洞

受影响系统:Python python不受影响系统:Python python ˂ 2.7.8描述:BUGTRAQ ID: 70089Python是一种面向对象、直译式计算机程序设计语言。Python...

python:给1个整数,你怎么判断是否等于2的幂次方?

最近在某xxxx网站上刷到一个比较简单题目,题目要求不使用循环和递归来实现检查1个整数是否等于2的幂次方,题目如下:题目的答案如下:def isPowerofTwo(n): z = bin(n)[2...

「Python条件结构」if…else实现判断整数是否能不3和5整除

功能要求编写一个控制台应用程序,输入一个整数,判断它是否能同时被3和5整除,如能被整除则打印该数,显示“此数不能同时被3和5整除!”。实例代码num = int(input("请输入一个整数:"))i...