说明Class之前,先写一个Python中Class的代码:

为了便于理解,首先定义三个类:OldMan 、 YoungMan 、Lawyer,其中Lawyer“多继承”前两个类。大概就是律师处理爸爸留给儿子的财产。

Class中的属性分为:基本属性和私有属性,

顾名思义,私有属性只能在当前类被使用,不能被其他类引用。比如OldMan中的名字和年龄__name __age,这是私有的,所以定义为私有属性(两个下划线),钱和车子则可以被继承,定为基本属性。

Class中的方法(也就是函数)分为:基本方法和私有方法,

如律师中的__init__(self,name,age,unuseless)仅能在Lawyer类中使用。

此外,__init__()是十分特殊的方法,当Class被调用时,它也会自动被调用。

一般用来给Class做初始化作用。

Class中的方法(也就是函数),在Class内部一定要写self(实例名),

因为Class直接指向内存,故一定要有实例名。在Class外部,对方法进行引用时,无需self。

另外,对于方法中的参数,用多少就要写多少,可以多写(如Lawyer.__init__中的unseless参数,只是输入了,但是没有被使用)。

引用Class类时,输入的参数严格按照__init__中定义的参数来,

比如a = Lawyer('太子',20,'45')。至于Lawyer方法中其它需要的参数,在引用该方法时再添加,如Lawyer.imformation('没什么用')。

***:Class引用时,可以直接改变其它Class中基本属性的值,

如程序运行结果可见,YoungMan.money和YoungMan.cars,经过Lawyer.distribute之后,值被改变了。

#定义“爸爸类”

class OldMan:

__name = '皇帝'

__age = 90

money = 1000000000

cars = '林肯加长版'

def imformation(self):

print('被继承者(爸爸)的信息:')

print('姓名:{} , 年龄:{} , 钱:{} , 车子:{}'.format(self.__name,self.__age,self.money,self.cars))

#定义“儿子类”

class YoungMan:

__name = '太子'

__age = 20

money = 0

cars = '自行车'

def imformation(self):

print('继承者(儿子)的信息:')

print('姓名:{} , 年龄:{} , 钱:{} , 车子:{}'.format(self.__name,self.__age,self.money,self.cars))

#定义一个“律师类”:

class Lawyer(OldMan,YoungMan):

#律师要给他们分配财产,就要先继承OldMan和YoungMan的信息(财产)

cars = []

money = 0

def __init__(self,name,age,unuseless):

OldMan.__init__(self)

YoungMan.__init__(self)

self.name = '太子'

self.age = '20'

def imformation(self,test):

OldMan.imformation(self)

YoungMan.imformation(self)

def distribute(self):

YoungMan.cars = [YoungMan.cars]

YoungMan.cars.append(OldMan.cars)

self.cars = YoungMan.cars

self.money = OldMan.money+YoungMan.money

print('继承财产之后:')

print('姓名:{} , 年龄:{} , 钱:{} , 车子:{}'.format(self.name,self.age,self.money,self.cars))

YoungMan.imformation(self)

a = Lawyer('太子',20,'45')

a.imformation('没什么用')

a.distribute()

b = YoungMan()

b.imformation()

结果:

被继承者(爸爸)的信息:

姓名:皇帝 , 年龄:90 , 钱:0 , 车子:[]

继承者(儿子)的信息:

姓名:太子 , 年龄:20 , 钱:0 , 车子:[]

继承财产之后:

姓名:太子 , 年龄:20 , 钱:1000000000 , 车子:['自行车', '林肯加长版']

继承者(儿子)的信息:

姓名:太子 , 年龄:20 , 钱:1000000000 , 车子:['自行车', '林肯加长版']

继承者(儿子)的信息:

姓名:太子 , 年龄:20 , 钱:0 , 车子:['自行车', '林肯加长版']

我觉得,目前掌握到这种程度,对于一些简单的面向对象编程,够用了,其它的日后深入

