如何在python中设置%的全局值
您可以像这样更轻松地将变量插入字符串:如何在python中设置%的全局值,python,string,constants,Python,String,Constants,您可以像这样更轻松地将变量插入字符串: print("I like %s a lot!"% spam) % = spam print("I like %s") print("Do you like %s?") print("I like %s a lot.") 我想说的是: % = spam def spamify(message): print(message % spam) 只要我有%的时间,我就再也不用处理垃圾邮件了,只要我想把它放在字符串中 像这样: print("I l
print("I like %s a lot!"% spam)
% = spam
print("I like %s")
print("Do you like %s?")
print("I like %s a lot.")
我想说的是:
% = spam
def spamify(message):
print(message % spam)
只要我有%的时间,我就再也不用处理垃圾邮件了,只要我想把它放在字符串中
像这样:
print("I like %s a lot!"% spam)
% = spam
print("I like %s")
print("Do you like %s?")
print("I like %s a lot.")
有没有办法将%设置为一个全局常量,这样你就不必一直在最后添加%垃圾信息了?我的意思是,如果你要打印很多包含垃圾邮件的字符串,那么继续键入相同的内容是没有意义的。如果你想将值预先替换到字符串中,只需这样做,然后保存替换后的字符串以便以后打印即可
message = "I like %s a lot!" % spam
# do whatever
print(message)
这是我对你的问题的最好猜测<代码>%不是一个真正的“变量”,您可以将值设置为独立于字符串。相反,字符串中的“%s”将被替换为在执行时替换它的任何内容。因此,如果您想保留某个替换的值,您可以随时这样做,如上所示
根据您的编辑,另一种方法是编写您自己的函数来替换所需内容,然后使用该函数而不是print
。比如:
% = spam
def spamify(message):
print(message % spam)
那你就可以了
spam = "blah"
spamify("I like %s!")
spamify("Do you like %s?")
spam = "other stuff"
spamify("I like %s!")
spamify("Do you like %s?")
等等。不,但您可以在代码编辑器中使用全局搜索和替换。您的问题不是很清楚。我已经根据我的最佳猜测给出了答案,但如果你能给出一个你真正想要做的事情的例子,这会有所帮助。@BrenBarn谢谢你的努力-我会编辑我的问题,看看我是否能说得更清楚。有趣的事实:%
是模运算符。字符串只是实现了一个非常特殊的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
。你可以直接做“我非常喜欢%s!”。\uuu mod\uuu(spam)
,它会起作用。但我不明白为什么这个问题会被否决。我刚开始学习python,来自java和其他语言,据我所知,你可以设置True=False。那么谁知道这个疯狂的语言有什么可能:)