组合: 夺命三问: 1.什么是组合? 组合指的是一个对象中,包含另一个或多个对象. 2.为什么要用组合? 减少代码的冗余. 3.如何使用组合? 耦合度: 耦: 莲藕 ---> 藕断丝连 - 耦合度越高: 程序的可扩展性越低. - 耦合度越低: 程序的可扩展性越高. 总结: - 继承: 继承是类与类的关系,子类继承父类的属性/方法,子类与父类是一种 “从属” 关系. - 组合: 组合是对象与对象的关系,一个对象拥有另一个对象中的属性/方法,是一种什么有什么的关系. # 组合实现 class Peo…
import os """ 通过文件的路径去打开文件 相对路径:相对当前的工作路径去定位文件位置 .:代表当前路径 ..:代表上一级路径(父级路径) 绝对路径:相对于电脑的根目录来进行定位 绝对路径:相对于电脑的根目录来进行定位(windows下面就是根目录) 电脑放在别的电脑还可以继续使用,需要用到OS模块 通过OS模块处理绝对路径 通过OS模块构造文件的绝对路径 os.path.dirname:获取路径的父级目录 os.path.join方法:做路径拼接 os其他方法:…
在<Python装饰器(Decorators )>一文中介绍了python装饰器的概念,日常写代码时有一个装饰器很常见,他就是内置的@property. 我们一步步的来接近这个概念. 一个初始示例如下: LeosWorkGround项目下有一个名为leo01.py的文件内容如下: # coding=utf-8 class Student(object): def __init__(self , first_name , last_name , age , hobby): self.first_…
前言 接着上一篇笔记,我们来看看内置装饰器property.staticmethod.classmethod 一.property装饰器 1. 普通方式修改属性值 code class Celsius: def __init__(self, temperature = 0): self.temperature = temperature def to_fahrenheit(self): return (self.temperature * 1.8) + 32 man = Celsius(-280…
python进阶04 装饰器.描述器.常用内置装饰器 一.装饰器 作用:能够给现有的函数增加功能 如何给一个现有的函数增加执行计数的功能 首先用类来添加新功能 def fun(): #首先我们定义一个函数 print('func running') #看到封装,我们首先想到的是函数 class MyFunc(): def __init__(self,f): #把函数和变量封装在一起 self.f=f self.count=0 def run(self): #间接的调用了封装的函数 self.co…
http://www.runoob.com/python3/python3-class.html https://www.imooc.com/learn/317 慕课网:987809563@qq.com,mk333 1-面向对象技术简介 2-定义类并创建实例 3-创建实例属性 4-初始化实例属性 5-访问限制 6-创建类属性 7-类属性和实例属性名字冲突 8-定义实例方法 9-方法也是属性-不懂 10-定义类方法 11-继承 12-继承-判断类型 13-继承-多态 14-继承-多重继承 15-继…
多态 1.什么是多态? 多态指的是同一种类型的事物,不同的形态. 2.多态的目的: “多态” 也称之为 “多态性”,目的是为了 在不知道对象具体类型的情况下,统一对象调用方法的规范(比如:名字). 多态的表现 “形式之一” 就是继承: - 先抽象,再继承 父类: 定制一套统一的规范.(比如: 方法名统一) 子类: 遵循父类的统一的规范.(比如: 子类遵循父类方法名的统一) 注意: 在python中不会强制限制 子类 必须要遵循 父类 的规范,所以出现了抽象类. # 动物类 class Anima…
exec内置函数的补充 exec: 是一个python内置函数,可以将字符串的代码添加到名称空间中; - 全局名称空间 - 局部名称空间 exec(字符串形式的代码, 全局名称空间, 局部名称空间) # 使用exec, code相当于局部名称空间中的名字 code = ''' global x x = 100 y = 20 def func(): pass def __init__(): pass ''' # 自定义的全局名称空间 global_dic = { 'x': 10000 } # 自定…
继承 1.什么是继承? 继承是一种新建类的方式,新建的类称之为子类或派生类,继承的父类称之为基类或超类. - 在Python中,一个子类可以继承多个父类.(面试可能会问) - 在其它语言中,一个子类只能继承一个父类. 2.继承的作用? 减少代码的冗余. 3.如何实现继承? 1) 先确认谁是子类,谁是父类. 2) 在定义类子类时, 子类名(父类名). # 父类 class Father1: x = 1 pass class Father2: pass class Father3: pass # 子…
面向对象--组合.封装.访问限制机制.property 组合 什么是组合? 组合指的是一个对象中,包含另一个或多个对象 为什么要组合? 减少代码的冗余 怎么用组合? # 综合实现 # 父类 class People: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex # 老师类 class Teacher(People): def __init__(self, name, age,…