前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python模块

python模块

作者头像
mwangblog
发布2018-07-04 11:36:35
8450
发布2018-07-04 11:36:35
举报
文章被收录于专栏:mwangblogmwangblog

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

本文目录

  • 1 创建模块
  • 2 导入模块
  • 3 使用模块

创建模块

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

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

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

代码语言:javascript
复制
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文件的内容:

代码语言:javascript
复制
def get_numbers_str_list ():
    """得到用户输入的字符串列表"""
    numbers_str =  input ("请输入您的数字,用空格分割: ")
    numbers_str = numbers_str.strip()
    numbers_str_list = numbers_str.split()
    return numbers_str_listdef 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文件的内容:

代码语言:javascript
复制
def sum_up (numbers):
    """求和"""
    count = 0
    count = sum (numbers)
    return count    # 返回了数字

导入模块

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

代码语言:javascript
复制
import say_something

这个例子导入了say_something模块。

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

代码语言:javascript
复制
from say_something import say_hello()

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

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

代码语言:javascript
复制
# get_list模块的别名为glimport get_list as gl# say_something模块中say_hello()函数的别名是shfrom say_something import say_hello as sh

使用模块

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

代码语言:javascript
复制
import say_something as ss
ss.say_hello()

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

代码语言:javascript
复制
from say_something import say_hello as sh
sh()

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

代码语言:javascript
复制
import get_list as glimport say_something as ssimport 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()

程序执行如下:

代码语言:javascript
复制
$ python sum_numbers.py 
你好!我能计算几个数字之和!
你的名字是? mwang
欢迎, mwang. 现在开始吧!
请输入您的数字,用空格分割: 2.2 4.5 6.7
它们的和是: 13.4
感谢您的参与,再见!
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建模块
  • 导入模块
  • 使用模块
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档