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()函数及 ...
随机推荐
- C# 邮箱的使用
using System; using System.Collections.Generic; using System.ComponentModel; using System.Configurat ...
- java线程池和中断总结
目录 java线程池和中断总结 一. 线程池的使用 二. java中断机制 中断的处理 三. 线程间通信机制总结 java线程池和中断总结 本系列文是对自己学习多线程和平时使用过程中的知识梳理,不适合 ...
- 使用xshell连接服务器,数字键盘无法使用解决办法
打开会话管理器,选中需要设置的服务器连接,右键->属性 选中 终端->VT模式->初始数字键盘模式->设为普通 保存,重新连接即可.
- subprocess.Popen指令包含中文导致乱码问题解决
其实解决起来非常简单,如果了解到Windows中文系统编码为GB2312的话 只需将你包含中文的指令字符串编码为GB2312即可 cmd = u'cd 我的文档' cmd.encode('gb2312 ...
- SQL行转列汇总 (转)
PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )A ...
- ASPCMS_判断语句if标签的使用
这几天在仿个企业站,又用到了ASPCMS.这个CMS系统支持响应式模板——视访问设备而使用不同的模板,这样PC.手机都能兼顾. ▼官方给出的说明: 1.满足条件则显示 {if:条件语句} 显示内容 { ...
- wordcount程序中的应用与拓展
设计思路: 关键是思路,首先知道 单词, 行,字符, 他们有什么特点: 1.单词,标准的是遇到空格后,单词数,自动加一. 2.行是以\n结束的, 也就是说, 遇到\n行数加一,当然也视你的操作系统而言 ...
- Microsoft Visual Studio 2013安装及试用
我是在网上下载的vs2013版的安装包,下载的是压缩文件,解压后是2.86GB.安装包下载完成后我们就可以进入安装了. 同时建议最好在互联网连接的情况下安装. 打开下载好的文件,我们要选择.exe可执 ...
- Liinux 学习心得
Linux 内核学习心得 姬梦馨 原创作品 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 反汇编一个简 ...
- Timer定时执行
//定时器 public void timeTask(String hh,int n) {//hh="8:30:00",n=12 Timer timer = new Timer() ...