面向对象编程

面向对象的特性如下:

  类:具有相同属性和方法的一类事物,成为类。

  对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性。

  封装:在类中对数据的赋值,类里面包含着类的数据和方法。

  继承:一个类可以派生出子类,在父类定义的属性方法自动被子类继承。

  多态:一个类可以有多个子类,每个子类继承父类的属性和方法,但是对父类的方法做了不同的实现,这就是同一个事物表现出不同的形态。

例子:

#定义类
class Dog:
name='egon' #静态属性
def bule(self): #定义一个方法
print("%s 汪汪汪" %Dog.name)
f=Dog() #把这个类实例化,相当于创建了一个对象
f.bule() #调用类中的方法
结果:

C:\Users\yangjianbo\AppData\Local\Programs\Python\Python36\python.exe C:/Users/yangjianbo/PycharmProjects/untitled/第七课面向对象/dog.py
egon 汪汪汪

实例化

  调用类的时候,会在内存中打开一个空的空间,类会把传入的参数

__init__函数

  名称:构造函数

  作用:类的实例初始化

类变量

  作用:大家共用的属性,节省开销。

析构函数:在实例释放和销毁的时候,执行析构函数,通常做一些扫尾工作。

  def __del__(self):

私有方法

  在方法前面加__

私有属性

  在属性前面加__

继承

  先写一个父类:

  例子:

class Animal(object):
def __init__(self,name,age):
self.name=name
self.age=age
class Person(Animal):
def __init__(self,name,age,aggr):
Animal.__init__(self,name,age)
self.aggr=aggr
class Dog(Animal):
def __init__(self, name, age, aggr):
Animal.__init__(self,name,age)
self.aggr = aggr
egg=Dog('egon',18,'bbbb')
print(egg.name)

多继承:

  

经典类:

class Jiaoshi:
def __init__(self,name,age):
self.name=name
self.age=age
class Jiaoshou(Jiaoshi):
def __init__(self,name,age,xingwei):
Jiaoshi.__init__(self,name,age) #经典类的写法
self.xingwei=xingwei
b=Jiaoshou('yangjianbo',18,'sleep')

新式类:

class Jiaoshi(object):
def __init__(self,name,age):
self.name=name
self.age=age
class Jiaoshou(Jiaoshi):
def __init__(self,name,age,xingwei):
super(Jiaoshou,self).__init__(name,age) #新式类的写法
b=Jiaoshou('yangjianbo',18,'sleep')

    

    

  

  

Python学习笔记七的更多相关文章

  1. Python学习笔记七-错误和异常

    程序员总是和各种错误打交道,学习如何识别并正确的处理程序错误是很有必要的. 7.1错误和异常 1.错误 从软件方面来看,错误分为语法错误和逻辑错误两种.这两种错误都将导致程序无法正常进行下去,当Pyt ...

  2. python学习笔记七 初识socket(进阶篇)

    socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  3. python学习笔记七--数据操作符

    一.Python表达式操作符及程序:

  4. python学习笔记(七)、异常

    在实际开发中,往往不会出现一个系统编写下来,没有出现任何一个bug.为处理这种会出现错误的地方,如除数为零的除法,python提供了非常强大的机制————异常处理机制. 1 异常 python使用异常 ...

  5. python学习笔记七——字典

    4.3 字典结构 字典是Python中重要的数据类型,字典的由“键-值”对组成的集合,字典中的“值”通过“键”来引用. 4.3.1 字典的创建 字典由一系列的“键-值”(key-value)对组成,“ ...

  6. Python学习笔记七:pip

    安装pip: 到github上下载pip:https://github.com/pypa/pip 解压后,在解压出来的文件夹中打开命令行,输入 python setup.py install 安装完毕 ...

  7. python学习笔记(七) 类和pygame实现打飞机游戏

    python中类声明如下: class Student(object): def __init__(self, name, score): self.name = name self.score = ...

  8. python学习笔记(七):面向对象编程、类

    一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...

  9. python学习笔记(七)-函数

    函数 方法 功能说白了,函数就是把一堆代码组合到一起,变成一个整体.函数不调用不会被执行.作用在于提高代码的复用性.定义函数 def greet_user(): """关 ...

随机推荐

  1. FJUTOJ-周赛2016-11-25

    注:fjutoj基本每周都有一次周赛,欢迎大家都来参加! 网址:http://59.77.139.92/ 或 acm.fjut.edu.cn A题 题意:一年中,每个月有可能亏x 元,有可能赚y 元, ...

  2. Prince and Princess HDU - 4685(匹配 + 强连通)

    Prince and Princess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Othe ...

  3. ZOJ 4097 Rescue the Princess

    在这个物欲横流的社会 oj冷漠无情 只有这xx还有些温度 越界就越界吧  wrong 怎么回事.... 给出一个图 然后给出q次询问 问是否存在v和w分别到u的路径且边不重复 在边双连通分量中 任意两 ...

  4. 如何学习FPGA

    如何学习FPGA 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/k331922164/article/details/44626989 PS:笔者强 ...

  5. django restframework permission

    与 authentication 和 throttling 一起,permission 决定是应该接受还是拒绝访问请求.权限检查总是在视图的最开始处运行,在任何其他代码被允许进行之前.权限检查通常会使 ...

  6. java 11 Stream 加强

    Stream 是 Java 8 中的新特性,Java 9 开始对 Stream 增加了以下 4 个新方法. 1) 增加单个参数构造方法,可为null Stream.ofNullable(null).c ...

  7. tomcat8 源码分析 | 组件及启动过程

    tomcat 8 源码分析 ,本文主要讲解tomcat拥有哪些组件,容器,又是如何启动的 推荐访问我的个人网站,排版更好看呦: https://chenmingyu.top/tomcat-source ...

  8. NLP相关问题中文本数据特征表达初探

    1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...

  9. Docker下安装rabbitmq

    拉取镜像 docker pull rabbitmq:-management 启动镜像(默认用户名密码),默认guest 用户,密码也是 guest docker run -d --: -p : rab ...

  10. 第五节: EF高级属性(一) 之 本地缓存、立即加载、延迟加载(不含导航属性)

    一. 本地缓存 从这个章节开始,介绍一下EF的一些高级特性,这里介绍的首先介绍的EF的本地缓存,在前面的“EF增删改”章节中介绍过该特性(SaveChanges一次性会作用于本地缓存中所有的状态的变化 ...