Python学习笔记七
面向对象编程
面向对象的特性如下:
类:具有相同属性和方法的一类事物,成为类。
对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性。
封装:在类中对数据的赋值,类里面包含着类的数据和方法。
继承:一个类可以派生出子类,在父类定义的属性方法自动被子类继承。
多态:一个类可以有多个子类,每个子类继承父类的属性和方法,但是对父类的方法做了不同的实现,这就是同一个事物表现出不同的形态。
例子:
#定义类
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学习笔记七的更多相关文章
- Python学习笔记七-错误和异常
程序员总是和各种错误打交道,学习如何识别并正确的处理程序错误是很有必要的. 7.1错误和异常 1.错误 从软件方面来看,错误分为语法错误和逻辑错误两种.这两种错误都将导致程序无法正常进行下去,当Pyt ...
- python学习笔记七 初识socket(进阶篇)
socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- python学习笔记七--数据操作符
一.Python表达式操作符及程序:
- python学习笔记(七)、异常
在实际开发中,往往不会出现一个系统编写下来,没有出现任何一个bug.为处理这种会出现错误的地方,如除数为零的除法,python提供了非常强大的机制————异常处理机制. 1 异常 python使用异常 ...
- python学习笔记七——字典
4.3 字典结构 字典是Python中重要的数据类型,字典的由“键-值”对组成的集合,字典中的“值”通过“键”来引用. 4.3.1 字典的创建 字典由一系列的“键-值”(key-value)对组成,“ ...
- Python学习笔记七:pip
安装pip: 到github上下载pip:https://github.com/pypa/pip 解压后,在解压出来的文件夹中打开命令行,输入 python setup.py install 安装完毕 ...
- python学习笔记(七) 类和pygame实现打飞机游戏
python中类声明如下: class Student(object): def __init__(self, name, score): self.name = name self.score = ...
- python学习笔记(七):面向对象编程、类
一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...
- python学习笔记(七)-函数
函数 方法 功能说白了,函数就是把一堆代码组合到一起,变成一个整体.函数不调用不会被执行.作用在于提高代码的复用性.定义函数 def greet_user(): """关 ...
随机推荐
- Linux(Ubuntu)使用日记------vim复制内容到其他应用
1.用vim 打开一个文件,然后执行命令:reg 查看是否有 + 或者 × 号 或者执行:version 命令 查看是否有+clipboard 2.如果存在跳过此步骤.如果不存在:在终端输入 sud ...
- Python——正则模块
1.re模块是用来操作正则表达式 2.正则表达式——用来字符串匹配的 (1)字符组:[字符组] 例如[0123fdsa456*/-] [0-9] 等同于[0123456789] [a-z] 匹配小写 ...
- Python学习之路——函数的参数分类
今日内容 '''实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合*****形参:定义函数,在括号内声明的变量名,用来接受外界传来的值''''''注:形参随着函数的调用 ...
- 【坦克大战】Unity3D多人在线游戏(泰课的坦克大战--旋转的螺丝钉)
[坦克大战]Unity3D多人在线游戏 http://www.taikr.com/my/course/937 1.NetworkManager的介绍: 说明:选择固定生成时会自动寻找有StartPos ...
- Python【第一篇】python安装、pip基本用法、变量、输入输出、流程控制、循环
一.python安装 Ubuntu下 系统版本已经同时安装了python2和python3 如果没有python3,可以参考这个貌似是印度阿三的安装视频:http://v.youku.com/v_sh ...
- 关于ehcache缓存中eternal及timeToLiveSeconds和timeToIdleSeconds的说明
今天发现开发项目启动时有警告提示:cache 'xx' is set to eternal but also has TTL/TTI set,发现是ehcache缓存设置冲突 所以决定在此mark一下 ...
- 20175209 《Java程序设计》第三周学习总结
20175209 <Java程序设计>第三周学习总结 教材学习内容总结 第四章知识点 1.发展阶段: 面向机器——面向过程——面向对象(特点:封装性,继承性,多态性) 2.类: 类 声明变 ...
- Pandas系列(十一)-文件IO操作
数据分析过程中经常需要进行读写操作,Pandas实现了很多 IO 操作的API,这里简单做了一个列举. 格式类型 数据描述 Reader Writer text CSV read_ csv to_cs ...
- 《Java》第四周学习总结
20175301 李锦然 一:本周学习内容 1:学习第五章视频 2:做实验 第五章主要讲的是子类与父类的关系,子类的继承与多态,final类super类等内容 仓库地址https://gitee.co ...
- [物理学与PDEs]第1章第9节 Darwin 模型 9.1 拟静电模型及其修正形式
1. 拟静电模型: 当 $\cfrac{\omega}{c}\ll \cfrac{1}{c}\lra \omega\ll \cfrac{c}{l}$ 时, $$\bex \cfrac{1}{c}\cf ...