标签:str 控制台 war 不同的 available mos ret 不同 关于
python2和python3的input是不同的
对于python3,只有input,官方文档里是这样描述的
def input(*args, **kwargs): # real signature unknown
"""
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
"""
pass
意思就是:读取一个字符串并输入,舍弃结尾的换行符
a = input()
print(a, type(a))
b = input()
print(b, type(b))
控制台输出结果
hello
hello <class 'str'>
123
123 <class 'str'>
python2有input和raw_input两种输入
a = input()
print(a, type(a))
b = input()
print(b, type(b))
控制台输出结果
123
(123, <type 'int'>)
hello
Traceback (most recent call last):
File "D:/input_test/test.py", line 11, in <module>
b = input()
File "<string>", line 1, in <module>
NameError: name 'hello' is not defined
报错了!这是因为input是获取原始的输入内容,也就是说,输入什么,就会得到什么
官方文档是这样描述的
def input(prompt=None): # real signature unknown; restored from __doc__
"""
input([prompt]) -> value
Equivalent to eval(raw_input(prompt)).
"""
pass
如果要输入字符串,需要手动加引号
a = raw_input()
print(a, type(a))
b = raw_input()
print(b, type(b))
# 控制台输出结果
123
(123, <type 'int'>)
'hello'
('hello', <type 'str'>)
raw_input与python3里面的input一样,输入的内容都会转化成字符串
a = raw_input()
print(a, type(a))
b = raw_input()
print(b, type(b))
控制台输出结果
123
('123', <type 'str'>)
hello
('hello', <type 'str'>)
标签:str 控制台 war 不同的 available mos ret 不同 关于
原文地址:https://www.cnblogs.com/zzliu/p/10630716.html