Python模块与包

1.1. 模块的概念:

一个.py文件就称为一个模块

1.2. 导入模块中类或函数的方式:

Python模块与包

module1.py

def output():
    print('hello neuedu')

1.2.1. 方式一:import 模块名

使用时:模块名.函数名()

import module1
module1.output()

1.2.2. 方式二 :from 模块名 import 函数名

使用时:函数名()

from module1 import output
output()

1.2.3. 方式三: from 模块名 import *

使用时:函数名()

from module1 import *
output()

1.2.4. 方式四:from 模块名 import 函数名 as tt(自定义)

注意原来的函数名将失效

使用时:tt()

from module1 import output as tt
tt()

可以在模块当中定义一个变量all,指定导出的函数子集:

使用all的影响: 后面的[]里面写什么函数名,使用from 模块名 import 方式导入时导入什么 all如果没有这个变量将全部导入(all仅限 于from 模块名 import 这种导入方式)

all示例:

__all__=['output']
def output():
    print('hello neuedu')
def output2():
        print('hello output2')

以下代码报错

from module1 import *
output2()

1.3. 包的概念

  概念:包就是一个文件夹,里面包含了若干py文件以及一个_init_.py文件。

Python模块与包

module3.py

def output():
    print('hello neuedu')
def output2():
        print('hello output2')

1.4. 导入包中函数,以及模块的方式:

1.4.1. 方式一:from 包名 import 模块名

使用时:模块名.函数名()

from neuedu import module3
module3.output()

1.4.2. 方式二:from 包名.模块名 import 函数名

使用时:函数名()

from neuedu.module3 import output
output()

1.4.3. 方式三 :import 包名.模块名

使用的时候 包名.模块名.函数名()

import neuedu.module3
neuedu.module3.output()

1.4.4. 方式四:from 包名 import *

前提是:将 init.py 文件中写入all变量(写入方式同模块导入的写入方式) 。 变量当中写入哪个模块则导入哪个模块,不写则什么都不导入 使用时:模块名.函数名() _init_.py

__all__ = ['module3']
from neuedu import *
module3.output()

1.4.5. 方式五:import 包名

前提是:在包里面的init.py 文件里写入 from . import 模块名 init.py里面导入哪个模块 通过本方式就能使用哪个模块

使用时:包名.模块名.函数名() _init_.py

from . import module3
import neuedu
neuedu.module3.output()
上一篇:MaxCompute UDF配置汇总


下一篇:【SQL 学习】表连接--natural join 的一个bug