内置函数

issubclass(class1,class2)

判断class1类是否为class2类的子类,返回True和False

注意1:类会被认为是自身的子类

  1. >>>issubclass(Dog,Dog)
  2. True

注意2:class2可以是一个包含多个类的元组

  1. >>>class Teacher():
  2.   pass
  3. >>>class Teacher():
  4.   pass
  5. >>>issubclass(Student,(Student,Teacher))
  6. True

注意3:所有类都是object的子类

  1. >>>issubclass(Dog,object)
  2. True

isinstance(instance,class)

判断instance是否为class类的实例化对象,返回True和False

注意1:

如果instance不传实例对象,结果永远为False

  1. >>>isinstance(student,Student)
  2. True
  3. >>>isinstance(Student,Student)
  4. False
  5. >>>isinstance('demi',Student)
  6. False

注意2:

如果class不传类或由类组成的元组,则抛出TypeError异常

  1. >>>isinstance(teacher,(Student,Teacher))
  2. True
  3. >>>isinstance(teacher,teacher)
  4. TypeError: isinstance() arg 2 must be a type or tuple of types

内置方法

hasattr(object,attribute)

判断object对象是否有attribute属性,返回True和False;其中属性需要用字符串的引号括起来,否则会被当做变量

getattr(object,attribute[,default])

判断object对象是否有attribute属性,可返回用户自定义;如果object对象不包含attribute属性,则打印default

setattr(object,attribute,value)

设定object对象中的attribute属性的值为value;如果object对象不包含attribute属性,则新建该属性并赋值

delattr(object,attribute)

删除object对象中的attribute属性;当指定attribute不存在时,抛出AttributeError异常

property(fget,fset,fdel)

用属性来访问属性,以函数的形式来定义一个属性,括号中传入方法名称

  1. >>>class C:
  2. def __init__(self,x=0):
  3. self.x = x
  4. def getx(self):
  5. return self.x
  6. def setx(self,value):
  7. self.x = value
  8. def delx(self):
  9. del self.x
  10. y = property(getx,setx,delx)

如果 c 是 C 的实例化:c.y 将触发 geattr;c.y = value 将触发 seattr;del c.y 触发 delattr

Python笔记(二十一)_内置函数、内置方法的更多相关文章

  1. Python笔记(二十)_多态、组合

    多态 对于函数中的变量,我们只需要知道它这个变量是什么类,无需确切地知道它的子类型,就可以放心地调用类的方法,而具体调用的这个方法是作用在父类对象还是子类对象上,由运行时该对象的确切类型决定,这就是多 ...

  2. Python笔记(二十七)_魔法方法_容器

    定制容器 容器类型的协议: 定制不可变容器,只需要定义__len__()和__getitem__()方法 定制可变容器,需要定义__len__().__getitem__().__setitem__( ...

  3. Python笔记(二十三)_魔法方法_字符串的魔法方法

    __str__和__repr__ 如果要把一个类的实例变成字符串,就需要实现魔法方法__str__()和__repr__ >>>class A: def name(self): re ...

  4. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0.zfill()方法语法:s ...

  5. PHP使用内置函数生成图片的方法详解

    原文地址:http://www.poluoluo.com/jzxy/201605/475301.html 本文实例讲述了PHP使用内置函数生成图片的方法.分享给大家供大家参考,具体如下: 第一步:创建 ...

  6. python装饰器内获取函数有用信息方法

    装饰器内获取函数有用信息方法 .__doc__用于得到函数注释信息 .__name_用于得到函数名 在函数引用装饰器的时候,函数名会变为装饰器内部执行该函数的名字,所有在直接执行函数名加.__doc_ ...

  7. guxh的python笔记二:函数基础

    1,函数的参数 1.1,查看函数的参数类型 def run(a, *args, b, **kwargs): return a + b 可以通过如下方式查看参数类型: import inspect k ...

  8. Python每日一练------内置函数+内置变量+内置模块

    1.内置函数 Python所有的内置函数     Built-in Functions     abs() divmod() input() open() staticmethod() all() e ...

  9. Python day12部分内置函数的常见方法

    #内置函数 print(abs(-1))#绝对值 ']))#判断list的真假,都真则真,有一个假也是假 print(any(''))#有一个真就真,全假则假 print(bin(3))#十进制转换二 ...

随机推荐

  1. 使用内核LED框架搭建驱动 ——led_classdev_register

    #include <linux/init.h> // __init __exit #include <linux/module.h> // module_init module ...

  2. JavaScript之基础语法

    第一章 javascript语法 一, js代码的引入 方式一:在html页写js代码 <script> alert('hello,world') </script> 方式二: ...

  3. Django设置允许跨域请求

    方式一: 在中间件中 def process_response(self, request, response): response['Access-Control-Allow-Origin'] = ...

  4. HDU-1873 看病要排队(队列模拟)

    看病要排队 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  5. poj_1995 Raising Modulo Numbers (快速幂)

    [题目链接] http://poj.org/problem?id=1995 [算法] 基本快速幂(二进制思想) 注意两个int相乘可能溢出,加(long long)但是相乘不要加括号,不然会先溢出在类 ...

  6. 《Cascaded Pyramid Network for Multi-Person Pose Estimation》论文阅读及复现笔记

    一.PipeLine 要点 TopDown + GlobalNet + RefineNet 二.Motivation 通过提高对难以识别的关键点的识别准确率,来提升总体识别准确率. 方法:1.refi ...

  7. wxpython中列表框(ListBox类)、复选列表框(CheckListBox)、下拉选项(Choice)、进度条(Gauge)、滑块(Slider)使用实例源码分享

    #coding=utf-8 import wx import time class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(s ...

  8. C++多态下的访问修饰符

    C++多态下的访问修饰符 先上代码: class Parent { public: virtual void showMsg() { cout << "Parent showMs ...

  9. python学习笔记(7): 面向对象

    class Foo: #类中的函数 def bar(self): #功能阐述 print('Bar') pass def hello(self,name): print('i am %s' %name ...

  10. call apply bind的使用方法和区别

    call 1.改变this指向   2.执行函数    3.传参 var obj={}; function fun(a,b){ console.log(a,b,this); } fun(1,2); / ...