Python模块导入之import和__init__.py

1、import和from…improt
1.1、
  • import :导入一个模块,(相当于导入的是一个文件夹,是个相对路径);
  • from…import:导入了一个模块中的一个函数(相当于导入的是一个文件夹中的文件,是个绝对路径)。
1.2、使用方法与差异

example模块:
example.py:

   def print_func( val ):
      print "Hello : ", val
      return
  • 1)import引入一个模块后,使用时需要包括模块名,有些类似C++里实例化后调用函数。使用 import 引入并调用 example模块的正确方法:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
#导入模块
import example

#现在可以调用模块里包含的函数了
example.print_func(" World ")#使用模块时,需包括模块名

2)使用 from … import 模块的正确方法:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 导入模块
from example import print_func
 
# 现在可以调用模块里包含的函数了
print_func("World")#不需要包括模块名

PS:一般来说,不建议使用from ... import *,这样会导致命名空间混乱,同时使得代码可阅读性下降。使用from ... import能够比较清晰看到引用了模块的什么方法。

1.3、几种导入方式

#主要包括以下几种导入方式:

1、import moduels(模块名字) #导入整个模块,这种导入方式比较占用内存
2、import moduels (模块名字) as XX
#这里是导入整个模块的同时给它取一个别名,因为有些模块名字比较长,用一个缩写的别名代替在下次用到它时就比较方便

3、from modules(模块名字) import func(方法)
#从一个模块里导入方法,你要用到模块里的什么方法就从那个模块里导入那个方法,这样占用的内存就比较少
也可以用别名表示 :from modules(模块名字) import func(方法)as XX
4、from package.modules import func(方法)
#从一个包的模块里导入方法 这个方法跟上面那种基本一样,占用的内存也比较少
也可以用别名表示,from modules(模块名字) import func(方法)as XX

2、__init__.py#TODO

假设工程目录如下图,且每一个文件夹下都有一个__init__.py文件。
在这里插入图片描述
a.py文件的内容为:

print("This is alpha!")

在文件夹mypackage同级创建test.py并输入:

from mypackage.alpha import a

则输出为:

This is alpha!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值