面向对象及作业

面向对象

1.编程思维------不同程序员解决问题的思维模式

1)面向过程-----解决整个问题具体的步骤(基本语法,逻辑)

2)函数式编程----解决一个问题(函数)

3)面向对象------解决一类问题(类、对象(变量、函数))

2.类

1)定义:拥有相同功能、相同属性的对象的集合

对象就是类的实例-----就是类的一个元素

简之:类就是类别,抽象的概念

如:list是类,[10,20,30]是列表的对象

2)创建类-----用代码描述这个类是拥有那些相同功能和那些属性的对象的集合

语法:

class 类名:

​ 类的说明文档

​ 类的内容

说明:class----关键字 类名—自己命名 (采用驼峰式命名并且首字母大写,从第二个单词开始单词首字母大写)

类的说明文档-------多行注释

类的内容 由方法(对象方法、类方法、静态方法)和属性(对象属性、类属性)组成

​ 方法----定义在类中的函数 属性------定义在类中的变量

如:

class Person:

"""人类""

num=61-----属性

def eat(self):-----eat----方法

	print"吃饭"

3)创建对象

有类才有对象

语法:类名( )------创建指定类对象的对象,并且将对象返回

p1=Person( )

4)类中的方法

定义在类中的函数,用来描述类具备的功能,实质就是函数

方法一:对象方法

class Adef fun1(self):
        print("对象方法")
        
a=A()
a.fun1()#通过对象来调用

定义:直接定义在类中的函数

调用:对象.XXX( )

特点:自带一个参数self,通过对象调用方法的参数self不用传参,系统会自动将当前对象传给self(self–谁调用,就指向谁)

什么时候用:如果实现函数功能需要用到对象属性就用对象方法

方法二:类方法

class A@classsmethod
	def fun2(cls,x,y):
        print("类方法")
        
        
A.fun2(x=0,y=20)

定义:在函数前加装饰器"@classmethod"

通过:类.XXX() 的调用

特点:自带参数cls,不需要传参,系统自动将当前类传给cls。

什么时候用:如果实现函数功能不需要对象属性需要类就是用类方法

方法三:静态方法

在函数前加装饰器"@staticmethod"

class A@staticmethod
	def fun3():
        print("静态方法")

A.fun3( )

调用-----类.XXX( )

特点:没有特点

什么时候用:实现函数功能既不需要对象属性也不需要类

4.魔法方法

方法名:以’——‘开头’——'结尾的自带方法

所有的魔法方法都会在特定的情况下自动调用

常用的魔法方法:——init——方法、——repr——方法

1.——init——方法(每次创建类的对象时候会自动调用类中——init——方法)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zl9pfjec-1659611557896)(E:\BaiduSyncdisk\前锋学习\第三周\day4\图1.jpg)]

在类中添加——init——方法时,除了方法名和方法类型不能动,可以随意添加参数和随意添加函数体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rMBiNzzO-1659611557900)(E:\BaiduSyncdisk\前锋学习\第三周\day4\图2.jpg)]

创建类的对象的时候需不需要参数,需要几个参数,由类中——init——方法决定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZMu8Fi7g-1659611557901)(E:\BaiduSyncdisk\前锋学习\第三周\day4\图3.jpg)]

2.——repr——方法(打印对象的时候会自动调用对应类中的方法,来定制打印规则(函数的返回值是什么,对象的打印结果就是什么))

返回值必须式字符串

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BRjJ52RA-1659611557902)(E:\BaiduSyncdisk\前锋学习\第三周\day4\图4.jpg)]

def __repr__(self)
return str
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值