zoukankan      html  css  js  c++  java
  • 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) --大小判断

    常用对照速查表: 

  • 相关阅读:
    微服务划分的姿势
    微服务的时间和成本去哪儿了
    假如你是架构师,你要做些什么
    说透代码评审
    从哲学层面浅谈计算机学习方法论
    分布式事务:两阶段提交与三阶段提交
    敏捷史话(四):敏捷是人的天性 —— Arie van Bennekum
    敏捷史话(三):笃定前行的勇者——Ken Schwaber
    敏捷史话(二):Scrum社区的悲剧性损失——Mike Beedle
    敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland
  • 原文地址:https://www.cnblogs.com/helloTerry1987/p/10926467.html
Copyright © 2011-2022 走看看