day 23 面向对象的命名空间与组合】的更多相关文章

创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 1. 静态属性就是直接在类中定义的变量 2.动态属性就是定义在类中的方法. 其中类的数据属性是共享给所有对象的.  >>>id(egg.role) 4341594072 >>>id(Person.role) 4341594072  类的动态属性是绑定到所有的对象的. >>>egg.attack <bound method Pe…
python基础--面向对象 (1)面向过程VS面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等. 面向对象的程序设计的核心是对象(…
面向对象的命名空间: #属性:静态属性 (直接和类名关联或者直接定义在class下的变量) # 对象属性 (在类内和self关联,在类外和对象名关联的变量) # 动态属性(函数) class Foo: country = 'China' country_lst = ['China'] def __init__(self,name): self.name = name alex = Foo('alexander') egg = Foo('egon') alex.age = 90 alex.coun…
23 面向对象 -----特殊方法 1. isinstance(obj,类名) 判断对象是否是此类实例化或者此类的子类实例化出来的class A:passclass B(A):passb1=B()print(isinstance(b1,B)) # Trueprint(isinstance(b1,A)) # True2.issubclass(类名,类名1) 判断类名是否是类名1的子类class A:passclass B(A):passprint(issubclass(B,A)) #Truepri…
1,类属性:静态属性,方法:动态属性:双下init方法,每当我们调用类的时候就会自动的触发这个方法,默认传self,在init方法里面可以对self赋值:在类的内部,self就是一个对象,我们自己实例化的对象是类外部的对象 2,Python入门,给你一个需求,能翻译成Python语言,就入门了:面向对象入门,当你见到一个需求,能分析出这个问题是否适合用面向对象解决,如果适合,能有一些想法,怎么设计这个类,有几个属性,方法等等 3,一定要选好最适合的编程方式,不是所有的都适合用面向对象来解决的,面…
一. 类和对象命名空间类里 可以定义两种属性: 1. 静态属性 2. 动态属性 class Course: language = 'Chinese' def __init__(self, teacher, course_name, period, price): self.teacher = teacher # 授课老师 self.name = course_name # 课程名字 self.period = period # 课程周期 self.price = price # 课程价格 def…
类的命名空间 类与对象命名空间 类里 可以定义两种属性 静态属性 动态属性 类中的静态变量 可以被对象和类调用对于不可变数据类型来说,类变量最好用类名操作对于可变数据类型来说,对象名的修改是共享的,重新赋值是独立的 类里的名字有 类变量(静态属性量)+ 方法名(动态属性)对象里的名字 对象属性对象 —— > 类对象找名字 : 先找自己的 找类的 再找不到就报错对象修改静态属性的值对于不可变数据类型来说,类变量最好用类名操作对于可变数据类型来说,对象名的修改是共享的,重新赋值是独立的 实例化方法共…
类的继承 继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类 继承的特性是:子类会遗传父类的属性 继承是类与类之间的关系 为什么用继承 使用继承可以减少代码的冗余 对象的继承 python中支持一个类同时继承多个父类 class Parent1: pass class Parent2: pass class Sub1(Parent1,Parent2) pass 查找顺序:先自己-->类-->父类-->父类的父类 缺点:当继承多个的时候,功能与功能之间会混乱,顶多继承一个 属性查…
类命名空间 在一个类中它的函数(方法)属于动态属性,直接定义的变量属于静态属性 首先先定义一个类,并在这个类里面加入静态变量.属性等然后将一个对象实例化 class Fighter: #定义一个战机的类 price = 5000 #静态变量 def __init__(self,name,speed,atk,hp): self.name = name self.speed = speed self.atk = atk self.hp = hp def Attack(self): print('本次…
复习 '''1.面向过程与面向对象   过程:程序流程化,可拓展性差   对象:程序流程多样化,可拓展性强​   变量 | 函数 => 属性 | 方法:前者直接使用,通过所属者.语法调用​2.拥有名称空间的对象:有__dict__属性,该属性就是指向对象的名称空间   -- 文件 | 包(__init__.py文件) | 函数 | 类   -- 可以为__dict__属性添加值,简化为.语法,也可以对__dict__整体赋值一个字典​3.类与对象   -- 类是抽象的,不是真实存在:具有相同特征…