• 面向对象小结


    __init__和__call__的区别
    
    	1、__init__()的作用是初始化某个类的一个实例,等同于类的构造器
    	2、__call__()的作用是使实例化能够像函数一样被调用,同时不影响实例本身的生命周期(__call__()不影响一个实例的构造和析构,但是__call__()可以用来改变实例的内部成员的值)
    
    	__doc__():类的注释,无法继承给子类
    
    	__str__():对象()会自动执行
    
    	__add__():对象+对象,会自动执行
    
    	__getitem__():对象[key]会自动执行
    
    	__setitem__():对象[key]=value会自动执行
    
    	__delitem__():del对象[key]会自动执行
    
    __init__和__new__的区别
    
    	1、__new__是在实例化创建之前被调用的,因为它的任务就是创建实例然后返回该方法
    	2、__init__是当实例对象创建完成后被调用,然后设置对象属性的一些初始值,没有返回值,是一个实例方		法,即当创建一个新实例时,先调用__new__,再调用__init__。__new__的返回值(实例)将传递给				__init__方法的第一个参数,然后__init__给这个实例设置一些初始参数
    
    需要区分:
    
    	__setitem__:对象[key]=value触发
    	__getitem__:对象[key]触发
    	__setattr__:对象.key=value触发
    	__getattr__:对象.key触发
    
    面向对象的反射函数做区分:
    
    	hasattr(object,name):查看对象中是否含有name属性/方法,返回布尔值
    	getattr(object,name):从object中获取name属性/方法
    	setattr(object,name,value):给object设置name=value
    	delattr(object,name):删除object中name
    
    	isinstance():检查对象是否是类的对象,返回True或False
    	issubclass():检查一个类是否是另外一个类的子类,返回True或False
    
    既然选择了远方,只能风雨兼程
  • 相关阅读:
    结对编程的理解
    第1章 python基础
    第 3 章 前端基础之JavaScript
    第1 章 mysql数据库之简单的DDL和DML sql语句
    第 1 章 前端之html
    第 13 章 python并发编程之io模型
    第 2 章 前端基础之CSS
    第 4 章 前端基础之jquery
    第 11 章 python线程与多线程
    注册表 SAM
  • 原文地址:https://www.cnblogs.com/lzss/p/11481885.html
Copyright © 2020-2023  润新知