Python 笔记(1)input与raw_input

来源:互联网 发布:淘宝开店显示已有店铺 编辑:程序博客网 时间:2024/06/04 23:22

input()函数和raw_input()函数

  • input函数先来看以下代码
name = input("What is your name? ")
print "Hello, " + name + "!"
运行代码后会出现以下的问题:
What is your name? Gumby
Traceback (most recent call last):
File "C:/python/test.py", line 2, in ?
name = input("What is your name? ")
File "<string>", line 0, in ?
NameError: name 'Gumby' is not defined
错误的原因是因为input函数默认你的输入是一个正缺的Python表达式,如果你输入的是一个字符串,那么则不会出现报错,如下:
What is your name? "Gumby"
Hello, Gumby!

  • raw_input()函数
raw_input则将你的输入的原始数据转化为字符串,比如
>>> input("Enter a number: ")
Enter a number: 3
3
>>> raw_input("Enter a number: ")
Enter a number: 3
'3'
除非你有特殊的需求,否则一般都是使用raw_input()来进行输入。当输入整数,和8进制,16进制整数,或者浮点数时,可以像一下:
##输入整数x = int(raw_input("enter a intege: "))##输入浮点数x = float(raw_input("enter a float: "))##输入16进制数x = int(raw_input("enter 0x number: "), 16)

还有一个短路逻辑的小trick:
name = raw_input('Please enter your name: ') or '<unknown>'

这样的话,如果输入了,就是输入值,否则name的值为 '<unknonw>'