python类定义

定义一个类

class people():
	'我是一个人类'
	
	str = '我是公有属性'
	__str2 = '我是私有属性'

	def __init__(self,name,age):
		super(people, self).__init__()		#调用父类构造函数,非必须
		self.name = name
		self.age = age
	def printinfo(self):	#实例方法都需要至少有一个self参数,即使没有使用到self
		print('self.name' + self.name)
		#print('name' + name)		#报错,没有定义name变量
		print('没有self')

	@classmethod
	def classfun(cla):		#需要参数cla,控制类属性
		print('我是一个类方法')

	@staticmethod

	def staticfun():	#静态方法无需参数
		print('我是静态方法')
	def __add__(self,other):
		'加法运算符重载实现逻辑'
		return people(self.name + other.name,self.age + other.age)

	def __str__(self):
		'字符串运算符重载实现逻辑'
		return 'name = ' + self.name + '\nage = ' + self.age

	def __cmp__(self,other):
		'比较重载'

	def __myfun():
		'私有方法定义,无法被外部调用'


class peopleson(people):
def __init__(self):		#在执行子类构造函数之前先执行父类构造函数,构造函数也可以不写
	super(peopleson,self).__init__('null','null')	#调用父类构造函数
	people('null','null')							#调用父类构造函数
	print('子类构造函数执行')
	
if __name__ == '__main__':		#意思是在本函数中执行,不作为模块时
	print('自己用')
	czm = people('czm','1')
	czm.staticfun()
	czm.classfun()
	czm.printinfo()
	people.staticfun()
else:
	print('欢迎使用czm的模块')

类的自带属性

__dict__  返回下面属性的dict
__name__  类名
__doc__  文档
__module__  模块	
__bases__  父类

类的继承

class Father():

	def __init__()
posted @ 2017-05-21 22:17  岑忠满  阅读(239)  评论(0编辑  收藏  举报