关于Python中的类

微笑、不失礼 提交于 2020-01-17 00:08:47

写一下加强一下记忆

面向对象

首先,面向对象编程的概念一定是多加练习才能吃透掌握的
首先就是抽象 把要描述的东西抽象出来,在类里描述他的属性,方法
然后有了类,就可以创建实例.类就是图纸而实例就是造好的房子

Python中的对象包含了
ID

还有类型

当然面向对象最终要的就是暴露出来的接口,接口使使用者不用关注对象是怎么实现的,只需要接口来访问对象或者修改对象即可

当然组合,继承,多态也是很重要的概念,之前有写,这里就不赘述了

创建一个类

首先,一切皆对象,类也对象
整活
整个时间类

class Time(object):
	'''
	this is Time  class
	'''
	def __init__(self, h, m):
		self.hour = h
		self.minute = m
	
	def __str__(self):
		return '[%02d:%02d]' % (self.hour, self.minute)

	def showTime(self):
		print('[%02d:%02d]' % (self.hour, self.minute))

首先和C++不同,在类名后括号里说明了该类继承自哪个类,详细的在下面说,如果类名后直接是冒号,那么称为经典类

而三引号下面的文字是文字说明,也是注释

__init __是构造器,当成构造函数理解就好
__ str __等会在说

创建对象

t = Time(10,25)

就完事了

成员函数

直接在类里定义的函数
看上面的showTime
调用的话

t.showTime()

self

上面的函数参数第一个都是self,是什么呢?
这个self类似于C++中的*this指针,代表的是调用这个函数的对象
所以成员函数得整上一个
其实self写成啥都行
带火约定俗称写成self

其实吧
咱们不创建对象,直接调用showTime方法

Time.showTime()
# 指定报错,报的错我懒得复制过来了,大概就是少一个参数

# 那这样
t = Time()
Time.showTime(t)
# 这样子是可以成功执行的

成员变量

Python方便的一批,运行时就可以给对象增删属性
具体在__ init__赋值,看上面就完事了
__ init__是被自动调用的,剩下的明天

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!