- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python面向对象的编程方法
创建类和对象
面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象”
来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用。
类就是一个模板,模板里可以包含多个函数,函数里实现一些功能
对象则是根据模板创建的实例,通过实例对象可以执行类中的函数
;面向对象三大特性
面向对象的三大特性是指:封装、继承和多态。;第一步:将内容封装到某处;Self是一个形式参数,当执行obj1=Foo(‘francis,18)时,self等于obj1
当执行obj2=Foo(‘Alex’,73)时,self等于obj2
所以,内容其实被封装到了对象obj1和obj2中,每个对象中都有name和age属性。;1、通过对象直接调用被封装的内容
;2、通过self间接调用被封装的内容
执行类中的方法时,需要通过self间接调用被封装的内容
;定义类;;;#类的方法使用
class SmplClass: #定义一个类SmplClass
def info(self): #定义一个类的方法info()
print(我定义的类!)
def mycacl(self,x,y): #定义一个类的方法mycacl()
return x+y
sc=SmplClass() #实例化类SmplClass()
print(调用info方法的结果:)
sc.info()
print(调用mycacl方法的结果:)
print(sc.mycacl(3,4)) #其中调用类实例sc的mycacl()方法;#构造函数__init__的使用
class DemoInit:
def __init__(self,x,y=0): #定义构造方法,具有两个初始化
self.x=x
self.y=y
def mycacl(self): #定义应用初始化数据的方法
return self.x+self.y
dia=DemoInit(3) #用一个参数实例化类
print(调用mycacl方法的结果1:)
print(dia.mycacl())
dib=DemoInit(3,7) #调用两个参数实例化类
print(调用mycacl方法的结果2:)
print(dib.mycacl());#在类中调用类自身的方法和全局函数的实例
def coord_chng(x,y): #定义一个全局函数,模拟坐标值变换
return (abs(x),abs(y)) #定义x,y值求绝对值后返回
class Ant: #定义一个ant
def __init__(self,x=0,y=0): #定义一个构造方法
self.x=x
self.y=y
self.disp_point() #构造函数中调用类的方法disp_point()
def move(self,x,y): #定义一个方法move()
x,y=coord_chng(x,y) #调用全局函数,坐标变换
self.edit_point(x,y) #调用类中的方法edit_point()
self.disp_point() #调用类中的方法disp_point()
def edit_point(self,x,y): #定义一个方法
self.x += x
self.y += y
def disp_point(self): #定义一个方法
print(当前位置:(%d,%d) % (self.x,self.y))
ant_a=Ant() #实例化Ant()类
ant_a.move(2,4) #调用ant_a实例的方法move()
ant_a.move(-9,6) #调用ant_a实例的方法move();;;?ObjectCreator.new_attribute?=?foo?
#??你可以为类增加属性
?print?hasattr(
文档评论(0)