day29 上周复习
上周内容回顾
初始面向对象
class 类名(父类1,父类2):
静态属性 = "" # 静态属性,类方法
def __init__(self): # 初始化方法 def func(self): pass # 动态属性,方法
对象.类名 # 实例化,找init里面要对应
对象.方法名()
对象.属性名
组合 什么有什么,一个类的属性是另一个类的对象 # *****
class Course:
def __init__(self,name,price,period):
self.name = name
self.price = price
self.period =period
python = Course("python",19800,"6 mouths")
class Classes:
def __init__(self,name,course):
self.name = name
self.course = course
pys9 = Classes("python_s9",python)
print(pys9.course.name)
命名空间,类和对象分别存在不同的明明看空间,类永远不能调用对象,对象可以在找不到自己空间内的名字的时候去找类的
面向对象的三大特性,继承多态封装
单继承 # ****
父类(超类,基类)
子类(派生类):派生方法,派生属性
子类的对象调用的时候先调自己,自己没有才用父类
多继承 (面试) # *** 一般来说不会超过三个父类,不要超过三层
子类自己用就用自己的,如果没有就用离子类最近的那个父类的里面的方法
抽象类,接口类 # ** ,不是很重要主要是作为java对比 # ***** 面试必考
经典类,深度优先
新式类,广度优先
super 只能在python3中使用,根据mro广度优先顺序找上个类,并非单纯的找父类 # ****
多态 # *** 面试的时候会被问到,主要记忆鸭子类型以及和java的对照区别
鸭子类型,两个类里面有同名方法,比如list 和touple里面很多的方法但是也不需要非要划分在一个父类里面
封装
私有 __名字 ,在内的内部调用,外部是无法调用的 # **
属性
方法
静态方法
三个装饰器:
@property **** 规范,面试 @name.setter
@staticmethod *** 非要吧一个函数改成面向对象用的
@classmethod ***** 当一个方法只使用了类的静态变量时,就给这个方法加这个,默认传cls参数
使用场景比如修改私有的静态属性方法
day29 上周复习的更多相关文章
- $NOIp$提高组历年题目复习
写在前面 一个简略的\(NOIp\)题高组历年题目复习记录.大部分都有单独写题解,但懒得放\(link\)了\(QwQ\).对于想的时候兜了圈子的题打上\(*\). \(NOIp2018\ [4/6] ...
- python13_day4
上周复习 1,python基础 2,基本数据类型 3,函数式编程 函数式编程.三元运行.内置函数.文件处理 容易出问题的点 函数默认返回值为none,对于列表字典,传入引用. 1 2 3 4 5 6 ...
- 2019-2020-1 20199301《Linux内核原理与分析》第四周作业
Week4 MenuOS的构造 一.上周复习 计算机的三大法宝: 存储程序计算机: 函数调用堆栈: 中断. 操作系统的两把宝剑: 中断上下文-保存现场和恢复现场 进程上下文 二.Linux内核源代码简 ...
- C++复习-练习-1
上周做多媒体技术的作业,JPEG编码问题:FDCT.量化.逆量化和IDCT,只是简单套公式,但还是感觉自己C++好渣...太久没做,手生了,可怕可怕. 所以复习了下文件操作和..基础操作.这里贴一些当 ...
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
- vuex复习方案
这次复习vuex,发现官方vuex2.0的文档写得太简略了,有些看不懂了.然后看了看1.0的文档,感觉很不错.那以后需要复习的话,还是先看1.0的文档吧.
- 我的操作系统复习——I/O控制和系统调用
上篇博客介绍了存储器管理的相关知识——我的操作系统复习——存储器管理,本篇讲设备管理中的I/O控制方式和操作系统中的系统调用. 一.I/O控制方式 I/O就是输入输出,I/O设备指的是输入输出设备和存 ...
- PHP获取上周、本周、上月、本月、本季度、上季度时间方法大全
<?php echo date("Ymd",strtotime("now")), "\n"; echo date(&q ...
- Sql Server中查询今天、昨天、本周、上周、本月、上月数据
Sql Server中查询今天.昨天.本周.上周.本月.上月数据 在做Sql Server开发的时候有时需要获取表中今天.昨天.本周.上周.本月.上月等数据,这时候就需要使用DATEDIFF()函数及 ...
随机推荐
- RocketMQ环境搭建
1 源码下载 wget http://mirror.bit.edu.cn/apache/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip unzip ...
- POJ3301 Texas Trip 计算几何、随机化贪心
传送门--Vjudge 三分写法似乎有问题,可以去Udebug上看Morass的\(666\)个测试点的数据,我的乱搞有很多比正解答案小,但还是能在SPOJ和POJ过,可见数据之水. 可以对正方形的角 ...
- UOJ400/LOJ2553 CTSC2018 暴力写挂 边分治、虚树
传送门--UOJ 传送门--LOJ 跟隔壁通道是一个类型的 要求的式子中有两个LCA,不是很方便,因为事实上在这种题目中LCA一般都是枚举的对象-- 第二棵树上的LCA显然是动不了的,因为没有其他的量 ...
- [Spark][python]以DataFrame方式打开Json文件的例子
[Spark][python]以DataFrame方式打开Json文件的例子: [training@localhost ~]$ cat people.json{"name":&qu ...
- Libgdx学习记录28——创建Desktop程序
1.新建Java Project. 2.添加libs,添加相关的jar文件. 3. 在Project Build Path中,添加Reference. 4. 添加文件夹assets,并右键Build ...
- maven项目中 org.hibernate.MappingNotFoundException: resource:*.hbm.xml not found问题的解决方案
是因为*.hbm.xml没有放到resource的mapper下导致的 对于Maven工程,编译的工作是由Maven程序来完成的,而Maven默认只会把src/main/resources文件夹下的文 ...
- C# 大型电商项目性能优化(一)
经过几个月的忙碌,我厂最近的电商平台项目终于上线,期间遇到的问题以及解决方案,也可以拿来和大家多做交流了. 我厂的项目大多采用C#.net,使用逐渐发展并流行起来的EF(Entity Framewor ...
- Samba共享目录的多用户权限设置案例
下面根据实际工作中遇到的一个共享目录的多用户权限需求案例来说明下Samba用户权限的设置. 一.需求场景领导:李一(liyi)正式员工(zhengshiyuangong):刘二二(liuerer).于 ...
- 如何在java项目中使用lucene
lucene是一个开源的全文检索引擎工具包,但它不是一个成型的搜索引擎,它的功能就是负责将文本数据按照某种分词算法进行分词,分词后的结果存储在索引库中,然后根据关键字从索引库检检索. 那么应该如何使用 ...
- 关于五子棋游戏java版
一 题目简介:关于五子棋游戏 二 源码的github链接 https://github.com/marry1234/test/blob/master/五子棋游戏 三.所设计的模块测试用例.测试结果 ...