zoukankan      html  css  js  c++  java
  • 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__()
  • 相关阅读:
    SD卡测试
    测试人员可能会遇到的问题
    HDU 1024 Max Sum Plus Plus
    HDU 1176 免费馅饼
    HDU 1257 最少拦截系统
    HDU 1087 Super Jumping! Jumping! Jumping!
    poj 1328 Radar Installation
    poj 1753 Flip Game
    HDU 1003 Max Sum
    HDU 5592 ZYB's Premutation(BestCoder Round #65 C)
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/6886388.html
Copyright © 2011-2022 走看看