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(): """关 ...
随机推荐
- Shell命令-文件及目录操作之file、md5sum
文件及目录操作 - file.md5sum 1. file:显示文件的类型 file命令的功能说明 用于辨识文件类型.通过 file 指令,我们得以辨识该文件的类型. file命令的语法格式 file ...
- Cut 'em all! CodeForces - 982C(贪心dfs)
K - Cut 'em all! CodeForces - 982C 给一棵树 求最多能切几条边使剩下的子树都有偶数个节点 如果n是奇数 那么奇数=偶数+奇数 不管怎么切 都会有奇数 直接打印-1 贪 ...
- mongoDB 文档操作_删
mongoDB 文档删除 MySQL对比 mysql delete from table where ... mongo db.collection.deleteOne(query) 删除函数 del ...
- unix文件系统中的硬链接和软连接
硬链接: 一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名.但是,Unix/Linux系统允许,多个文件名指向同一个inode号码. 这意味着 ...
- linux18.04下安装的jdk11.0.2
1.百度搜索jdk,选择jdk11.0.2,操作如下图: 2.下载完成,ctrl+alt+t打开终端并在/usr/local创建java文件夹 cd /usr/local sudo mkdir /us ...
- mysql5.7 修改root密码无法登陆原因
升级的mysql5.7修改完root账户密码后仍然无法登陆,查阅资料可能和user表的plugin 字段为空有关. 1.首先将my.ini中加入在[mysqld]节点上加skip-grant-tabl ...
- MYSQL 企业常用架构与调优经验分享
一.选择Percona Server.MariaDB还是MYSQL mysql应用源码:http://www.jinhusns.com/Products/Download/?type=xcj 1.M ...
- SQL Server数据库的备份和还
转:http://blog.csdn.net/zwj7612356/article/details/8188025 在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务 ...
- Spring Cloud使用样例
Spring Cloud Demo 项目地址:https://github.com/hackyoMa/spring-cloud-demo 组件 基于Spring Boot 2.0.4.Spring C ...
- 第九节:深究并行编程Parallel类中的三大方法 (For、ForEach、Invoke)和几大编程模型(SPM、APM、EAP、TAP)
一. 并行编程 1. 区分串行编程和串行编程 ①. 串行编程:所谓的串行编程就是单线程的作用下,按顺序执行.(典型代表for循环 下面例子从1-100按顺序执行) ②. 并行编程:充分利用多核cpu的 ...