class在python中的意思_Python中类的理解,Class
说明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相关推荐
- python中初始化方法_Python中类的初始化特殊方法
什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init__$,类似于java中的构造器,这个就是特殊方法,也叫作魔术方法.简单来说,特殊方法可以给你设计的类加上一 ...
- python中的引用类型_Python 中的引用和类属性的初步理解
最近对Python 的对象引用机制稍微研究了一下,留下笔记,以供查阅. 首先有一点是明确的:「Python 中一切皆对象」. 那么,这到底意味着什么呢? 如下代码: #!/usr/bin/env py ...
- python如何定义类_Python中类的定义、继承及使用对象实例详解
本文实例讲述了Python中类的定义.继承及使用对象的方法.分享给大家供大家参考.具体分析如下: Python编程中类的概念可以比作是某种类型集合的描述,如"人类"可以被看作一个类 ...
- python中定义数据结构_Python中的数据结构—简介
python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...
- python定义静态变量_Python 中类的静态变量怎么理解
Python使用函数默认值实现函数静态变量,如果是静态方法,可以使用@staticmethod标注. 一.Python函数默认值 Python函数默认值的使用可以在函数调用时写代码提供方便,很多时候我 ...
- python中列表常用方法_Python中列表的常用方法
给列表添加元素 append方法 在列表最后追加元素 l1 = ['a', 'b', 'c', 'd', ] l1.append('e')print(l1)print(l1.append('e'))# ...
- python中pop函数_Python中的Pop函数
python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...
- python中mod运算符_Python中的数学运算操作符使用进阶
Python中对象的行为是由它的类型 (Type) 决定的.所谓类型就是支持某些特定的操作.数字对象在任何编程语言中都是基础元素,支持加.减.乘.除等数学操作. Python的数字对象有整数和浮点数, ...
- python中while嵌套循环_python中的while循环
循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 -- 从上向下,顺 ...
最新文章
- 在DLL编程中调用模版类时出现的类似class“XXX”需要有 dll 接口由 class“XXX”的客户端使用的warning的解决方案...
- 老粮商谋定国际农民丰收节贸易会·万祥军:巨头跨国不上市
- python数独游戏源代码_使用Python编写数独游戏自动出题程序
- 几种常用的优化方法梯度下降法、牛顿法、)
- WdOS源码编译安装MySQL 5.5.25a
- 脚本化HTTP 取得响应 指定请求
- 如何极速极速搭建个人博客?Copy攻城狮用的这一招很优秀!
- (笔试题)和一半的组合数
- matlab p q的确定,基于MATLAB软件的P-Q分解法潮流计算 (1)
- 杭电2072 单词数
- 整理python笔记001(列表(深浅copy),元祖,字典,集合)
- Java网络编程从入门到精通(15):为什么要使用SocketAddress来管理网络地址
- 关于2019高压油管网格搜索可视化Python作图
- 为什么kafka客户端需要配置 /etc/hosts文件
- 计算机二级教程书pdf MS,全国计算机等级考试二级教程MS Office高级应用教学大纲4.pdf...
- HTML+CSS实战(哈罗单车首页)
- 3DUnity汽车尾气模拟
- 【HIN】异质信息网络分析与应用综述
- 教你如何免费使用微商工具,微信上一键添加,自动评论、点赞等系列功能,具有物理模拟人工点击没有封号性
- LFLytroDecodeImage-从原始lenslet图像解码Lytro光场