使用者輸入
互動輸入
要從使用者那裡獲得輸入,請使用 input
函式( 注意 :在 Python 2.x 中,該函式被稱為 raw_input
,儘管 Python 2.x 有自己的 input
版本完全不同):
Python 2.x >= 2.3
name = raw_input("What is your name? ")
# Out: What is your name? _
安全性備註不要在 Python2 中使用
input()
- 輸入的文字將被評估為 Python 表示式(相當於 Python3 中的eval(input())
),這可能很容易成為漏洞。有關使用此功能的風險的詳細資訊,請參閱此文章 。
Python 3.x >= 3.0
name = input("What is your name? ")
# Out: What is your name? _
本示例的其餘部分將使用 Python 3 語法。
該函式接受一個字串引數,該引數將其顯示為提示並返回一個字串。上面的程式碼提供了一個提示,等待使用者輸入。
name = input("What is your name? ")
# Out: What is your name?
如果使用者鍵入 Bob
並按下 enter 鍵,變數 name
將被分配給字串 Bob
:
name = input("What is your name? ")
# Out: What is your name? Bob
print(name)
# Out: Bob
請注意,input
始終為 str
型別,如果你希望使用者輸入數字,這一點非常重要。因此,你需要在嘗試將其用作數字之前轉換 str
:
x = input("Write a number:")
# Out: Write a number: 10
x / 2
# Out: TypeError: unsupported operand type(s) for /: 'str' and 'int'
float(x) / 2
# Out: 5.0
注意:建議在處理使用者輸入時使用 try
/ except
塊來捕獲異常 。例如,如果你的程式碼想要將 raw_input
轉換為 int
,並且使用者所寫的內容是無法播放的,那麼它就會提出一個問題。