两个重要概念
==目标:==了解什么是类,什么是对象?
要掌握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、类名.方法名();