一、类的实例化:调用类产生对象的过程称为类的实例化,实例化的结果是一个对象,或称为一个实例 class People: def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def run(self): print('%s is running' %self.name) 实例化做了三件事 1、先产生一个空对象 2、自动触发类内部__init__函数的执行 3、将空对象,以及调用类括号内传入的参数,一同传给__init__,为对象定制独有的属性 obj=People('egon',18,'male') People.__init__(obj,'egon',18,'male') 会产生对象的名称空间,如何查看 print(obj.__dict__) 二;对象的操作 print(obj.name) obj.__dict__ obj.education='哈佛' del obj.name obj.age=19 print(obj.__dict__) 三:对象属性的查找顺序:先找对象自己的名称空间----》类的名称空间 class People: x=1 def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def run(self): self=obj print('%s is running' %self.name) obj.name obj=People('egon',18,'male') People.__init__(obj,'egon',18,'male') obj1=People('egon1',18,'male') People.__init__(obj,'egon',18,'male') obj2=People('egon2',18,'male') People.__init__(obj,'egon',18,'male') 1、类的数据属性:是给对象用的,而且直接共享给所有对象用的,内存地址都一样 print(People.x) People.x=11111 print(id(People.x),People.x) obj.x='obj================》' print(id(obj.x),obj.x) print(id(obj1.x),obj1.x) print(id(obj2.x),obj2.x) 2、类的函数属性:也是给对象用,但是绑定给对象用的,绑定到不同的对象就是不同的 绑定方法,内存地址都不一样,但其实只想都是同一个功能 print(People.run) <function People.run at 0x00000226E7C78A60> People.run(123123) People.run(obj) print(obj.run) print(obj1.run) print(obj2.run) 四:绑定方法的特殊之处: 1、 绑定给谁就应该由谁来调用, 2、谁来调用就会把谁当做第一个参数传入 class People: x=1 def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def run(self): self=obj print('%s is running' %self.name) obj.name def f1(): print('from f1') def f2(self): pass obj=People('egon',18,'male') People.__init__(obj,'egon',18,'male') obj1=People('egon1',18,'male') People.__init__(obj,'egon',18,'male') obj2=People('egon2',18,'male') People.__init__(obj,'egon',18,'male') obj.run() obj1.run() obj2.run() print(People.f1) People.f1() print(obj.f1) obj.f1() People.f1(obj) 五:一切皆对象:在python3中统一了类与类型的概念,类即类型 l=list([1,2,3]) print(type(l)) print(type(obj)) l.append(4)
继续阅读与本文标签相同的文章
下一篇 :
“为你推荐”背后的算法探秘
-
文末有奖! | 云起正当时 揭秘云时代企业的数据库建设之路
2026-05-18栏目: 教程
-
【阿里云新品发布·周刊】第27期:函数计算2.0重磅发布!直击函数计算核心价值
2026-05-18栏目: 教程
-
2019 DevOps 必备面试题——容器化和虚拟化
2026-05-18栏目: 教程
-
从零开始入门 K8s| K8s 的应用编排与管理 | 9月23号栖夜读
2026-05-18栏目: 教程
-
实习生4面美团Java岗,已拿offer!(框架+多线程+集合+JVM)
2026-05-18栏目: 教程
