- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
python⾯向对象练习题
python⾯向对象练习题
1,⾯向对象三⼤特性,各有什么⽤处,说说你的理解。
继承:解决代码重⽤问题
多态:多态性,可以在不考虑对象类型的情况下⽽直接使⽤对象
封装:明确的区分内外,控制外部对隐藏属性的操作⾏为,隔离复杂度
2,类的属性和对象的属性有什么区别?
类的属性:数据属性和函数属性,数据属性是所有对象共有的,函数属性是绑定对象使⽤的
对象的属性:对象是类的实例化
3,⾯向过程编程与⾯向对象编程的区别与应⽤场景?
⾯向过程:复杂的问题流程化,简单化应⽤场景:不再需要扩展了,监测脚本,⾃动部署脚本,软件解压安装
⾯向对象:特征与技能的结合体⼀切皆对象应⽤场景:⽤户需求经常变化,互联⽹应⽤,游戏,企业内部应⽤
4,类和对象在内存中是如何保存的。
类和对象的属性:以字典的形式保存的
5,什么是绑定到对象的⽅法、绑定到类的⽅法、解除绑定的函数、如何定义,如何调⽤,给
谁⽤?有什么特性
绑定到对象的⽅法:就应该由对象来调⽤,deftell_info(self):…obj.tell_info()
绑定到类的⽅法:就应该由类来调⽤,@classmethoddeffrom_conf(cls):…class.from_conf()
⾮绑定⽅法:不与类或对象绑定,谁都可以调⽤,@staticmethoddefcreate_id():…obj.create_if()/class.create_id()
6,使⽤实例进⾏获取、设置、删除数据,分别会触发类的什么私有⽅法
classA(object):
pass
a=A()
a[key]=val
a=a[key]
dela[key]
#classA(object):
#def__setitem__(self,key,value):
#self.__dict__[key]=value#
#def__getitem__(self,item):#
#returnself.__dict__[item]
#returnself.__dict__.get(item)#
#def__delitem__(self,key):
#delself.__dict__[key]##a=A()
#a[key]=val
#print(a.__dict__)#
#a=a[key]#
#print(a)
#dela[key]
#print(a.__dict__)
7,python中经典类和新式类的区别
经典类:py2没有继承object的类,以及它的⼦类都称之为经典类--深度优先
新式类:py3继承object的类,以及它的⼦类都称之为新式类--⼴度优先
8,⽰例1,现有如下代码,会输出什么:
classPeople(object):
__name=luffy
__age=18
p1=People()
print(p1.__name,p1.__age)
#print(p1.__name,p1.__age)
报错:
#AttributeError:Peopleobjecthasnoattribute__name
print(p1.__dict__)#{}
print(People.__dict__)
#{__module__:__main__,_People__name:luffy,
#_People__age:18,__dict__:attribute__dict__ofPeopleobjects,
#__weakref__:attribute__weakref__ofPeopleobjects,__doc__:None}
print(p1._People__name,p1._People__age)#luffy18
9,⽰例2,现有如下代码,会输出什么:
classPeople(object):
def__init__(self):
print(__init__)
def__new__(cls,*args,**kwargs):
print(__new__)
returnobject.__new__(cls,*args,**kwa
原创力文档


文档评论(0)