首页 > 代码库 > Python--day7--面向对象编程进阶
Python--day7--面向对象编程进阶
介绍
学习记录。。。。
目录:
面向对象高级语法部分
字段
方法
属性
类
字段
普通字段
静态字段
方法
普通方法
类方法
静态方法
属性
普通属性
私有属性
字段
普通字段 属于对象, 实例变量,存在每个实例里面,进行实例的时候,开辟一个实例对象,
静态字段 属于类,类变量, 内存中存在类里面,没实例化,也存在。
方法
class Animal: def __init__(self,name): self.name=name hobbie = ‘meat‘ @classmethod ##类方法,不能访问实例变量 def talk(self): print("{} is talking".format(self.hobbie)) @staticmethod ##静态方法,不能访问类变量 和实例变量,大多情况不用,类的工具箱 def walk(): print(" is talking") @property ##属性,下面就不是方法了,变成了一个属性,但是依然可以访问实例和类变量 def habit(self): print("{} habit is xxoo".format(self.name)) d = Animal("Hequan") Animal.talk() d.talk() d.walk() d.habit meat is talking meat is talking is talking Hequan habit is xxoo
私有属性 __
self.__num=num
经典类: 深度有限
新式类:广度优先
类的特殊成员
__doc__ 打印注释
__module__ 表示当前操作的对象在那个模块
__class__ 表示当前操作的对象的类是什么
__init__ 构造方法,通过类创建对象时,自动触发执行
__del__ 析构方法,当对象在内存中被释放时,自动触发执行。执行完成后,统一销毁。
__call__ 对象后面加括号,触发执行
__dict__ 查看类或对象中的所有成员、
__new__ \ __metaclass__ 类的生成 调用 顺序依次是 __new__ --> __call__ --> __init__
反射
通过字符串映射或修改程序运行时的状态、属性、方法
hasattr
getattr
setattr
delattr
if __name__=="__main__":
server = WebServer(‘localhost‘,3306)
if hasattr(server,sys.argv[1]):
func = getattr(server,sys.argv[1]) ##获取执行后面加的值 如 start
func()
本文出自 “何全” 博客,请务必保留此出处http://hequan.blog.51cto.com/5701886/1886936
Python--day7--面向对象编程进阶