欢迎光临
我们一直在努力

python isinstance函数,Python isinstance

>>>?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

10345262

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。