热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Python中有效运用input()与isinstance()函数进行数据输入与类型检查

本文将深入探讨在Python中如何高效利用`input()`和`isinstance()`函数进行数据输入和类型检查。许多开发者可能对这两个函数的应用还不够熟悉,因此我们将详细解析它们的功能和使用场景,并提供实用的代码示例,帮助读者更好地掌握这些重要工具。

今天就跟大家聊聊有关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.  

isinstance()

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

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

  1. score = 90 

  2. >>> result = isinstance(score, int) 

  3. >>> if result: 

  4. ...     print('score为int数据类型') 

  5. ... else: 

  6. ...     print('score不为int数据类型') 

  7. ... 

  8. score为int数据类型 

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

  1. >>> pi = 3.14 

  2. >>> name = 'Wang' 

  3. >>> complex_num = 1 + 2j 

  4. >>> isinstance(pi, float)              # 3.14为浮点数类型 

  5. True 

  6. >>> isinstance(name, str)              # 'Wang'为字符串类型 

  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('Zhang')                     # 创建一个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('Liu', 'Python')  # 创建一个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 

看完上述内容,你们对Python中input()和isinstance()函数如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程笔记行业资讯频道,感谢大家的支持。


推荐阅读
author-avatar
Yy石小雪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有