zoukankan      html  css  js  c++  java
  • python学习记录八

    获取对象信息: 基本类型可以用type来判断

    >>> type(123)
    <class 'int'>
    >>> type('str')
    <class 'str'>
    >>> type(None)
    <type(None) 'NoneType'>
    >>> import types
    >>> def fn():
    ...     pass
    ...
    >>> type(fn)==types.FunctionType
    True
    >>> type(abs)==types.BuiltinFunctionType
    True
    >>> type(lambda x: x)==types.LambdaType
    True
    >>> type((x for x in range(10)))==types.GeneratorType
    True
    能用type()判断的基本类型也可以用isinstance()判断:
    
    >>> isinstance('a', str)
    True
    >>> isinstance(123, int)
    True
    >>> isinstance(b'a', bytes)
    True


    并且还可以判断一个变量是否是某些类型中的一种,比如下面的代码就可以判断是否是list或者tuple:

    
    
    >>> isinstance([1, 2, 3], (list, tuple))
    True
    >>> isinstance((1, 2, 3), (list, tuple))
    True
    
    
    

    如果要获得一个对象的所有属性和方法,可以使用dir()函数,它返回一个包含字符串的list,比如,获得一个str对象的所有属性和方法:

    
    
    >>> dir('ABC')
    ['__add__', '__class__',..., '__subclasshook__', 'capitalize', 'casefold',..., 'zfill']
    
    
    

    类似__xxx__的属性和方法在Python中都是有特殊用途的,比如__len__方法返回长度。在Python中,如果你调用len()函数试图获取一个对象的长度,实际上,在len()函数内部,它自动去调用该对象的__len__()方法,所以,下面的代码是等价的:

    
    
    >>> len('ABC')
    3
    >>> 'ABC'.__len__()
    3
    


  • 相关阅读:
    lua学习之环境搭建
    c易错点归纳
    H7-TOOS之SPI控制器功能
    搜索旋转排序数组
    电话号码的字母组合
    打家劫舍python实现
    括号生成实现
    玩烂bert--集成输出预测分类、特征向量、参数冻结、推理
    tensorflow 查看ckpt模型中参数值
    求柱状图中最大的矩形
  • 原文地址:https://www.cnblogs.com/Galesaur-wcy/p/12586513.html
Copyright © 2011-2022 走看看