Menu
CoddyTech

方法

本课属于 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 作为第一个参数,但调用方法时不要传入它。

challenge icon

挑战

简单

在这个挑战中,你将实现一个银行系统。你将在一个文件中创建 BankAccount 类,并在另一个文件中使用它,以展示如何组织代码来提高可维护性。

你需要处理两个文件:

  • bank_account.py:在这里定义 BankAccount 类
  • driver.py:在这里导入这个类、创建账户并进行交易

在 bank_account.py 中创建一个 BankAccount 类,其中包含:

  1. 一个类属性 bank_name,设置为 "Python National Bank"
  2. 一个 deposit 方法,接收一个金额并将其加到账户余额中
  3. 一个 withdraw 方法,接收一个金额并将其从余额中扣除
  4. 一个 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:打印最终余额
# (在这里编写你的代码)
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: Python 在线编译器