参考:博客 Vamei 、廖雪峰

面向对象概念


面向对象完全可以按照自然界生物分类法来理解。

当然,它不会有自然界那么复杂。

因为我专业的关系,因此个人觉得微生物来举例很容易理解。


所有的微生物都具有:形态微小,结构简单的特点,而且他们的繁殖速度都很快,他们的繁殖速度是可以计算的,如果知道时间的话。

微生物具体还可分为真菌类、病毒类等,他们分别又具有自己的特点。

比如,真菌类一般都具有细胞核,还可产生抗生素,而产生的的抗生素质量是可以计算的。

病毒类一般都没有细胞核,病毒会杀死细胞,杀死的数量也可以计算。

 class microbe(object):  # 父类
size = 'little'
structure = 'easy'
# 变量属性,也就是所有微生物都具有的属性 def Fanzhi(self, x, time): # 方法属性,微生物的繁殖数量
number = 1
number = number * (2**(time // x))
return number class zhenjun(microbe): # 子类
xibaohe = True
# 子类变量属性 def kangshengsu(self, k, m):
weight = 0
weight = weight + m / k
return weight
# 子类方法属性 class virus(microbe):#子类
"""docstring for virus"""
xibaohe = False#子类变量属性 def killcell(self, s, i):
num = 1
num = num * 3**(i // s)
return num
#子类方法属性
summer = zhenjun()
hn4 = virus()
print(summer.xibaohe)
print(summer.size)
print('number = ', summer.Fanzhi(2, 9))
print('抗生素质量为', summer.kangshengsu(4, 18), 'g')
print('杀死细胞数量为', hn4.killcell(3, 9), '个')
print('number = ',hn4.Fanzhi(2,8))

通过代码尝试,可以发现子类可以用父类的属性和方法属性,但是父类不可以用子类的。

定义对象summer(实例)属于真菌类,这样他就有了微生物类的类属性,以及真菌类的子类属性,以及它们的方法属性,简单来说,

就是所有的属性,

它可通过

summer.属性    来调用,

也就是   对象.属性

总结--引用自 博客Vamei


将东西根据属性归类 ( 将object归为class )

方法是一种属性,表示动作

用继承来说明父类-子类关系。子类自动具有父类的所有属性。

self代表了根据类定义而创建的对象。

建立对一个对象: 对象名 = 类名()

引用对象的属性: object.attribute

python面向对象-我的理解的更多相关文章

  1. Python 面向对象 基础

    编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...

  2. python 面向对象编程学习

    1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...

  3. python 面向对象学习

    ------Python面向对象初 下面写一个类的简单实用,以便方便理解类 #python 3.5环境,解释器在linux需要改变 #阅读手册查询readme文件 #作者:S12-陈金彭 class ...

  4. python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异

    1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html   1.__init__() 创建对 ...

  5. python 面向对象编程(一)

    一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义: class c ...

  6. Python 面向对象之一

    Python 面向对象之 类与属性 今天接触了一下面向对象,发现面向对象和之前理解的简直就是天壤之别,在学Linux的时候,一切皆文件,现在学面向对象了,so,一切皆对象. 之前不是一直在学的用面向函 ...

  7. Python面向对象篇之元类,附Django Model核心原理

    关于元类,我写过一篇,如果你只是了解元类,看下面这一篇就足够了. Python面向对象之类的方法和属性 本篇是深度解剖,如果你觉得元类用不到,呵呵,那是因为你不了解Django. 在Python中有一 ...

  8. #5 Python面向对象(四)

    前言 本节将是Python面向对象的最后一篇博文了,这节将记录类的特殊方法.特殊成员方法.旧类和新类的不同,以及一些其他知识.Go! 一.类的特殊方法 Python有三种特殊方法:实例方法.静态方法. ...

  9. #4 Python面向对象(三)

    前言 前两节讲解了Python面向对象的思想和Python类中各种变量的含义以及区别.肯定有小伙伴会问,类初始化时是否可以传入参数?如果有多个类中含有共同的函数方法,是否可以重复利用?本节就带着这些问 ...

随机推荐

  1. yield 表达式形式的应用

    import random foods=['banana','apple','peach','grape','pear'] def deco(func): def wrapper(*args,**kw ...

  2. P4755 Beautiful Pair

    题目 洛谷 做法 \(i≤x≤j,a[i]<\frac{a[x]}{a[j]}\) 考虑\(a[x]\)的贡献,单调栈预处理\(L,R\)能作为最大值的区间 枚举一端点,仅需另一端点满足条件即可 ...

  3. 【bzoj1299】[LLH邀请赛]巧克力棒(博弈论思维题)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1299 首先我们把每根巧克力棒看成一堆石子,把巧克力棒的长度看作石子的个数,那么原问题就 ...

  4. Anton and School - 2 (组合数学)

    题意:给你一串只有‘(’与‘)’的字符串,问你多少对括号,括号一定是左边一半的‘(’,右边一半是‘)’ )(()()   答案是:6 题解:枚举每个‘(’,此时设左括号左边有n个‘(’,它右边有m个‘ ...

  5. 【转】服务器.htaccess 详解以及 .htaccess 参数说明

    htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限 ...

  6. 汇编笔记 CALL(1)

    assume cs:code code segment start: mov ax, ;将AX通用寄存器设0 call s inc ax s: pop ax ;将数据从桟中取出 code ends e ...

  7. Dom4j quick start guide

    Parsing XML Using Iterators Powerful Navigation with XPath Fast Looping Creating a new XML document ...

  8. Python之flask总结

    一.flask      a.Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收htt ...

  9. js字符串转dom

    function parse2dom(str){ var div = document.createElement("div"); if(typeof str == "s ...

  10. myeclipse2017复制项目后如何改web context root

    点中项目,然后alt+enter,或者 然后