Python入门笔记11

本文探讨了模块化编程的设计理念,如何设计API并实现计算年薪和日薪功能,以及如何编写测试代码和私有函数。通过实例讲解了模块导入、__import__和from...import的使用,以及包(package)的组织和sys.path的管理。最后涉及模块发布和安装的基础知识。
摘要由CSDN通过智能技术生成

第七章 模块(module)

1.模块化程序设计理念
1.设计API,进行功能描述。
2.编码实现API中描述的功能
3.在模块中编写测试代码,并消除全局代码
4.使用私有函数实现不被外部客户端调用的模块函数
设计计算薪水模块的API
我们可以通过__doc__可以获得模块的文档字符串的内容。
import salary
print(salary.doc)
print(salary.yearSalary.doc)
模块`


'''用于计算公司员工的薪资'''
company="北京尚学堂"
def yearSalary(monthSalary):
    '''根据传入的月薪的值,计算出年薪:Monthsalary*12'''
    return monthSalary*12
def daySalary(monthSalary):
    '''根据传入的月薪值,计算出1天的薪资。一个月按照22.5天计算'''
    return monthSalary/22.5


###测试代码
if __name__=='__main__':
    print(yearSalary(5000))

调用


import math
import Salary
print(Salary.__doc__)

print(Salary.daySalary.__doc__)

2.模块的导入 __import 和from__import
import导入的是模块。from……import导入的是模块中的一个函数/一个类。

import 模块名
import 模块1,模块2
import 模块名 as 模块 别名
import加载的模块分为四个 通用类别:
a.使用python编写的代码
b.已被编译为共享库或DLL的C或C++扩展
c.包好一组模块的包
d.使用C编写并连接到python解释器的内置模块

Python中可以使用from……import导入模块中的成员。
from 模块名 import 成员1,成员2

from math import *  ##*代表着说有的文件名,一般不建议这么使用

3.import()
import语句本质上就是调用内置函数__import__(),我们可以通过它实现动态导入。给__import__()动态传递不同的参数值,就能导入不同的模块。

一般不建议使用__import__()导入
如果需要动态导入可以使用importlib模块

import importlib
a=importlib.import_module('math')
print(a.pi)

一个模块无论导入多少次,这个模块在整个解释器进程内有且仅有一个实例对象。
需要重新加载时,利用importlib函数
import importlib
importlib.reload(模块名)
3.包package的使用
当一个项目中有很多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了“包”。本质上,“包”就是一个必须有__init__.py的文件夹。

  1. import a.aa.module_AA
    使用时,必须加完整名称来引用。 a.aa.module_AA.fun_AA()
    2.from a.aa import module_AA
    可以直接使用模块名 module_AA.fun_AA()
    3.from a.aa.module_AA import fun_AA
    可以直接使用函数名。fun_AA()

init.py的三个核心作用:
1.作为包的标识不能删除
2.用来实现模糊导入
3.导入包实质是执行__init__.py文件,可以在__init__.py文件中做这个包的初始化,以及需要统一执行代码。
4.包内引用
如果是子包内的引用,可以按相对位置引入子模块
from…import module_A #表示上级目录 …表示上级目录,.表示同级目录
from.import module_A #.表示同级目录

  1. sys.path 和模块搜索路径
import sys
sys.path.append("d:/")
print(sys.path)

6.模块发布和安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值