复习

1.面向对象编程
思想:角色的抽象,创建类,实例化,操作实例
2.面向对象的关键字
1.类的静态属性,存储在类的命名空间
2.类名.方法(对象),对象.方法
3.对象可以使用静态变量;类不可以使用对象里的属性
3.组合
一个类的对象是另一个对象的属性

学习内容

1.继承
1.一个类可以被多个类继承
一个类可以继承多个父类(python独有)
2.python3 --新式类,没有继承父类默认继承object类
3.子类拥有init时,不需要调用父类;同样,拥有待调用方法,也就不需要调用父类
4.父类中没有的属性(方法),子类中出现,叫派生属性(派生属性)
5.继承——减少代码的重复
6.继承表示一种子类是父类的关系
7.新式类继承顺序:广度优先
print(类名.mro) # 显示类的调用顺序,只在新式类中存在
经典类采用深度优先
8.super的本质:根据调用者节点位置的广度优先顺序来的

代码区

1. 子类,父类调用关系

class Animal:
def __init__(self,animal):
self.animal = animal
print('in animal init')
self.func()
def eat(self):
print('eat something')
def drink(self):
print('drink water')
def func(self):
print('in animal func') class Dog(Animal):
def __init__(self,kind):
self.kind = kind
print('in dog init')
def guard(self):
print('guard home') class Bird(Animal):
def egg(self):
print('egg')
def func(self):
print('in bird func') a1 = Dog('teddy')
# print(Dog.animal)
a2 = Bird('bird')

2.

class Animal:
def __init__(self,age):
self.age = age
def eat(self):
print('eat something')
def drink(self):
print('drink water')
def func(self):
print('in animal func') class Dog(Animal):
def __init__(self,age,kind):
Animal.__init__(self,age)
#super().__init__(age) # 只在新式类中有,python3中所有类都是新式类
self.kind = kind
def guard(self):
print('guard home') class Bird(Animal):
def egg(self):
print('egg')
def func(self):
Animal.func(self)
print('in bird func') a2 = Bird(11)
# a2.func()
super(Bird,a2).func() # 调用了父类的func

python之路——24的更多相关文章

  1. 【python之路24】装饰器

    1.装饰器的应用场景 通常IT公司的程序开发是分工的,例如某公司某个部门负责底层函数的开发,另一个部门利用其函数实现高级功能,那么如果负责底层开发的函数需要改动,一般来说不会直接在函数上进行修改,通常 ...

  2. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  3. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  4. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  5. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  6. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  7. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

  8. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作   堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...

  9. Python之路【第七篇】:线程、进程和协程

    Python之路[第七篇]:线程.进程和协程   Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

随机推荐

  1. ubuntu16.04 解决boot空间不足

    1. dpkg --get-selections |grep linux-image #查看已安装内核版本号 2. uname -a #查看现运行版本 3. sudo apt-get purge 版本 ...

  2. cocoapod podpackage 自动根据podfile生成framework实现二进制化,原创脚本,转载请注明出处

    #!/bin/bash # created by lichanghong ; mail: lichanghong@soyoung.com # XXX.sh  AFNetworking 3.0.0 se ...

  3. 页面商城总结(一)——HTML部分

    学习编程,与君共勉. 在做过一些页面并且参考了许多商城页面后,对代码的书写和风格也有所体会,再次将我的经验分享给大家,希望大家也能够写出整洁有效的代码.本文主要是针对排版的问题进行总结,代码量较少,希 ...

  4. Linux中访问Apache报403错误处理方法

    1.先说本地环境,脱离基础环境的解决策略都是耍流氓 (1)Linux:CentOS7.5 (2)Apache: Apache/2.4.6 (CentOS) (3)Apache的安装路径在 /usr/l ...

  5. Could not find method google() for arguments [] on repository container,rn 集成react-native-camera 出现此错误的解决方法

    (1) app/build.gradle android { compileSdkVersion buildToolsVersion "25.0.2" } compile (pro ...

  6. C#中的Cookie

    cookie属性: name字段为一个cookie的名称. value字段为一个cookie的值. domain字段为可以访问此cookie的域名. path字段为可以访问此cookie的页面路径. ...

  7. UTC,BJT时间换算-java

    题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千 ...

  8. AI之旅(1):出发前的热身运动

    前置知识   无 知识地图 自学就像在海中游泳   当初为什么会想要了解机器学习呢,应该只是纯粹的好奇心吧.AI似乎无处不在,又无迹可循.为什么一个程序能在围棋的领域战胜人类,程序真的有那么聪明吗?如 ...

  9. ImageUtil

    package com.rscode.credits.util; import java.io.File; import java.io.IOException; import java.util.A ...

  10. 20155208徐子涵 Exp 6 信息搜集与漏洞扫描

    20155208徐子涵 Exp 6 信息搜集与漏洞扫描 实验目的 掌握信息搜集的最基础技能与常用工具的使用方法 实验内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技 ...