三大特性:
1、封装:在类中对数据赋值、内部调用对外部用户是透明的,这使类变成了一个胶囊或容器,里面包含着类的数据和方法
2、继承:一个类可以派生出子类,在父类中定义的属性、方法会自动被子类继承
# class People:#经典类
class People(object):#新式类
def __init__(self,,age):
self.name = self.age = age
 
def eat(self):
print('%s is eating' %self.name)
 
def work(self):
print("%s is work hard"%self.name )
 
 
class Man(People): #子类继承People父类
def __init__(self,name,age,sex):
#People.__init__(self, name, age)
super(Man, self).__init__(name, age)#新式
self.sex = sex
 
def drink(self):
print("%s is drinking"%self.sex)
 
class Woman(People):
def get_brith(self):
print("%s is get" % self.name)
 
def eat(self):
People.eat(self)
 
 
m1 = Man("mmmmm",23,"男")
m1.eat()
m1.drink()
 
w1 =Woman("wwwww",22)
w1.get_brith()
w1.eat()# class People:#经典类
class People(object):#新式类
def __init__(self,,age):
self.name = self.age = age
 
def eat(self):
print('%s is eating' %self.name)
 
def work(self):
print("%s is work hard"%self.name )
 
 
class Man(People): #子类继承People父类
def __init__(self,name,age,sex):
#People.__init__(self, name, age)
super(Man, self).__init__(name, age)#新式
self.sex = sex
 
def drink(self):
print("%s is drinking"%self.sex)
 
class Woman(People):
def get_brith(self):
print("%s is get" % self.name)
 
def eat(self):
People.eat(self)
 
 
m1 = Man("mmmmm",23,"男")
m1.eat()
m1.drink()
 
w1 =Woman("wwwww",22)
w1.get_brith()
w1.eat()
 
3、多态:一种接口,多种实现
作用:接口重用
 
 
 
 
 
 
语法:
调用函数-->
 
方法
构造方法
析构方法:与构造函数正好相反,在实例释放、销毁的时候自动执行,通常用于做一些收尾工作,例如:关闭数据库链接或关闭一些临时文件
 
私有方法:def __eat():
 
 
 
两种查询策略;
广度优先:python 3.x python 2.x的新式类
深度优先:python 2.x 经典类是按深度优先的查询策略
 
 
 
 
 
 

Python成长笔记 - 基础篇 (七)python面向对象的更多相关文章

  1. Python成长笔记 - 基础篇 (一)python简介

    一.Python介绍 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),由吉多·范罗苏姆(Guido van Rossum)于1989年发明,第一个公开发行版发行于1991 ...

  2. Python成长笔记 - 基础篇 (四)函数

    1.面向对象:类(class) 2.面向过程:过程(def) 3.函数式编程:函数(def)----python   1.函数:http://egon09.blog.51cto.com/9161406 ...

  3. Python成长笔记 - 基础篇 (十二)

    本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 主题:学员管理系统 需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的 ...

  4. Python成长笔记 - 基础篇 (十一)

    回顾: 线程:资源的集合:内存共享,两个或多个线程同时修改一份数据时,造成结果可能不正确,必须加锁 进程:运行的最小单元 守护进程:在start之前设置setDemo() 队列queue:作用解耦,使 ...

  5. Python成长笔记 - 基础篇 (十)

    本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...

  6. Python成长笔记 - 基础篇 (六)python模块

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  7. Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...

  8. Python成长笔记 - 基础篇 (二)python基本语法

    Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观.它不像其他的静态语言如C.Pascal那样需要重复书写声明语句,也不像 ...

  9. Python成长笔记 - 基础篇 (十三)--堡垒机

    堡垒机架构 堡垒机的主要作用权限控制和用户行为审计,堡垒机就像一个城堡的大门,城堡里的所有建筑就是你不同的业务系统 , 每个想进入城堡的人都必须经过城堡大门并经过大门守卫的授权,每个进入城堡的人必须且 ...

随机推荐

  1. 第一章 删掉centos原有的openjdk并安装sun jdk

    一.卸载原有openjdk rpm -qa | grep java 之后,将展示出来的全部卸载掉,我这里是5个 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111 ...

  2. ios 关于状态栏的一些小知识

    一.改变状态栏颜色 状态栏分为两种颜色,默认的是黑色,这里想要改为白色: 分为两步: 第一步:在项目中找到plist文件,添加View controller-based status bar appe ...

  3. sql server数据库操作

    --插入整行数据 , '1983-08-29', 'A', 'A', 'A') --插入部分列数据 , '1983-08-29') --删除行记录 delete from person where n ...

  4. [问题]数据库MySQL和Navicat的乱码问题

    计算机中存储字符需要使用编码集,早期有ASCII集,但是随着技术的发展,ASCII集不能满足需求,出现了越来越多的字符,比如中文字符等.后来又发展出了Unicode.GB2312.utf8等字符集.字 ...

  5. spring boot 学习笔记(二) 构建web支持jsp

    一.必须将项目打包成war包 <packaging>war</packaging> 二.pom.xml加入依赖包 <dependency> <groupId& ...

  6. TDDL DataSource

    TDDL DataSource 分为 AtomDataSource GroupDatasource 他们两者没有依赖关系, 都实现了 JDBC 规范, 可以作为独立的 datasource 单独使用 ...

  7. ExtJs知识点概述

    1.前言 ExtJS的前身是YUI(Yahoo User Interface).经过不断的发展与改进,ExtJS现在已经成功发布到了ExtJS 6版本,是一套目前最完整和最成熟的javascript基 ...

  8. VBA使用的Randomize和DoEvents

    Randomize private function getInt() dim n,m as integer Randomize n=1 m=3 getInt=Int((m+1-n)*rnd + n) ...

  9. mvc AddImplicitRequiredAttributeForValueTypes

    1.AddImplicitRequiredAttributeForValueTypes (为值类型添加隐式必填验证),默认值 为true.刚在mvc view(html)中会为model的值类型属性( ...

  10. OSG配置问题

    BUILD_OSG_ARAPPERS: 这一项要选,不然后面编译自己的测试程序的时候,会报无法打开文件"osgIntrospectiond.lib"错误. Could not fi ...