• 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 + '
    age = ' + 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__()
  • 相关阅读:
    iostream迭代器操作"txt文本文件"无法写入的思考
    Qt 相对路径 绝对路径
    "lambda"和“bind”的初步思考
    "partition"和“stable_partition”的思考
    "accumulate"的思考
    顺序容器“inset”的思考
    C++重载函数 const形参 引用指针 const_cast
    C++ 可变参数的函数
    JDK8流式处理常用例子
    JDK8时间新API
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/6886388.html
Copyright © 2020-2023  润新知