Python 3.5中的新特性之一是类型提示,其灵感来自mypy。
打字:PEP 484 - 打字提示。
我想测试它,但它没有按预期工作。
import typing
class BankAccount:
def __init__(self, initial_balance: int = 0) -> None:
self.balance = initial_balance
def deposit(self, amount: int) -> None:
self.balance += amount
def withdraw(self, amount: int) -> None:
self.balance -= amount
def overdrawn(self) -> bool:
return str(self.balance < 0)
my_account = BankAccount(15)
my_account.withdraw(5)
print(type(my_account.overdrawn()))
结果是:
<class 'str'>
我本来期望一个错误,因为我期望 abool
作为返回类型。我在 Python 3.5 (docker) 和本地测试了它。我错过了什么,让它发挥作用吗?这种打字在运行时不起作用吗?