Python 在字符串中嵌入变量

Python 在字符串中嵌入变量,python,string,variables,python-2.7,embed,Python,String,Variables,Python 2.7,Embed,此代码的输出为: my_age = 35 my_height = 74 my_weight = 180 print "If I add %d, %d, and %d I get %d." % ( my_age, my_height, my_weight, my_age + my_height + my_weight) 我真的不明白这是怎么回事,它的解释方式是: If I add 35, 74, and 180 I get 289. 有人能解释一下吗?为什么my_age在那里有两次

此代码的输出为:

my_age = 35 
my_height = 74 
my_weight = 180 

print "If I add %d, %d, and %d I get %d." % (
  my_age, my_height, my_weight, my_age + my_height + my_weight)
我真的不明白这是怎么回事,它的解释方式是:

If I add 35, 74, and 180 I get 289.

有人能解释一下吗?为什么
my_age
在那里有两次?

my_age+my_height+my_weight
表达式生成一个整数(打印的总和)。如果要打印加号:

print "If I add %d, %d, and %d I get %d." % (
  35, 74, 180, 35 + 74 + 180)

为什么
我的年龄
在那里两次

它一次打印,第二次作为总和的一部分以及
my_height
my_weight
变量打印

sum
从其右侧的表达式(parens中的表达式)获取其值。在这种情况下,它是
我的年龄
我的身高
,和
我的体重
的总和

如果难以理解,则输入:

my_age = 35 
my_height = 74 
my_weight = 180 

print("{a} + {b} + {c} = {sum}".format(a=my_age, b=my_height, c=my_weight, 
                                       sum=(my_age + my_height + my_weight)))
+
运算符在Python中计算其操作数之和。一旦得到结果,例如,
289
;它不记得你用了其他数字来得到它
289是一个普通数字。举例说明:

>>> my_age = 35 
>>> my_height = 74 
>>> my_weight = 180 
>>> my_age
35
>>> my_age + my_height
109
>>> my_age + my_height + my_weight
289

在本例中,结果
2
是使用3种方法生成的:sum、difference和directly via Python literal。

您还可以使用字典存储有关此人所需的所有信息,并使用Python的解包功能提取所有键,并以格式语法将所有键分配给其各自的值

请注意,我在字典里也计算了这个人的总数

>>> (1 + 1) == (4 - 2) == 2
True

为什么
我的年龄
在那里两次?它怎么知道只求三个变量的和而不求两次
my_age
?使用
{a}一些文本{a}另一个
@别名:我添加了更多解释。
person = dict()
person['my_age'] = 35
person['my_height'] = 74
person['my_weight'] = 180
person['sum'] = person['my_age'] + \
                            person['my_height'] +\ 
                            person['my_weight']

print "{my_age} + {my_height} + {my_weight} = {sum}".format(**a)
>> 35 + 74 + 180 = 289