作者:Yy石小雪 | 来源:互联网 | 2024-10-25 11:21
本文将深入探讨在Python中如何高效利用`input()`和`isinstance()`函数进行数据输入和类型检查。许多开发者可能对这两个函数的应用还不够熟悉,因此我们将详细解析它们的功能和使用场景,并提供实用的代码示例,帮助读者更好地掌握这些重要工具。
今天就跟大家聊聊有关Python中input()和isinstance()函数如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
input()
input()函数读取用户输入,并转换成字符串:
>>> a = input() # 将input()返回的值赋值给a
Python
>>> a # 查看a的值(为字符串'Python')
'Python'
input()函数可以提供一个参数,用来提示用户:
>>> b = input('请输入你最喜欢的水果: ') # 给用户必要的提示
请输入你最喜欢的水果: 香蕉
>>> b
'香蕉'
需要注意的是,input()函数返回的值总是字符串,当用户输入的是数字也是这样,所以当使用它时一定要注意:
>>> num = input('请输入一个数字: ')
请输入一个数字: 10
>>> num + 9 # 试图把num和数字相加
Traceback (most recent call last):
File "", line 1, in
TypeError: must be str, not int
>>> num
'10'
>>> type(num) # 查看num的数字类型
isinstance()
isinstance()函数用于检查对象是否为指定类(或者说数据类型)的实例。isintance()的第一个参数为一个对象,第二个参数为要检查的数据类型。
举个例子,比如有有一个变量,你想检查它是否为数字类型,可以使用isinstance()函数:
score = 90
>>> result = isinstance(score, int)
>>> if result:
... print('score为int数据类型')
... else:
... print('score不为int数据类型')
...
score为int数据类型
除了能检查是否为int类型外,isintance()还能检查其他数据类型(当然了),下面是一个综合示例:
>>> pi = 3.14
>>> name = 'Wang'
>>> complex_num = 1 + 2j
>>> isinstance(pi, float) # 3.14为浮点数类型
True
>>> isinstance(name, str) # 'Wang'为字符串类型
True
>>> isinstance(complex_num, complex) # 1 + 2j为复数
True
isinstance()还可以验证某个对象是否为自定义的类型:
>>> class Developer: # 定义一个叫做Developer的类
...
... def __init__(self, name): # __init__方法中,需要输入名字
... self.name = name
... def display(self): # 定义了display()方法
... print("Developer:", self.name, "-")
...
>>> class PythonDeveloper(Developer): # PythonDeveloper类,继承了Developer类
...
... def __init__(self, name, language):
... self.name = name
... self.language = language
...
... def display(self): # 覆盖了父类的display方法
... print("Python Developer:", self.name, "language:", self.language, "-")
...
>>> dev = Developer('Zhang') # 创建一个Developer对象
>>> dev.display() # 调用display()方法,以查看该对象
Developer: Zhang -
>>> isinstance(dev, Developer) # 判断dev是否为Developer类,答案是肯定的
True
>>> isinstance(dev, PythonDeveloper) # 判断dev是否为PythonDeveloper类,当然不是
False
>>> python_dev = PythonDeveloper('Liu', 'Python') # 创建一个PythonDeveloper对象,注意PythonDeveloper是Developer的子类
>>> python_dev.display() # 调用display方法
Python Developer: Liu language: Python -
>>> isinstance(python_dev, Developer) # 判断python_dev是否为Developer类,答案是肯定的
True
>>> isinstance(python_dev, PythonDeveloper) # 判断python是否为PythonDeveloper类,答案也是肯定的
True
看完上述内容,你们对Python中input()和isinstance()函数如何使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程笔记行业资讯频道,感谢大家的支持。