赞
踩
Python的程序是由包(package)、模块(module)和函数组成。
模块是处理某一类问题的集合,模块由函数和类组成。包是由一系列模块组成的集合
包就是有一个完成特定任务的工具箱,Python提供了许多有用的工具包。
如字符串处理、图形用户接口、Web应用、图形图像处理等。一个程序完整的结构,有如下几部分组成:
Python提供了强大的模块支持,主要体现为不仅在Python标准库中包含了大量的模块(称为标准模块),
而且还有很多第三方模块,另外开发者自己也可以开发自定义模块。通过这些强大的模块支持,将极大地提高我们的开发效率。
模块的英文是Modules,可以认为是一盒(箱)主题积木,通过它可以拼出某一主题的东西。
这与函数不同,一个函数相当于一块积木,而一个模块中可以包括很多函数,也就是很多积木,所以也可以说模块相当于一盒积木。
使用from…import语句导入模块
pizza.py
def make_pizza(size, *toppings):
"""概述要制作的比萨"""
print("\nMaking a " + str(size) + "-inch pizza with the follwing toppings:")
for topping in toppings:
print("- " + topping)
接下来,我们在pizza.py所在的目录中创建另一个名为making_pizzas.py的文件,这个文件导入刚创建的模块,再调用make_pizza() 两次:
making_pizzas.py
import pizza
pizza.make_pizza(16, 'pepperoni')
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
你还可以导入模块中的特定函数,这种导入方法的语法如下:
from module_name import function_name
通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数:
from module_name import function_0, function_1, function_2
对于前面的making_pizzas.py示例,如果只想导入要使用的函数,代码将类似于下面这样:
from pizza import make_pizza
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名别 ——函数的另一个名称,类似于外号。要给函数指定这种特殊外号,需要在导入它时这样做。
下面给函数make_pizza() 指定了别名mp() 。这是在import 语句中使用make_pizza as mp 实现的,关键字as 将函数重命名为你提供的别名:
from pizza import make_pizza as mp
mp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers', 'extra cheese')
你还可以给模块指定别名。通过给模块指定简短的别名(如给模块pizza 指定别名p ),让你能够更轻松地调用模块中的函数。相比于pizza.make_pizza() ,p.make_pizza() 更为简洁:
import pizza as p
p.make_pizza(16, 'pepperoni')
p.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
使用星号(* )运算符可让Python导入模块中的所有函数:
from pizza import *
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
最佳的做法是,要么只导入你需要使用的函数,要么导入整个模块并使用句点表示法。这能让代码更清晰,更容易阅读和理解。
代码:
import sys
print(sys.path)
运行结果:
['E:\\PyCharmCode\\courceDesign\\studypPY', 'E:\\PyCharmCode\\courceDesign',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38\\python38.zip',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38\\DLLs',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38\\lib',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python38',
'E:\\PyCharmCode\\courceDesign\\venv', 'E:\\PyCharmCode\\courceDesign\\venv\\lib\\site-packages']
import abcdef
发生这样的错误时,解析器会提示说无法访问请求的模块,
是因为模块不在搜索路径里,从而导致了路径搜索的失败。
__init__.py的作用是让一个呈结构化分布(以文件夹形式组织)的代码文件夹变成可以被导入import的软件包。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。