Menyatukan raw_input() dan input() dalam Python 3
Soalan: Apakah perbezaan antara raw_input( ) dan input() dalam Python 3?
Jawab dalam Python:
# In Python 2.x: >>> type(raw_input('What is your name? ')) <type 'str'> # In Python 3.x: >>> type(input('What is your name? ')) <type 'str'>
Sebelum Python 3.x, raw_input() dan input() mempunyai tujuan yang berbeza. raw_input() menerima input pengguna mentah sebagai rentetan, manakala input() menilai input sebagai kod Python.
Penjelasan dalam Python 2.x:
# Python 2.x # Get user input as a string using raw_input() name = raw_input('Enter your name: ') # Evaluate user input as Python code using input() age = input('Enter your age: ') # Returns an int
Dalam Python 3.x, bagaimanapun, perbezaan itu telah dihapuskan. Raw_input() asal telah dinamakan semula kepada input(). Input() sebelumnya telah dialih keluar, walaupun ia boleh direplikasi dengan menggunakan eval(input()).
Awas: Walaupun eval(input()) mungkin mensimulasikan tingkah laku sebelumnya bagi input(), adalah penting untuk berhati-hati semasa menilai input pengguna sebagai kod. Eval() mempunyai risiko keselamatan yang wujud dan harus digunakan dengan bijak. Alternatif yang lebih selamat untuk menghuraikan input pengguna harus diutamakan apabila boleh.
Atas ialah kandungan terperinci Apakah Perbezaan Antara `raw_input()` dan `input()` Python 2 dan Bagaimana Mereka Disatukan dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!