一、类和对象
1.1 类(Class)与对象(Object)的定义
在Python中,类(Class)和对象(Object)是面向对象编程(OOP)的核心概念。
类(Class)
- 类是对象的蓝图或原型。它为对象提供了创建的方法。
- 类定义了对象的属性(数据)和行为(方法)。
- 类是抽象的,它不占用内存,直到被实例化为一个对象。
对象(Object)
- 对象是类的实例。当你创建一个对象时,你就是在类的基础上创建了一个具体的实例。
- 对象具有属性(数据)和方法(行为)。
1.2 类与对象案例解读
在 Python 程序中,把具有相同属性和方法的对象归为一个类,例如可以将人类、动物 和植物看作是不同的“类”。在使用类之前,必须先定义这个类。
1.2.1 类的实现
知识点(定义类)
class ClassName:
'''语句'''
- class:定义类的关键字
- ClassName:类的名称,Python 语言规定,类的首字母大写。
在 Python 程序中,类只有被实例化后才能够使用。类实例化以后会生成该类的一个实例,一个类 可以实例化成多个实例,实例与实例之间不会相互影响,类实例化以后就可以直接使用了。
代码实现(打印班级)
# 打印班级名称
class Mycalss: #定义类myclass
"""这是一个类""" #类的说明(通过多行注释)
def pp(self): #定义类方法pp()
print("我在奥兰熊Python基础1班上课") #方法pp的功能(要做的事情)
myclass = Myclass() #实例化类Myclass
myclass.pp() #调用Myclass类中的方法pp()打印文本方法
代码实现(银行账户)
这是一个"银行账户”的类的案例,以下是类的简单属性和方法:
- 属性
- account_number:账户号码
- balance:账户余额
- 方法:
- deposit:存入金额
- withdraw:取出金额
- get_balance:获取当前余额
# 银行账户”的类
class BankAccount:
"""银行账户类"""
def __init__(self, account_number, initial_balance=0):
"""构造方法,初始化账户号码和余额"""
self.__account_number = account_number
self.__balance = initial_balance
def deposit(self, amount):
"""存入金额"""
if amount > 0:
self.__balance += amount
print(f"存入 {amount} 元。")
else:
print("存入金额必须大于0。")
def withdraw(self, amount):
"""取出金额"""
if amount > 0 and amount <= self.__balance:
self.__balance -= amount
print(f"取出 {amount} 元。")
elif amount > self.__balance:
print("余额不足。")
else:
print("取款金额必须大于0。")
def get_balance(self):
"""获取当前余额"""
return self.__balance
def __str__(self):
"""返回账户的字符串表示"""
return f"账户号码:{self.__account_number}, 余额:{self.__balance} 元。"
# 创建银行账户对象
account = BankAccount('123456789')
# 存入1000元
account.deposit(1000)
# 取出500元
account.withdraw(500)
# 打印当前余额
print(f"当前余额:{account.get_balance()} 元。")
# 打印账户信息
print(account)