知识点总结:
- 包与模块管理
- 面向对象
包与模块管理
面向对象
-
面向对象基本思想:
封装,继承,多态: -
对象间的关系:
聚合:可分别独立存在的对象聚合在一起形成的整体。
复合(组合):不可分离的对象组合在一起的整体,一旦销毁同时终止生命周期。
依赖:对象间依赖而存在,如空气之于鸟
关联:最弱的联系
面向对象编程demo
:
在工程下新建main.py文件:
import datetime
class Book:
# 预定义函数
# 构造函数
def __init__(self, title, price, author, publisher, date):
self.title = title
self.price = price
self.author = author
self.publisher = publisher
self.date = date
def print_info(self):
print('当前这本书的信息如下:')
print('标题:{}'.format(self.title))
print('价格:{}'.format(self.price))
# 在交互式模式下 直接键入对象时的打印内容调用此方法
def __repr__(self):
return 'repr_<图书:{} 价格:{} at {}>'.format(self.title, self.price, hex(id(self)))
# 在print(book) 时调用此方法
def __str__(self):
return 'str_<图书:{} 价格:{} at {}>'.format(self.title, self.price, hex(id(self)))
# 实例化
# 调用构造函数__init__()
book2 = Book('C#经典', 29.9, 'Tom', '', datetime.date(2019, 10, 1))
# 修改对象信息
book2.publisher = '消防大学出版社'
在交互式模式下:
>>> import datetime
>>> import main
>>> book2 = main.Book('C#经典', 29.9, 'Tom', '', datetime.date(2019, 10, 1))
>>> book2
repr_<图书:C#经典 价格:29.9 at 0x23d27242080>
>> print(book2)
str_<图书:C#经典 价格:29.9 at 0x23d27242080>
>>> # 修改信息
>>> book2.price = 100
>>> book2
repr_<图书:C#经典 价格:100 at 0x23d27242080>