美文网首页
python模块

python模块

作者: 学习编程王同学 | 来源:发表于2018-03-23 09:33 被阅读9次

    在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模块

          本文链接:https://www.haomeiwen.com/subject/rjytcftx.html