python(类和继承的基础知识)
在c、c++语言中,经常会遇到这些,而且在C++ 中类的使用还是难点,对我而言学习了这么久,目前还是一知半解。
看过昨天我写的博客,就知道我是在复习Python的基础语法知识,今天也还在看,希望自己在复习的同时,能够以这种方式学习,同时还能带着即将开学的小伙伴一起熟悉这些基础命令。
跟着步伐去走(大神除外,只带着复习基础知识)
一、python类
1.创建类class类名():
属性
def 方法名(self,参数):
方法实现和代码块
例如:
class man():#创建类(类名)
foot=“脚”#属性
hand=“手”
body=“身体”
head=“头”
def eat(self):#方法名
print(“我可以吃东西”)#方法实现和代码块
def see(self):
print(“我可以看见东西”)
注意:如果只定义一个类,是不可以直接调用的,必须将类实例化成对象以后才能使用,才能更好的使用类里面对应的数据和方法。
对象的概念:
对象名1=类名()
对象名2=类名()
…
如果要调用对应的属性和方法,格式如下:
对象名.属性
对象名.方法()
liming=man()
liming.head
‘头’
liming.eat()
我可以吃东西
2.构造函数与析构函数
2.1构造函数(构造方法即是在队形创建的时候自动触发执行的方法的意思)
定义构造函数的格式为
class 类名():
属性
def_ init _ (self,参数):
初始化程序块
def 方法名(self,参数):
方法实现与代码块
可以使用def__ init__(self,参数)定义一个构造方法,例如:
class man():
foot=“脚”
hand=“手”
body=“身体”
head=“头”
def init(self):#定义构造函数
print(“我自动执行了”)
def eat(self):
print(“我可以吃东西”)
def see(self):
print(“我可以看见东西”)
输入:liming=man()
输出:我自动执行了
可以看到创建对象的时候就会自动触发构造方法下面的程序,如果需要进行一次初始化的时候,完全可以使用构造方法来实现。当然也可以在后买你增加参数
例如,在后面增加三个参数
def init(self,name,sex,height):
print(“我自动执行了”)
self.name=name
self.sex=sex
self.height=height
_____________________________________________________
_____________________________________________________
class man():
foot=“脚”
hand=“手”
body=“身体”
head=“头”
def init(self,name,sex,height):
print(“我自动执行了”)
self.name=name
self.sex=sex
self.height=height
def eat(self):
print(self.name+“我可以吃东西”)
def see(self):
print(self.name+“我可以看见东西”)
def say(self):
print(“我的身高是:”+str(self.height)+“我的性别是:”+self.sex)
因为在eat()等方法中添加了name属性,因此在引用对应的属性,需要在前面加上self.
即通过self.属性名
class man():
foot=“脚”
hand=“手”
body=“身体”
head=“头”
def init(self,name,sex,height):
print(“我自动执行了”)
self.name=name
self.sex=sex
self.height=height
def eat(self):
print(self.name+“我可以吃东西”)
def see(self):
print(self.name+“我可以看见东西”)
def say(self):
print(“我的身高是:”+str(self.height)+“我的性别是:”+self.sex)
liming=man(“李明”,“nan”,180)
2.2析构函数
析构函数与构造函数相反
def_ del _(self,参数):
借用上面的,再次使用,注意观擦
class man():
foot=“脚”
hand=“手”
body=“身体”
head=“头”
def init(self,name,sex,height):
print(“我自动执行了”)
self.name=name
self.sex=sex
self.height=height
def del(self,name,sex,height):
print(“我是析构方法,我执行了!”)
def eat(self):
print(self.name+“我可以吃东西”)
def see(self):
print(self.name+“我可以看见东西”)
def say(self):
print(“我的身高是:”+ str(self.height)+ “我的性别是:”+self.sex)
liming=man(“李明”,“男”,180)
liming=man(“李明”,“男”,180)
liming.say()
liming=man(“李明”,“男”,180)
如果重复执行,相当于重新创建了一个对象,而之前的由于进行了初始化之后,原对象就会销毁,所以会调用其析构函数方法,故而析构函数会执行。