《Python编程从入门到实践》记录之将Python函数存储在模块中(import、import*)

目录

1、导入整个模块

2、导入特定的函数

3、使用as给函数指定别名

4、导入模块中的所有函数

5、总结


我们可以在编写程序时将函数存储在被称为模块的独立文件中,再将模块导入到主程序中(必须的步骤)。port语句允许在当前运行的程序文件中使用模块中的代码。

模块是扩展名为.py的文件,包含要导入到程序中的代码。


模块的方法有很多种:

1、导入整个模块

导入模块方法:

import module_name(模块名)

扫描二维码关注公众号,回复: 4274795 查看本文章

调用方法:

module_name.function_name()


要让函数是可导入的,需要创建模块。

创建一个制作pizza的模块(pizza.py):

#!/usr/bin/env python
# -*- coding:utf-8 -*-


def make_pizza(size, *toppings):
    """概述要制作的比萨"""
    print("\nMaking a " + str(size) + "-inch pizza with the following toppings:")

    for topping in toppings:
        print("- " + topping)

另外在同目录下创建一个make_pizza.py的文件,这个文件导入刚创建的模块,再调用make_pizza()函数两次:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 导入pizza模块
import pizza

pizza.make_pizza(16, 'pepperoni')  # 调用模块函数:(模块名.函数名)
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

运行结果为:

上述代码在运行时,代码行import pizza让Python打开文件pizza.py,并将其中的多有函数都复制到主程序中,这些复制是Python

幕后进行复制的。当我们导入pizza.py这个模块时,我们就可以使用pizza.py中定义的所有函数


2、导入特定的函数

我们也可以在导入时只导入模块中的特定函数

导入方法如下(可以导入任意数量函数,逗号分隔):

module_name import function_name1, function_name2,function_3

调用方法:

function_name()


对于上述pizza的示例,如果只想导入使用的函数,代码类似下面:

# 导入pizza模块中的make_pizza()函数
from pizza import make_pizza

make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

3、使用as给函数指定别名

关键字as给函数或模块重命为你提供的别名

指定别名方法:

from module_name import function_name as fn


如上述例子,将make_pizze()指定别名mp(),代码类似如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 导入pizza模块中的make_pizza()函数,并制定别名mp
from pizza import make_pizza as mp

mp(16, 'pepperoni')
mp(12, 'mushrooms', 'green peppers', 'extra cheese')

4、导入模块中的所有函数

使用星号(*)运算符可让Python导入模块中的所有函数

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 导入pizza模块中的所有函数
from pizza import *

make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

5、总结

模块在使用时,有两种方式:

  1. 直接导入模块,程序可以使用模块中所有定义的函数,调用方法为:module_name.function_name()(需要句点表示法)
  2. 导入模块中的特定函数(上述2所讲)或者全部函数(上述4所讲),在调用函数时,需要使用模块名,直接使用函数名就可以调用:function_name()

猜你喜欢

转载自blog.csdn.net/Sophia_11/article/details/84376617