输入
现在,你已经可以用 print() 输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python提供了一个 input() ,可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
>>> name = input()
Michael
当你输入 name = input() 并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python交互式命令行又回到 >>> 状态了。那我们刚才输入的内容到哪去了?答案是存放到 name 变量里了。可以直接输入 name 查看变量内容:
>>> name
'Michael'
什么是变量?请回忆初中数学所学的代数基础知识:
设正方形的边长为 a ,则正方形的面积为 a x a 。把边长 a 看做一个变量,我们就可以根据 a 的值计算正方形的面积,比如:
若a=2,则面积为a x a = 2 x 2 = 4;
若a=3.5,则面积为a x a = 3.5 x 3.5 = 12.25。
在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此, name 作为一个变量就是一个字符串。
要打印出 name 变量的内容,除了直接写 name 然后按回车外,还可以用 print() 函数:
>>> print(name)
Michael
有了输入和输出,我们就可以把上次打印 'hello, world' 的程序改成有点意义的程序了:
name = input()
print('hello,', name)
运行上面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入 name 变量中;第二行代码会根据用户的名字向用户说 hello ,比如输入 Michael :
C:\Workspace> python hello.py
Michael
hello, Michael
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好, input() 可以让你显示一个字符串来提示用户,于是我们把代码改成:
name = input('please enter your name: ')
print('hello,', name)
再次运行这个程序,你会发现,程序一运行,会首先打印出 please enter your name: ,这样,用户就可以根据提示,输入名字后,得到 hello, xxx 的输出:
C:\Workspace> python hello.py
please enter your name: Michael
hello, Michael
每次运行该程序,根据用户输入的不同,输出结果也会不同。
在命令行下,输入和输出就是这么简单。