Python基础学习Day7
模块
- 直接引入模块
import model
if __name =="__main__"
print(model.page)
- 从模块中引入具体内容
from models import page
if __name =="__main__"
print( page)
- 引入模块中的全部内容(后续调用时)
from models import *
if __name =="__main__"
print( page)
- 调用模块时取别名(防止模块名相同)
import models.test as ...
from models import test ad m_test
- 使用模块的原因:
- 代码重用
- 命名空间
- 实现数据或服务共享
- 使用模块的步骤:
- 找到模块文件
- 编译为字节码
- 运行模块文件
- 模块的搜索范围
- 当前程序主目录
- 环境变量目录下
- 标准库
- reload(重新载入,reload之前要importlib模块)
//正确写法
import importlib
importlib.reload(models)
//错误写法(因为reload只认识模块,不认识from)
from models import test
reload(models)
- 按目录组织文件
- directory只能从文件管理来管理文件
- python package(包 – 成为文件路径的一个部分)
- init.py只在当前包第一次被调用的时候执行,用于第三方的库,包的导入,3.3以下版本该文件必须要,3.3以上可省略
面向对象编程
- 各种特点编程语言的区别
(1)面向过程:c(最贴合硬件,底层开发) – 数据结构和算法
(2)面向对象:抛开代码,以符合人的思维习惯分析解决问题,对象的特征和行为 - 面向对象编程步骤
(1)面向对象分析:OOA
(2)类定义对象代码模板(蓝图)uml关系类图(把分析对象编程代码)OOD
(3)实例化(创建内存对象)OOP
图书管理系统 - 面向对象编程的实现
(1)分析对象的特征和行为
(2)写类描述对象模板
(3)实例化,模拟过程 - 代码实现(用内置数据类型 – 字典表)
def search_book(title)
print('搜索包含关键字{}的图书'.format(title))
book = {'title': 'python 入门', 'price':39.00,'author':search_book}
print(book.get('price',0.0))
book.get('search_book')('python')
- 代码实现(新定义对象类型)
import datetime
class Book: //类名大写字母开头
def __init__(self,title,price=0.0,author=' ',publisher= None,pubdate=datetime.date.today()): //初始化器
self.title = title
self.price = price
self.author = author
self.publisher = publisher
self.pubdate = pubdate
def __repr__(self):
return '<图书{}>'.format (self.title)
def print_info(self):
print('当前这本书的信息如下:')
print('标题:{}'. format(self.title))
print('定价:{}'. format(self.price))
print('作者:{}'. format(self.author))
print('出版社:{}'. format(self.publisher))
print('出版时间:{}'. format(self.pubdate))
book1 = Book('c#经典', 29.9,'Tom','优品课堂',date(2016,3,1)) //实例化
book2 = Book('入门到精通')
book2.author='优品'
book1.print_info()
来源:CSDN
作者:smalllllerr
链接:https://blog.csdn.net/Tracy19970428/article/details/104347673