定义模块

定义模块其实就是创建一个.py文件. python之父建议的的模块命名:

  1. 公共模块: 所有的字母小写, 不同的单词之间用下划线_连接

  2. 内部模块: 用下划线_开头, 其余与公共模块一样.


定义一个计算斐波那契数列前 n 项的模块

第 1 步: 创建一个文件fibo.py, 相当于创建了一个模块fibo.

def fib(n):
    a, b = 0, 1
    for i in range(n):
        print(b, end=" ")
        a, b = b, a + b
    print()

第 2 部: 再创建一个模块demo, 作为我们程序的入口, 这样的模块其实就是main moudle. 在主模块内部使用我们第 1 步创建的模块.

import fibo  # 导入需要的模块

print(__name__) # 当前模块直接执行, 所以当前模块就是主模块 输出__main__

# 模块名就成为了在 fibo 这个模块中定义的全局变量, 函数, 类的命名空间

print(fibo.__name__)    # 输出模块名

# 调用模块内定义的函数

fibo.fib(20)


模块的细节

  1. 使用import加载模块的位置. 可以放在文件的任何位置, 但是建议放在文件的开始位置来加载模块. 而且一定要保证在使用模块前先加载模块

  2. 首次导入模块, 会创建一个以模块名命名的命名空间. 在这个模块中定义的全局变量, 函数, 类都处于这个命名空间下

  3. 在新创建的命名空间中, 执行模块内的代码. 如果有全局变量, 函数, 类啥的都会完成定义工作. 如果有输出, 你也会立即看到结果.

  4. 使用模块名.成员的方式来使用模块内定义的成员:全局变量, 函数, 类

  5. 模块内定义的类的使用要注意也是模块名.类名的方式来使用.比如模块a中定义了一个类Person, 则创建对象的方式:p = a.Person()


Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""