python模块

在python中,可以将函数存储在称为模块的独立文件中,再将模块导入到主程序之中,从而隐藏程序代码的细节,将重点放在高层逻辑上。

创建模块

将一个或多个函数放在一个独立的文件中,这个文件就成了一个模块。文件名就是模块名,后缀名是.py。比如模块sum_up的文件名就是sum_up.py

现在让我们创建三个模块:

第一个模块是say_something,下面是say_something.py文件的内容:

def say_hello ():
    """显示欢迎信息"""
    print ("你好!我能计算几个数字之和!")
    username = input ("你的名字是? ")
    print ("欢迎, " + username + ". 现在开始吧!")

def say_result (sum_num):
    """输出计算结果"""
    print ('它们的和是: ' + str(sum_num))

def say_bye ():
    """显示结束信息"""
    print ('感谢您的参与,再见!')

第二个模块是get_list,下面是get_list.py文件的内容:

def get_numbers_str_list ():
    """得到用户输入的字符串列表"""
    numbers_str =  input ("请输入您的数字,用空格分割: ")
    numbers_str = numbers_str.strip()
    numbers_str_list = numbers_str.split()
    return numbers_str_list

def get_numbers_list (numbers_str_list):
    """将字符串列表转化成数字列表"""
    numbers_list = list()
    for number in numbers_str_list:
        try:
            number = float (number)
        except:
            print ('您输入的不是数字, ' + number)
            exit ()
        numbers_list.append(number)
    return numbers_list     # 返回了列表

最后一个是sum_up模块,下面是sum_up.py文件的内容:

def sum_up (numbers):
    """求和"""
    count = 0
    count = sum (numbers)
    return count    # 返回了数字

导入模块

要在其他文件中使用模块,需要将其导入:

import say_something

这个例子导入了say_something模块。

如果只导入某个模块中特定的函数,可以像下面这样:

from say_something import say_hello()

这个例子从say_something模块中导入了say_hello()函数(这意味着不能使用模块中其他函数)。

可以为模块或者函数起一个别名:

# get_list模块的别名为gl
import get_list as gl

# say_something模块中say_hello()函数的别名是sh
from say_something import say_hello as sh

使用模块

如果按模块导入,则需要使用模块名.函数名()的格式调用函数:

import say_something as ss
ss.say_hello()

如果只导入了特定的函数,则可直接使用函数:

from say_something import say_hello as sh
sh()

下面我们实现程序的主体逻辑:

import get_list as gl
import say_something as ss
import sum_up as su

ss.say_hello()
numbers_str_list = gl.get_numbers_str_list()
numbers_list = gl.get_numbers_list (numbers_str_list)
sum_of_numbers = su.sum_up (numbers_list)
ss.say_result (sum_of_numbers)
ss.say_bye()

程序执行如下:

$ python sum_numbers.py 
你好!我能计算几个数字之和!
你的名字是? mwang
欢迎, mwang. 现在开始吧!
请输入您的数字,用空格分割: 2.2 4.5 6.7
它们的和是: 13.4
感谢您的参与,再见!

你可能感兴趣的:(python模块)