温馨提示:本文最后更新于
2024-12-19 17:29:51
,某些文章具有时效性,若有错误或已失效,请在下方留言。面向对象编程(Object Oriented Programming, OOP
),模拟事物为对象(Object)
,每个对象都有自己的属性(attribute)
以及方法(methods)
。
对象与类
在 OOP 中,有类(Class
)以及对象(Object
)的概念,Class
相当于某一类事物的抽象
,相当于蓝图
,而 Object 是某一类事物的具现
,真实存在的实体
。
from turtle import Turtle
# Turtle 是类(Class),timmy 是对象(Object)
timmy = Turtle()
对象属性
对象属性的访问:Object
.
Attribute
my_screen = Screen()
# 访问对象的属性
print(my_screen.canvwidth)
对象方法
对象方法的访问:Object
.
Method
my_screen = Screen()
print(my_screen.canvwidth)
# 访问对象的方法
my_screen.exitonclick()
完整代码,如下所示
from turtle import Turtle, Screen
# Turtle 是类(Class),timmy 是对象(Object)
timmy = Turtle()
timmy.shape("turtle")
timmy.color("coral")
timmy.forward(100)
my_screen = Screen()
# 访问对象的属性
print(my_screen.canvwidth)
# 访问对象的方法
my_screen.exitonclick()
代码的执行效果,如下所示

Python 包
macOS
上 Python 包
安装的步骤如下:
1、按照 PyCharm
-> Settings…
打开设置窗口

2、打开项目Project: day16-start
菜单中的 Python Interpreter

3、点击左上角的+
号,在弹出的窗口中,搜索需要的 python 包,这里以prettytable
包为例。

4、Python 包安装完成后,即可直接引用包
import prettytable
修改对象属性及方法调用
from prettytable import PrettyTable
table = PrettyTable()
table.field_names = ["Pokemon Name", "Type"]
table.add_row(["Pikachu", "Electric"])
table.add_row(["Squirtle", "Water"])
table.add_row(["Charmander", "Fire"])
print(table)
# 修改对象的属性
table.align = "l"
print(table)
打印效果,如下图所示

OOP 版本咖啡机
起始代码包含Menu
、CoffeeMaker
以及MoneyMachine
类,如下所示
oop-coffee-machine-start.zip
zip文件
2.0K
from menu import Menu, MenuItem
from coffee_maker import CoffeeMaker
from money_machine import MoneyMachine
money_machine = MoneyMachine()
coffee_maker = CoffeeMaker()
menu = Menu()
is_on = True
while is_on:
options = menu.get_items()
choice = input(f"What would you like? ({options}): ")
if choice == "off":
is_on = False
elif choice == "report":
coffee_maker.report()
money_machine.report()
else:
drink = menu.find_drink(choice)
if coffee_maker.is_resource_sufficient(drink) and money_machine.make_payment(drink.cost):
coffee_maker.make_coffee(drink)
© 版权声明
THE END
暂无评论内容