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__()
  • 相关阅读:
    CF1276F
    CF1082F
    CF1366G
    CF1221G
    CentOS7统计某个进程当前的线程数
    centos7备份系统日志
    mysql删除带外键约束的表的方法
    django.db.models.query.QuerySet格式的数据输出
    Linux命令大全
    django创建多对多表三种方法,和ORM操作增删改查
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/6886388.html
Copyright © 2011-2022 走看看