Py与Py3的区别之输入input()函数

Posted higgerw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Py与Py3的区别之输入input()函数相关的知识,希望对你有一定的参考价值。

  • Python 2.7中,一般是使用的input()比较常规些,可是也可以使用raw_input();他们仍有以下不同之处

C:Windowssystem32>python
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (
Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> s=input("请输入:")
请输入:saa
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name saa is not defined

  >>> s=input("请输入:")

  请输入:‘asxs‘

  >>> s
  ‘asxs‘

  当我使用raw_input()函数时:

>>> s=raw_input("input something:")
input something:哈哈
>>> s
xb9xfexb9xfe
>>> s=raw_input("input something:")
input something:axsx
>>> s
axsx

 >>> s=raw_input("input something:")
 input something:0
 >>> s
 ‘0‘
  >>> type(s)
  <type ‘str‘>

  对于Python2.7 raw_input()函数,对于任何输入,raw_input()函数都会把它完全当做字符串来处理

  但是使用input()输入一些数字、列表、元组等类型数据是不会报错的

>>> s=input("input something:")
input something:1234556
>>> s
1234556
>>> type(s)
<type int>
>>> s=input("input something:")
input something:(1,2,a,999)
>>> s
(1, 2, a, 999)
>>> type(s)
<type tuple>
>>> s=input("input something:")
input something:[1,2,[12,2],42,(2,2,a)]
>>> s
[1, 2, [12, 2], 42, (2, 2, a)]
>>> type(s)
<type list>

  • 然而在Python3中,甚至都没有raw_input()这个函数

  技术分享图片

  不过Python3支持input()函数的使用,但是,它又能直接接受一串字符:

>>> s=input("input something:")
input something:aaaaa
>>> s
‘aaaaa‘
>>> s=input("input something:")
input something:(12,23,‘a‘)
>>> s
"(12,23,‘a‘)"
>>> type(s)
<class ‘str‘>
>>> s=input("input something:")
input something:123
>>> s
‘123‘
>>> type(s)
<class ‘str‘>
>>> s=input("input something:")
input something:‘asx‘
>>> s
"‘asx‘"
>>> s=input("input something:")
input something:"wsacvd12324qaa"
>>> s
‘"wsacvd12324qaa"‘

  可以看到,对于任何输入,Python3的input()函数都会把它完全当做字符串来处理


  总结一波,Python2raw_input()函数和Python3的 input()函数的功能几乎等同,它对会把用户的输入当做一整个字符串的内容来处理,输出的类型也都是str字符串类型;

  Python3不支持 raw_input()函数;

  Python2input()简直是神一般的存在,十分智能化地识别用户输入的内容并给予相应的类型,单数输入字符串时候需要给字符串增添上 ‘xxx‘ "xxx" 引号。

  以上


































以上是关于Py与Py3的区别之输入input()函数的主要内容,如果未能解决你的问题,请参考以下文章

py2的地位被严重低估py2与py3的区别,初学者应该如何选择?

py2的地位被严重低估py2与py3的区别,初学者应该如何选择?

py3中输入密码时隐藏

基础复习

PY3

Python2 和 Python3区别