面向对象编程

面向对象的特性如下:

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

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

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

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

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

例子:

#定义类
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. vue中使用Base64和md5和rsa

    https://blog.csdn.net/benben513624/article/details/88113459(copy) https://www.cnblogs.com/myfate/p/1 ...

  2. JAVA String类型和原型模式

    如上例所述,变量a,b和它们的值10,20都是存在栈里面,声明的所以String类型的引用也都是存在栈里.而字符串abc是存在字符串常量池中,new出来的String对象则是存在堆里. String ...

  3. 深入理解JVM(3)——类加载机制

    1.类加载时机 类的整个生命周期包括了:加载( Loading ).验证( Verification ).准备( Preparation ).解析( Resolution ).初始化( Initial ...

  4. Python实现聚类算法AP

    1.算法简介 AP(Affinity Propagation)通常被翻译为近邻传播算法或者亲和力传播算法,是在2007年的Science杂志上提出的一种新的聚类算法.AP算法的基本思想是将全部数据点都 ...

  5. IPC$概念及入侵方式研究

    catalogue . 什么是IPC$ . IPC$攻击方式 . 漏洞检测与防御措施 1. 什么是IPC$ IPC$(空会话连接)是windows系统内置的一个功能模块,它的作用有很多(包括域帐号枚举 ...

  6. Kubernetes之StatefulSet

    什么是StatefulSet StatefulSet 是Kubernetes中的一种控制器,他解决的什么问题呢?我们知道Deployment是对应用做了一个简化设置,Deployment认为一个应用的 ...

  7. Tuxedo 汇总

    ===================================C/S / Tuxedo 架构/ B/S 架构演进===================================Tuxed ...

  8. nginx使用ssl模块配置支持HTTPS访问,腾讯云申请免费证书

    开始我尝试用 let's encrypt 让http 变 https 官方:https://github.com/certbot/certbot 参考:https://www.cnblogs.com/ ...

  9. UE导航系统详

    配置 Navigation Crowd Manager Class 代理人管理类 可以自定义个 Navigation System Auto Create Navigation Data 导航数据在没 ...

  10. Codeforces 1101G(线性基)

    题目链接 题意 将序列尽可能分成多段使得任意$x \geq 1$段内的所有元素的异或和大于$0$问最多多少段 思路 首先,如果所有元素异或和等于$0$答案显然为$-1$,否则构造整个序列的线性基,这个 ...