class在python中的意思_Python中类的理解,Class相关推荐

  1. python中初始化方法_Python中类的初始化特殊方法

    什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init__$,类似于java中的构造器,这个就是特殊方法,也叫作魔术方法.简单来说,特殊方法可以给你设计的类加上一 ...

  2. python中的引用类型_Python 中的引用和类属性的初步理解

    最近对Python 的对象引用机制稍微研究了一下,留下笔记,以供查阅. 首先有一点是明确的:「Python 中一切皆对象」. 那么,这到底意味着什么呢? 如下代码: #!/usr/bin/env py ...

  3. python如何定义类_Python中类的定义、继承及使用对象实例详解

    本文实例讲述了Python中类的定义.继承及使用对象的方法.分享给大家供大家参考.具体分析如下: Python编程中类的概念可以比作是某种类型集合的描述,如"人类"可以被看作一个类 ...

  4. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

  5. python定义静态变量_Python 中类的静态变量怎么理解

    Python使用函数默认值实现函数静态变量,如果是静态方法,可以使用@staticmethod标注. 一.Python函数默认值 Python函数默认值的使用可以在函数调用时写代码提供方便,很多时候我 ...

  6. python中列表常用方法_Python中列表的常用方法

    给列表添加元素 append方法 在列表最后追加元素 l1 = ['a', 'b', 'c', 'd', ] l1.append('e')print(l1)print(l1.append('e'))# ...

  7. python中pop函数_Python中的Pop函数

    python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...

  8. python中mod运算符_Python中的数学运算操作符使用进阶

    Python中对象的行为是由它的类型 (Type) 决定的.所谓类型就是支持某些特定的操作.数字对象在任何编程语言中都是基础元素,支持加.减.乘.除等数学操作. Python的数字对象有整数和浮点数, ...

  9. python中while嵌套循环_python中的while循环

    循环 目标 程序的三大流程  while 循环基本使用  break 和 continue  while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 -- 从上向下,顺 ...

最新文章

  1. 在DLL编程中调用模版类时出现的类似class“XXX”需要有 dll 接口由 class“XXX”的客户端使用的warning的解决方案...
  2. 老粮商谋定国际农民丰收节贸易会·万祥军:巨头跨国不上市
  3. python数独游戏源代码_使用Python编写数独游戏自动出题程序
  4. 几种常用的优化方法梯度下降法、牛顿法、)
  5. WdOS源码编译安装MySQL 5.5.25a
  6. 脚本化HTTP 取得响应 指定请求
  7. 如何极速极速搭建个人博客?Copy攻城狮用的这一招很优秀!
  8. (笔试题)和一半的组合数
  9. matlab p q的确定,基于MATLAB软件的P-Q分解法潮流计算 (1)
  10. 杭电2072 单词数
  11. 整理python笔记001(列表(深浅copy),元祖,字典,集合)
  12. Java网络编程从入门到精通(15):为什么要使用SocketAddress来管理网络地址
  13. 关于2019高压油管网格搜索可视化Python作图
  14. 为什么kafka客户端需要配置 /etc/hosts文件
  15. 计算机二级教程书pdf MS,全国计算机等级考试二级教程MS Office高级应用教学大纲4.pdf...
  16. HTML+CSS实战(哈罗单车首页)
  17. 3DUnity汽车尾气模拟
  18. 【HIN】异质信息网络分析与应用综述
  19. 教你如何免费使用微商工具,微信上一键添加,自动评论、点赞等系列功能,具有物理模拟人工点击没有封号性
  20. LFLytroDecodeImage-从原始lenslet图像解码Lytro光场

热门文章

  1. win10链接无线打印服务器,大师给您说win10系统连接惠普6960无线打印机的解决门径...
  2. 珠海公共自行车系统分析系列 - 前言
  3. 卓佳集团收购亚洲市场领导企业麦迪森太平洋 进一步拓展债务服务
  4. 他找到了区块链世界的灵魂:共识无价
  5. 《【西天取经】Go语言学习笔记:基本变量与类型》
  6. 浅谈计算机科学与现代教育技术,现代教育技术浅谈论文
  7. 腾讯与反腾讯联盟两大垄断集团之间的狗咬狗的搞笑互联网大战
  8. 已经摆在面前了,该不该上
  9. Java之jar打包
  10. Guns5.1版本多数据源配置问题