作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从我对 python 的研究中,我发现了 % 的两个用途。它可以用作所谓的模数,这意味着它将除以它左边的值和它右边的值,然后吐出余数。
另一个用途是字符串格式化程序。所以我可以做类似 'Hi there %s' % name
的事情,其中 name 是一个名称列表。
此外,如果您在字符串格式中看到 %%
,则表示将输入文字 %
。
这是我的问题,我发现了这个:
class FormatFormatStr(FormatObj):
def __init__(self, fmt):
self.fmt = fmt
def tostr(self, x):
if x is None: return 'None'
return self.fmt%self.toval(x)
return self.fmt%self.toval(x)
是什么意思?它不能是模数,因为 tova
l 会给我一个字符串。它不是真正的字符串格式化程序,因为没有另一个百分号。
另外,与此相关:
def csvformat_factory(format):
format = copy.deepcopy(format)
if isinstance(format, FormatFloat):
format.scale = 1. # override scaling for storage
format.fmt = '%r'
return format
format.fmt = '%r'
中的百分比是什么意思?这是否意味着在 repr()
中插入一个字符串?或者它是否意味着插入变量 r
代表的内容? r
在整个程序中也指的是recarray。
谢谢大家。希望这是有道理的 =)
最佳答案
字符串 % 运算符比您想象的要简单。左边是一根绳子,右边是各种东西。左边不一定是文字串,它可以是一个变量,或者是另一个计算的结果。任何生成字符串的表达式都对 % 的左侧有效。
在您的第一个示例中,self.fmt
是一个字符串。为了在这种情况下有用,它应该有一个百分号。
在您的第二个示例中,format.fmt
被设置为用作 % 左侧的有用字符串。在这种情况下,“%r”的意思是,将值的 repr() 插入到字符串中,如您所说。
关于python - % 如何在 Python 中应用于此方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1484375/
我是一名优秀的程序员,十分优秀!