程序猿大战Python——面向对象——面向对象的概念

两个重要概念

==目标:==了解什么是类,什么是对象?

要掌握Python面向对象的特性,首先需要了解两个重要概念:类、对象。

我们通过公司职员-张三为例子来解释说明。

类是抽象的概念,指的是:对某些事物的描述。[模板]

对象是具体的概念,指的是:实实在在存在的个体。[填写]

例如,请判断以下哪些是类,哪些是对象?

(1)员工;类
(2)《陈翔六点半》里的演员妹爷;
(3)手机;类
(4)被8分钟残忍嘎腰子的那只羊;
(5)银行卡;类
(6)昆虫;类
(7)动物;类
(8)老王买的最新款iPhone 14 Pro;
(9)在对面马路上快速奔跑的Tank 300。

==总结:==

(1)类是()的概念,表示对某些事物的描述;==A、抽象==;B、具体;

(2)对象是具体的概念,表示实实在在存在的个体。

==目标:==掌握定义类的语法。

类是抽象的概念,指的是:对某些事物的描述。简单地说,类就是一个模板。

定义Python类语法:

class 类名:
    def 方法名(self):
        代码1
        代码2
        ...
    # 其他方法...

比如,我们都知道,小轿车是根据汽车图纸制造出来的,汽车图纸就是一个模板(类)。

在汽车图纸模板中,指定:制造出来的汽车必须能跑起来。

例如,一起来完成:

(1)定义一个汽车类;

(2)让汽车类能跑起来;

(3)执行程序,观察效果。

class Car:
    def run(self):
        print("汽车能跑起来...")
# 当仅定义了后,执行程序没有效果

==总结:==

(1)可以使用()关键字来定义Python类;==A、class==;B、def;

(2)注意:类是抽象的,仅定义了类并执行,没有执行效果。

对象

==目标:==掌握创建对象的语法。

对象是具体的概念,指的是:实实在在存在的个体。简单的说,对象就是通过类创建出来的实体。

创建对象语法:

对象名 = 类名()

调用方法语法:

对象名.方法名()

说明:

不用给self参数传递参数值。

比如,通过汽车图纸(模板)制造出能跑起来的小轿车(对象)。

例如,一起来完成:

(1)用对象模拟制造出一台小轿车;

(2)小轿车能跑起来;

(3)执行程序,观察效果。

class Car:
    def run(self):
        print("汽车能跑起来...")
​
# 1.创建对象
# 对象名 = 类名()
car = Car()
# 2.调用方法
# 对象名.方法名()
car.run()   # 不需要给self传递值

==总结:==

(1)创建对象的语法为:();==A、对象名 = 类名()==;B、对象名 = new 类名();

(2)当创建了对象和调用方法后,执行程序则有结果。

self关键字

==目标:==掌握self关键字的使用。

self是一个Python关键字,在面向对象中,self指向了对象本身。比如,创建了一个学生对象。

# 定义类
class Student:
    pass
​
# 创建对象
student = Student()

说明:self表示当前的,当前的对象。

例如,一起来完成:

(1)定义一个学生类,且学生在努力学习;

(2)创建一个对象,同时输出对象名、self,了解self的含义;

(3)再到学生类中,定义一个学生睡觉的行为,并分别通过对象名、self调用方法;

(4)执行程序,观察self的效果。

# 1.定义学生类  输出self
class Student:
    def study(self):  # 当前的,当前的对象
        print("=======================")
        print("正在努力学习!")
        print("===============",self)  # =============== <__main__.Student object at 0x0000028A576D2DF0>
        print("=======================")
​
    # 睡觉
    def sleep(self):
        # 类内部调用   self = 当前的对象
        # 对象名.方法名()
        # self.方法名()
        self.study()
​
# 2.输出对象名
stu = Student()
print(stu)  # <__main__.Student object at 0x0000021CACD02DF0>
# 调用
stu.study()  # self = 当前的对象
​
# 扩展
# 在类外面: 对象名.方法名()
# 类内部?

==总结:==

(1)self可以理解为:当前的、当前的对象;

(2)注意:在类内部使用【self.属性名】调用属性,使用()调用方法。==A、self.方法名()==;B、类名.方法名();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

困了就倒头睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值