[博学谷学习记录]超强总结,用心分享|人工智能重启之路--Python面向对象编程--第五周学习记录

面向对象并不是一种技术,而是一种思想,是一种解决问题的最基本的思维方式! ==首先想到的是应该由什么样的主体去实现什么样的功能,再把该主体的属性和功能统一的进行封装,最后才去实现各个实体的功能。

1、面向对象中两个比较重要概念

☆ 对象

对象,object,现实业务逻辑的一个动作实体就对应着OOP编程中的一个对象!

所以:① 对象使用属性(property)保存数据!② 对象使用方法(method)管理数据!

☆ 类

对象如何产生?又是如何规定对象的属性和方法呢?

答:==在Python中,采用类(class)来生产对象,用类来规定对象的属性和方法!也就是说,在Python中,要想得到对象,必须先有类!==

为什么要引入类的概念? 类本来就是对现实世界的一种模拟,在现实生活中,任何一个实体都有一个类别,==类就是具有相同或相似属性和动作的一组实体的集合!==所以,在Python中,对象是指现实中的一个具体的实体,而既然现实中的实体都有一个类别,所以,OOP中的对象也都应该有一个类!

2、类的定义

在Python中,我们可以有两种类的定义方式:Python2(经典类)和 Python3(新式类)

经典类:不由任意内置类型派生出的类,称之为经典类

class 类名:
    # 属性
    # 方法

新式类:

class 类名(object):
    # 属性
    # 方法

3、类的实例化(创建对象)

类的实例化就是把抽象的事务具体为现实世界中的实体。

类的实例化就是==通过类得到对象!==

类只是对象的一种规范,类本身基本上什么都做不了,必须利用类得到对象,这个过程就叫作==类的实例化!==

基本语法:

对象名 = 类名()

在其他的编程语言中,类的实例化一般是通过new关键字实例化生成的,但是在Python中,我们不需要new关键字,只需要类名+()括号就代表类的实例。

案例:把Person类实例化为为对象p1

# 1、定义一个类
class Person(object):
    # 定义相关方法
    def eat(self):
        print('吃零食')
    def drink(self):
        print('喝可乐')
        
# 2、实例化对象
p1 = Person()
# 3、调用类中的方法
p1.eat()
p1.drink()
​
p2 = Person()

类中的self就是谁实例化了对象,其就指向谁

1、什么是魔术方法

魔术变量:__name____file__这些都是魔术变量(拥有特殊功能的变量)

在Python中,__xxx__()的函数叫做魔法方法,指的是具有==特殊功能==的函数。

魔术方法都有自己的触发条件:

__init__()当实例化对象时,其会自动被触发(被调用)

__del__()当手工删除对象或对象被销毁时,其会自动被触发(被调用)

2、__init__()方法(初始化方法或构造方法)

思考:人的姓名、年龄等信息都是与生俱来的属性,可不可以在生产过程中就赋予这些属性呢?

答:可以,使用__init__() 方法,其作用:实例化对象时,连带其中的参数,会一并传给__init__函数自动并执行它。__init__()函数的参数列表会在开头多出一项,它永远指代新建的那个实例对象,Python语法要求这个参数必须要有,名称为self。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值