面向对象编程

面向对象的特性如下:

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

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

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

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

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

例子:

#定义类
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. json文件格式详解

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...

  2. 微言netty:不在浮沙筑高台

    1. 写作缘起 几年前,我在一家农业物联网公司,负责解决其物联网产品线.我们当时基于.net平台打造了一套实时数据采集系统,可以把数以百万级的传感器传送回来的数据采集入库并根据这些数据进行建模.在搭建 ...

  3. JarvisOJ Misc shell流量分析

    分析一下shell流量,得到flag 看着一大推的数据记录头都大了,并没有什么wireshark的使用经验,开始胡搞 首先用notepad++打开,搜索flag字样找到了一个类似于python脚本的东 ...

  4. Javascript初识之数据类型

    一.JavaScript概述 1.ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组 ...

  5. BZOJ 2200 道路与航线 (算竞进阶习题)

    dijkstra + 拓扑排序 这道题有负权边,但是卡了spfa,所以我们应该观察题目性质. 负权边一定是单向的,且不构成环,那么我们考虑先将正权边连上.然后dfs一次找到所有正权边构成的联通块,将他 ...

  6. spring security oauth2 client_credentials模

    spring security oauth2 client_credentials模 https://www.jianshu.com/p/1c3eea71410e 序 本文主要简单介绍一下spring ...

  7. 20175221 实验一《Java开发环境的熟悉》实验报告

    20175221 实验一<Java开发环境的熟悉>实验报告 (一)Linux运行结果 (二)IDEA下Java程序开发.调试:学会通过调试(Debug)来定位逻辑错误   试验IDEA是否 ...

  8. Vue工具

    首先介绍几个概念 webpack: 打包机.它能将我们的html,css,js.png,font进行打包,交给服务器. vue-cli: 用户生成Vue工程模板.(帮你快速开始一个vue的项目,也就是 ...

  9. dubbo和dubboX与微服务架构(dubbo一)

    一.传统三层架构模式的缺陷 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)web.业务逻辑层(Bu ...

  10. 第十五节:Expression表达式目录树(与委托的区别、自行拼接、总结几类实例间的拷贝)

    一. 基本介绍 回忆: 最早接触到表达式目录树(Expression)可能要追溯到几年前使用EF早期的时候,发现where方法里的参数是Expression<Func<T,bool> ...