day3.7

day3.7-面向对象

01. 编程思想的转变

# 1. 面向过程编程(穷人思想)
# 遇到问题马上想到的是解决问题的步骤和方法
# 2. 函数式编程(小资思想)
# 遇到问题马上想到的是是否存在一个函数具备解决问题的能力,如果有直接用,如果没有造一个
# 3. 面向对象编程(符号思想)
# 工具:函数
# 遇到问题马上想的是有没有一个对象具备这个功能,如果有直接用,没有就创建这个对象(创建对象还要看有没有类,没有类还要创建类)
# 工具    -   类和对象

02. 类和对象

# 1. 认识类和对象
'''
类:具有相同功能和相同属性的对象的集合(一类事物的总称)    -   是抽象的概念
对象:对象就是类的实例(类的具体表现)

'''

# 2. 定义类(创建类)
'''
创建类就是用代码来描述清楚这个类是由那些相同功能(函数)和那些相同的属性(保存数据的变量)的的对象的集合
语法:
class 类名:
    类的说明文档
    类的内容(方法和属性)

说明:
class   -   关键字;固定写法
类名      -  由程序员自己命名
            要求:是标识符,不能是关键字   
            规范:见名知义;驼峰式命名,并且首字母大写;不是用系统已经使用的名字
:   -   固定写法
类的说明文档  -   本质就是多行注释
类的内容    -   由方法和属性组成,方法又分为对象方法、类方法和静态方法,属性又分为类属性和对象属性两种


'''

# 3. 创建对象
'''
对象又叫实例
语法:
类名()

'''

03. 对象方法

# 1. 方法   -   定义在类中的函数
'''
1.1 对象方法
1)怎么定义:将函数直接定义在类中
2)怎么调用:通过'对象.'的方式调用
3)特点:自带参数self,在通过对象调用对象方法的是湖,参数self不需要传参,系统会自动将当前对象传给self
        (self是谁调用指向谁)

1.2 类方法
1)怎么定义:在定义函数前加装饰器:@classmethod
2)怎么调用:通过'类.'的方法调用
3)特点:自带参数cls。在调用的时候,cls不用传参,在调用的时候系统会自动将当前类传给cls

1.3 静态方法
1)怎么定义:在定义函数前加装饰器:@staticmethod
2)怎么调用:通过'类.'调用
3)特点:没有特点

'''
class Person:
    def func1(self):
        print('对象方法')
    @classmethod
    def func2(cls):
        print('类方法')
    @staticmethod
    def func3():
        print('静态方法')

04. 常用的两个魔法方法

# 1. 魔法方法:类中两个下划线开头,以两个下划线结结尾,并且在特定情况下会自动调用的方法
# 2. 常用魔法方法
'''
1) __init__
在通过类创建对象的时候会被自动调用:
创建对象的时候需不需要参数,需要几个,看这个__init__除了self之外有没有额外参数,有几个

2) __reper__
在打印类的对象的时候会自动调用类中的__repr__,并且获取这个方法的返回值为打印结果(返回值必须是字符串)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值