可以在pycharm中,依次点击file,new,Dictionary即可创建一个包
其次再在包下面建立一个__init__.py模块
下面是一个实际例子
# 创建一个__init__.py模块
def inInit():
print("I am in init of package")
接下来是导入包
import pkg01#直接导入一个,可以使用__init__.py文件中的内容
ini = pkg01.inInit()
ini
运行结果
D:\anaconda\python.exe D:/pythonProject/python_programing/pkg01/p07.py
I am in init of package
也可以在导入包时给其一个别名
# 命令如下
import package_name as p#这里的package_name是包的名字,p可以命名为自己喜欢的名称
# 注意此种导入默认是对__init__.py的导入
# 如要导入包中一个具体的模块,需要用下列命令
import package.module
# 具体见下面一个案例
# 首先在包中再建一个p01.py模块
class Student():
def __init__(self,name="NoName",age=18):
self.name = name
self.age = age
def say(self):
print("My name is {0}".format(self.name))
def sayHello():
print("Hi,欢迎来到图灵学院")
print("我是模块p01呀,你可以叫我p01.")
# 接下来导入包中的p01.py模块,并介绍如何使用
import pkg01.p01
stu = pkg01.p01.Student()
stu.say()
# 运行结果如下
D:\anaconda\python.exe D:/pythonProject/python_programing/pkg01/p08.py
我是模块p01呀,你可以叫我p01.
My name is NoName
# 导入包中文件的其他命令
import package.module as pm#package.module表示包中的模块,pm可以自己任意命名
# 也可用下面的命令
from package import module1,module2 #表示从包中导入某个具体的模块,但是此种方法不执行__init__.py模块的内容
from pakage import * # 这种导入方法表示导入当前包'__init__.py'的所有函数和类(不包含其他模块)
from pakage.module import * # 导入指定模块中的所有内容
# 如果想在当前包中直接导入其他模块的内容,可用如下方法
import 完整的包或模块的路径
# __all__用法实例
# __all__是在__init__.py模块中的一个语句
# 首先建一个新的包,命名为pkg02
# 在建立一个p01.py模块,相应命令如下
class Student():
def __init__(self,name="NoName",age=18):
self.name = name
self.age = age
def say(self):
print("My name is {0}".format(self.name))
def sayHello():
print("Hi,欢迎来到图灵学院")
print("我是模块p01呀,你可以叫我p01.")
# __init__.py模块命令如下
__all__ = ['p01']# 这个命令使得后面的导入命令只能导入p01.py模块,而不能导入inInit()函数
def inInit():
print("I am in init of package")
# 输入导入的命令
from pkg02 import *
stu = p01.Student()
stu.say()
# inInit()输入该命令会报错,因为没有导入该函数
# 运行结果如下
My name is NoName