方法
本课属于 Coddy Python 学习旅程的“面向对象编程”单元。第 5 课,共 64 课。
方法是属于类的函数。它们定义了对象可以执行的行为或操作。
下面是一个包含方法的类示例:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return result创建一个计算器对象:
my_calc = Calculator()调用一个不需要参数的方法:
my_calc.greet()调用带参数的方法:
sum_result = my_calc.add(5, 3)
print(sum_result)调用一个既打印内容又返回值的方法:
product = my_calc.multiply(4, 7)输出:
Hello! I'm a calculator.
8
4 × 7 = 28方法可以:
- 接收参数,例如
add(self, a, b) - 返回值,例如
return a + b - 直接打印输出,例如
print("Hello!") - 同时打印和返回
要点:方法定义了你的对象可以做什么。始终将 self 作为第一个参数,但调用方法时不要传入它。
挑战
简单在这个挑战中,你将实现一个银行系统。你将在一个文件中创建 BankAccount 类,并在另一个文件中使用它,以展示如何组织代码来提高可维护性。
你需要处理两个文件:
- bank_account.py:在这里定义
BankAccount类 - driver.py:在这里导入这个类、创建账户并进行交易
在 bank_account.py 中创建一个 BankAccount 类,其中包含:
- 一个类属性
bank_name,设置为 "Python National Bank" - 一个
deposit方法,接收一个金额并将其加到账户余额中 - 一个
withdraw方法,接收一个金额并将其从余额中扣除 - 一个
get_balance方法,返回当前余额
然后,在 driver.py 中导入你的 BankAccount 类,创建一个账户,存入 $100,取出 $30,并按以下格式打印余额:f"Current balance: ${my_account.get_balance()}"
亲手试试
from bank_account import BankAccount
# 创建一个账户并测试你的方法
my_account = BankAccount()
my_account.balance = 0 # 初始余额
# TODO:进行交易
# (在这里编写你的代码)
# TODO:打印最终余额
# (在这里编写你的代码)这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
自己练习: Python 在线编译器