{0}在这个Python字符串中的含义是什么?

时间:2011-07-13 17:09:46

标签: python python-3.x

以下程序在字符串中使用{0},我不确定它是如何工作的,它出现在一个关于Python迭代的在线教程中,我似乎找不到任何解释它的地方。

import random

number = random.randint(1, 1000)
guesses = 0

print("I'm thinking of a number between 1 and 1000.")

while True:
   guess = int(input("\nWhat do you think it is? "))
   guesses += 1

    if guess > number:
        print("{0} is too high.".format(guess))
    elif guess < number: 
        print("{0} is too low.".format(guess))
    else:
        break

print("\nCongratulations, you got it in {0} guesses!\n".format(guesses))

谢谢!

6 个答案:

答案 0 :(得分:33)

它是格式化方法的一个指标,您希望它被格式的第一个(索引零)参数替换。 (例如"2 + 2 = {0}".format(4)

答案 1 :(得分:14)

http://docs.python.org/release/3.1.3/library/stdtypes.html#str.format

  

执行字符串格式化操作。 format_string参数可以   包含由大括号{}分隔的文字文本或替换字段。   每个替换字段都包含a的数字索引   位置参数或关键字参数的名称。返回一个副本   format_string,其中每个替换字段都替换为   相应参数的字符串值。

答案 2 :(得分:12)

多次放置相同的arg是一件好事

print("When you multiply {0} and {1} or {0} and {2}, the result is {0}".format(0,1,2))

这不是很好!!!

答案 3 :(得分:6)

它是一个占位符,将在结果中替换为format的第一个参数。 {1}将是第二个参数,依此类推。

有关详细信息,请参阅Format String Syntax

答案 4 :(得分:4)

这是新的python格式化风格。阅读here

答案 5 :(得分:0)

year = int(input("Enter the year: "))
if year%4 == 0:
    if year%100 == 0:
        if year%400 == 0:
            print("{0} Year is Leap Year".format(year))
        else:
            print("{0} Year is Not Leap Year".format(year))
    else:
        print("{0} Year is Leap Year".format(year))
else:
    print("{0} Year is Not Leap Year".format(year))

在这里,我可以使用year

.foramt(year)参数放在多行中

输出:输入年份:1996 1996年是Le年

和另一个前任:

name = 'sagar'
place = 'hyd'
greet = 'Good'
print("my name is {0}. I am from {1}. Hope everyone doing {2}".format(name,place,greet))

输出:我叫萨加尔。我来自hyd。希望大家都做好 或

print("my name is {0}. I am from {1}. Hope everyone doing {2}".format('Sagar','Hyd','Good'))

输出:我叫萨加尔。我来自hyd。希望大家都做好事