【Python基础知识】input()、isinstance()函数如何使用

发布 : python培训      来源:python干货资料

2020-04-03 14:36:59

Python解释器内置了许多函数,这意味着我们无需定义,始终可以它们。接下来和大家一起讨论一个常用的内建函数-input()和isinstance()。

input()

input()函数读取用户输入,并转换成字符串:

  1. >>> a = input() # 将input()返回的值赋值给a
  2. Python
  3. >>> a # 查看a的值(为字符串'Python')
  4. 'Python'

input()函数可以提供一个参数,用来提示用户:

  1. >>> b = input('请输入你最喜欢的水果: ') # 给用户必要的提示
  2. 请输入你最喜欢的水果: 香蕉
  3. >>> b
  4. '香蕉'

需要注意的是,input()函数返回的值总是字符串,当用户输入的是数字也是这样,所以当使用它时一定要注意:

  1. >>> num = input('请输入一个数字: ')
  2. 请输入一个数字: 10
  3. >>> num + 9 # 试图把num和数字相加
  4. Traceback (most recent call last):
  5. File "", line 1, in
  6. TypeError: must be str, not int
  7. >>> num
  8. '10'
  9. >>> type(num) # 查看num的数字类型
  10. <class &#39;str&#39;>

isinstance()

isinstance()函数用于检查对象是否为指定类(或者说数据类型)的实例。isintance()的第一个参数为一个对象,第二个参数为要检查的数据类型。

举个例子,比如有有一个变量,你想检查它是否为数字类型,可以使用isinstance()函数:

  1. score = 90
  2. >>> result = isinstance(score, int)
  3. >>> if result:
  4. ... print(&#39;score为int数据类型&#39;)
  5. ... else:
  6. ... print(&#39;score不为int数据类型&#39;)
  7. ...
  8. score为int数据类型

除了能检查是否为int类型外,isintance()还能检查其他数据类型(当然了),下面是一个综合示例:

  1. >>> pi = 3.14
  2. >>> name = &#39;Wang&#39;
  3. >>> complex_num = 1 + 2j
  4. >>> isinstance(pi, float) # 3.14为浮点数类型
  5. True
  6. >>> isinstance(name, str) # &#39;Wang&#39;为字符串类型
  7. True
  8. >>> isinstance(complex_num, complex) # 1 + 2j为复数
  9. True

isinstance()还可以验证某个对象是否为自定义的类型:

  1. >>> class Developer: # 定义一个叫做Developer的类
  2. ...
  3. ... def __init__(self, name): # __init__方法中,需要输入名字
  4. ... self.name = name
  5. ... def display(self): # 定义了display()方法
  6. ... print("Developer:", self.name, "-")
  7. ...
  8. >>> class PythonDeveloper(Developer): # PythonDeveloper类,继承了Developer类
  9. ...
  10. ... def __init__(self, name, language):
  11. ... self.name = name
  12. ... self.language = language
  13. ...
  14. ... def display(self): # 覆盖了父类的display方法
  15. ... print("Python Developer:", self.name, "language:", self.language, "-")
  16. ...
  17. >>> dev = Developer(&#39;Zhang&#39;) # 创建一个Developer对象
  18. >>> dev.display() # 调用display()方法,以查看该对象
  19. Developer: Zhang -
  20. >>> isinstance(dev, Developer) # 判断dev是否为Developer类,答案是肯定的
  21. True
  22. >>> isinstance(dev, PythonDeveloper) # 判断dev是否为PythonDeveloper类,当然不是
  23. False
  24. >>> python_dev = PythonDeveloper(&#39;Liu&#39;, &#39;Python&#39;) # 创建一个PythonDeveloper对象,注意PythonDeveloper是Developer的子类
  25. >>> python_dev.display() # 调用display方法
  26. Python Developer: Liu language: Python -
  27. >>> isinstance(python_dev, Developer) # 判断python_dev是否为Developer类,答案是肯定的
  28. True
  29. >>> isinstance(python_dev, PythonDeveloper) # 判断python是否为PythonDeveloper类,答案也是肯定的
  30. True

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部