将变量嵌入字符串中

时间:2014-03-03 14:21:11

标签: 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.

我真的不明白它是如何工作的,它解释它的方式是:

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

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

2 个答案:

答案 0 :(得分:2)

my_age + my_height + my_weight表达式产生一个整数(打印的总和)。如果你想打印优点:

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)))
  

为什么my_age在那里两次?

它出现一次打印,第二次作为总和的一部分以及my_heightmy_weight变量。

sum从右边的表达式(parens中的表达式)中获取其值。在这种情况下,它是my_agemy_heightmy_weigh的总和。

如果很难理解open Python console并输入:

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

+运算符在Python中计算其操作数的总和。获得结果后,例如289;它不记得你用其他数字得到它。 289是普通数字。举例说明:

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

在这种情况下,结果2使用3种方法生成:sum,difference,并直接通过Python文字。

答案 1 :(得分:0)

您还可以使用字典存储有关此人所需的所有信息,并使用python的解包功能以格式语法提取所有键的相应值。

请注意我在字典中计算了这个人的总和。

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
相关问题