类与对象
类和对象是面向对象编程的两个核心概念
面向对象编程语言
- 类: 一个模板, (人类)—是一个抽象的, 没有实体的
- 对象: (eg: 张三, 李四)
- 属性: (表示这类东西的特征, 眼睛, 嘴巴, 鼻子)
- 方法: (表示这类物体可以做的事情, eg: 吃饭, 睡觉,学习)
1、类
类是对一群具有相同特征或行为的事物的一个统称,是抽象的,不能直接使用。就像一个模板,是负责创建对象的。
特征 被称为 属性
行为 被称为 方法
2、对象
对象是由类创建出来的一个具体存在,可以直接使用
由哪一个类创建出来的对象,就拥有在哪一个类中定义的属性和方法
<先有类,再有对象>
3、类和对象的关系
类是模板,对象是根据类这个模板创建出来的。
类只有一个,而对象可以有很多个
不同的对象之间的属性可能会各不相同
1、定义类
1、定义简单类
语法格式:
class 类名:
def 方法1(self,参数列表):
pass
def方法2(self,参数列表):
在类的封装内部,self 标识当前调用方法的对象自己
在方法内:
可以通过self,访问对象的属性,或调用其他的对象方法
2、初始化方法
当使用类名()创建对象时,会 自动 执行以下操作:
1、为对象在内存中分配空间 —— 创建对象
2、为对象的属性设置初始值—— 初始化方法 (init)
这个初始化方法就是 init,是对象的内置方法,专门用来定义一个类具有哪些属性的方法
使用类名()创建对象时,会自动调用初始化方法
在初始化方法中设置初始值:
1、把希望设置的属性值,定义成__init__方法的参数
2、在方法内使用如下代码接收外部传递的参数
2、对象
class 人类(object):
# print('hello')
# 构造方法(魔术方法), 当创建对象的时候, 自动执行的函数
def __init__(self, name, age, gender):
# python解释器自动将对象传给self这个形参.
# 看self到底是什么东西?
# 将对象与该对象的属性绑定在一起.
# 调用对象的属性两种方式:
# - 张楠.name
# - self.name
self.name = name # 属性
self.age = age # 属性
self.gender = gender # 属性
print(self) # 实质上是一个对象, <__main__.人类 object at 0x7f4fdc4864a8>
# 方法(在类里面定义的函数, 叫做方法)
def play(self):
print("%s 正在打游戏..." %(self.name))
创建对象====根据模板(类)创建对象(真实存在)
张楠 = 人类("张楠", 10, 'male')
print("张楠:", 张楠)
看对象的属性
print(张楠.name)
print(张楠.age)
print(张楠.gender)
让对象执行方法
张楠.play()
输出结果为: