Python之Class&Object用法详解
Python  /  管理员 发布于 7年前   272
类和对象的概念很难去用简明的文字描述清楚。从知乎上面的一个回答中可以尝试去理解:
对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
我觉得有一本书对这个类与对象描述的特别好:Head First Java第2版中文版,大家可以通过Java去学习类和对象。
class
class是用来定义类的。类在面向对象编程里面是很有用的,能够大大提升开发效率和代码维护性。直接上代码学习:
class student(object): def print_info(self): print("student's info is very important!")student1 = student()student1.print_info()
运行结果如图:
class student(): def __init__(self,name,gender): self.Name = name self.Gender = gender print("student's name is ",name,' and it is a ',gender)testman = student("Mike","Male")
这个类可以通过一个__init__ 进行初始化,相当于定义类了。在主代码中,先要进行实例化,即testman = student() 然后才能调用里面的方法。运行结果如下:
继承
关于继承,就是子类可以继承父类的公有函数。例如:
class Parent: def Family(self): print("we are family")class Child(Parent): passfather = Parent()son = Child()father.Family()son.Family()
在这里,Parent 类是父类,Child 类是子类,但是通过定义,继承了父类。所以在后面实例化之后,son 依然可以调用父类的函数。最后的运行结果如下:
override
当然,子类除了继承,还可以重写父类的函数功能。
class Parent: def Family(self): print("we are family")class Child(Parent): def Family(self): print("hey,i am son")father = Parent()son = Child()father.Family()son.Family()
在这个例子中,Child 类重写了父类函数里面的Family 函数,最后的运行结果如下:
super
super是一个超类。这个概念很抽象,但是用例子来说明一下就不会那么抽象了。
class Parent: def Family(self): print("we are family")class Child(Parent): def Family(self): print("hey,i am son") super(Child,self).Family() print("again, i am son")father = Parent()son = Child()father.Family()son.Family()
运行结果如下:
从上面的例子很容易看出,super 就是将父类的函数再调用了一次。
以上这篇Python之Class&Object用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号