前言
提示:这里可以添加本文要记录的大概内容:
python的类可以提高我们所书写的代码的复用性,以及写代码的效率,可以将类比作成一个模具。
提示:以下是本篇文章正文内容,下面案例可供参考
一、类的定义和实例的创建
定义类的保留字是:class
class Dog: #创建一个Dog类,类的名字是Dog
#创建完类之后添加属性和方法
name = "旺财" #添加属性
age = 2 #添加属性*2
#在没有其他方法调用时直接调用构造方法
#构造参数可以是无参也可以是有参的:
#无参:
def __init__(self):
pass
def spark(self):
print("我叫{},我今年{}岁".format(self.name, self.age))
Dog().spark()
#有参:
def __init__(self, n, a):
self.name = n # 对属性进行赋值
self.age = a
def spark(self):
print("我叫{},我今年{}岁".format(self.name, self.age))
#有参实例化:
dog = Dog("旺财", 2)
dog.spark())
运行结果:
我叫旺财,我今年2岁
二、类的继承
1、类的单继承
# 单继承示例,重写父类函数
class student(people): #继承
grade = "" #添加属性
def __init__(self, n, a, w, g):
people.__init__(self, n, a, w, )
self.grade = g
# 覆写父类方法
#定义方法
def spark(self):
print("我叫{},我来自{}年级".format(self.name, self.grade))
# student类进行实例化
to = student('阿龙', 10, 20, 3) # 继承的函数也要进行实例化,首先要创建对象才可以进行以下操作不创建会报错
to.spark()
2、类的多继承
#父类都是由以上类继承的
class tiancai(sparker,student):
def __init__(self,n,t,a,g,w):
sparker.__init__(self,n,t)
student.__init__(self,n,a,g,w)
print("{},主题:{},年龄:{}班级{}".format(self.name,self.topic,self.age,self.grade,self.werght))
q = tiancai("long","阿龙",20,12,60)
3、类的的私有方法和私有属性
私有变量:实例._类名__变量名
私有方法:实例._类名__方法名()
其实,Python并没有真正的私有化支持,但可用下划线得到伪私有。 尽量避免定义以下划线开头的变量!
(1)_xxx "单下划线 " 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量,
需通过类提供的接口进行访问;不能用’from module import *'导入
(2)__xxx 类中的私有变量/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通。),
" 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
(3)xxx 系统定义名字,前后均有一个“双下划线” 代表python里特殊方法专用的标识,如 init()代表类的构造函数。
总结
注意,要调用属性的时候一定要加上self.,忘了会出现未定义的错误
本次笔记是python的的类方法仅供参考
希望对你有益谢谢