Python中%是什么意思?python中百分号如何使用?
常见的两种
第一种:数值运算1%3是指模运算, 取余数(remainder)
>>>7%2
1
#-*-coding:utf-8-*- ''' python读取文件,偶数行输出一个文件,奇数行输出一个文件 ''' deffenhang(infile,outfile,outfile1): infopen=open(infile,'r',encoding='utf-8') outopen=open(outfile,'w',encoding='utf-8') outopen1=open(outfile1,'w',encoding='utf-8') lines=infopen.readlines() i=0 forlineinlines: i+=1 ifi%2==0: outopen.write(line) else: outopen1.write(line) infopen.close() outopen.close() fenhang("源文件路径","偶行数文件路径","奇行数文件路径")
具体的可以参考这篇文章:https://www.nhooo.com/article/136704.htm
第二种:字符串操作'abc%s'%'abc''%s'类似占位符这行代码的结果
问的是%操作符(字符串格式化,stringformatting),说明如下:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有+,-,''或0。+表示右对齐。-表示左对齐。''为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。
width表示显示宽度
precision表示小数点后精度
以下是类型码
%s 字符串(采用str()的显示)
%r 字符串(采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数(基底写为e)
%E 指数(基底写为E)
%f 浮点数
%F 浮点数,与上相同%g 指数(e)或浮点数(根据显示长度)
%G 指数(E)或浮点数(根据显示长度)
%% 字符"%"
举例
>>>print("%6.3f"%2.3) 2.300
#第一个"%"后面的内容为显示的格式说明,6为显示宽度,3为小数点位数,f为浮点数类型
#第二个"%"后面为显示的内容来源,输出结果右对齐,2.300长度为5,故前面有一空格
>>>print("%+10x"%10) +a
#x为表示16进制,显示宽度为10,前面有8个空格
>>>print("%-5x"%-10) -a
# "%-5x"负号为左对齐,显示宽度为5,故-a后面有3个空格
>>>pi=3.1415 >>>print("pi的值是%s"%pi)
pi的值是3.1415
>>>print("pi的值是%.8f"%pi) pi的值是3.14150000
上面的width,precision为两个整数。我们可以利用*,来动态代入这两个量。比如:
>>>print("%10.*f"%(4,1.2)) 1.2000
以下是补充
简单的说,这是一种将其他变量置入字符串特定位置以生成新字符串的操作,比如说:
n="Aki" "Mynameis%s"%n
这段代码首先定义了一个名为n的变量,内容为Aki。然后下方的字符串中有一个%s,他的含义是“这里将被替换成一个新的字符串”,用作替换的内容放在字符串后面的%后面,就是那个n。所以最终这个字符串会变成MynameisAki。
字符串中的%后面会附带一个字母,代表着用来替换的变量的类型,比如说%d代表着你将替换到此处的变量是一个整数,而%s代表着一个字符串。详细细节可在这里看到。https://docs.python.org/2/library/stdtypes.html#string-formatting-operations另外,这种操作可以同时将多个变量放进字符串,只需要用括号把变量们括起来。下面是一些例子。
>>>"www.%s.net"%("jb51")#字符串 'www.nhooo.com' >>>"%dkm"%1990#整数型 '1990km' >>>"%s%d%f"%("abc",123,3.21)#多个值 'abc1233.210000'
在python3中
#-*-coding:UTF-8-*- print("www.%s.net")%("jb51")
输出www.nhooo.com
python中的%s%是什么意思
它是一个字符串格式化语法(它从C借用)。
请参阅“格式化字符串”:
Python支持将值格式化为字符串。虽然这可以包括非常复杂的表达式,但最基本的用法是将值插入到%s占位符的字符串中。
编辑:这是一个非常简单的例子:
该%s令牌允许我插入(和潜在的格式)的字符串。请注意,%s令牌被替换为%符号后传递给字符串的任何内容。还要注意,我也在这里使用一个元组(当你只有一个使用元组的字符串是可选的)来说明可以在一个语句中插入和格式化多个字符串。
只是为了帮助您更多,以下是您如何在一个字符串中使用多种格式
如果您使用int而不是字符串,请使用%d而不是%s。