我刚刚遇到这个Python代码,我的问题是关于print语句中的语法:
class Point(object):
"""blub"""
#class variables and methods
blank = Point
blank.x = 3.0
blank.y = 4.0
print('(%g,%g)' % (blank.x,blank.y))
这个print语句只打印(3.0,4.0),即blank.x和blank.y中的值
我不理解最后一行(blank.x,blank.y)前面的%运算符。它是做什么的?我在哪里可以在文档中找到它?
在谷歌上搜索这个,我总是得到模算子。
'(%g,%g)'
是模板,(blank.x,blank.y)
是需要填充的值,代替%g
和%g
,而%
运算符就是这样做的。它叫做String interpolation or formatting operator。简介
python中字符串的
%
运算符用于名为字符串替换的操作。 String和Unicode对象有一个独特的内置操作:运算符%operator(modulo)。这也被称为字符串格式化或插值运算符。
给定格式%值(格式为字符串或Unicode对象),格式中的%转换规范将替换为零个或多个值元素。其效果与C语言中的using sprintf()类似。
如果format是Unicode对象,或者使用%s转换转换的任何对象是Unicode对象,则结果也将是Unicode对象。
用法
这些是可以替换的值。要替换,只需遵循以下语法:
实例
另一个例子:
小心!
转换说明符包含两个或多个字符,并且具有以下组件,这些组件必须按此顺序出现:
参考文献
它只是告诉Python替换格式化程序部分中的所有%: http://docs.python.org/2/library/stdtypes.html#string-formatting-operations
相关问题 更多 >
编程相关推荐