创建并导入包

本文介绍了如何在PyCharm中创建Python包,包括在包内建立`__init__.py`模块,以及如何导入和使用包内的模块。通过示例展示了导入包的不同方式,如直接导入、使用别名、导入特定模块等。此外,还讨论了`__all__`的用法,用于控制导入时的可见内容。
摘要由CSDN通过智能技术生成
可以在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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值