Python 函数学习(一)

一、Python isinstance函数

描述:isinstance()函数来判断一个对象是否是一个已知的类型,类似type()。

isinstance()与type()区别:

  • type()不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance()会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用isinstance()

语法:以下是isinstance方法的语法:

isinstance(object,classinfo)

参数

  • object --实例duixiang。
  • classinfo --可以是直接或间接类名、基本类型或者由他们组成的元祖。

返回值:如果对象的类型与参数二的类型(classinfo)相同则返回True,否则返回False。

实例

以下展示了使用instance函数的实例:

1 >>>a = 2
2 >>>isinstance(a, int)
3 True
4 
5 >>>isinstance(a, str)
6 False
7 
8 >>>isinstance(a,(str, int,list)) #是元祖中的一个返回True
9 True

 输入:

>>>str = 'hello'
>>>isinstance(a, str)

报错信息:TypeError: isinstance() arg 2 must be a type or tuple of types

出错产生的原因是因为我们在练习代码的时候对str进行的赋值,导致了hello这个字符串比较的时候报错

解决办法:重启IDLE,不要对str类型进行赋值,问题解决

 二、python2 cmp()函数

描述:cmp()函数用于比较2个对象,如果x<y返回-1,如果x=y返回0,如果x>y返回1

语法以下是cmp()方法的语法

cmp(x,y)

参数:

  • x --数值表达式
  • y --数值表达式

返回值:如果x<y返回-1,如果x=y返回0,如果x>y返回1

实例

以下展示了使用cmp()函数的实例:

>>> a = [1, 2, 3] 
>>> b = [4, 5, 6] 
>>> cmp(a, b)

 在python3中无法使用cmp()函数,否则报以下错误:

下面讲解在python3中使用operator模块实现同样的功能。

三、python3 operator模块

描述:python3中使用operator模块进行字符串、数字两个变量的大小比较;在使用operator模块时需要先导入该模块,使用命令import operator来进行导入。

语法:

operator.eq(x,y)

operator.ne(x,y)

operator.lt(x,y)

 参数:

eq(x,y) --相等判断

ne(x,y) --不等判断

lt(x,y) --大小判断

常用对照速查表: 

原文地址:https://www.cnblogs.com/helloTerry1987/p/10926467.html