python学习--模块和包

模块是python程序架构的核心概念

  • 模块
    • 模块的命名遵守标识符原则(注意不要和系统模块重名)
    • 每一个以.py结尾的文件都是一个模块
    • 在模块内的全局变量、函数、类可以直接提供给外界使用
  • 语法
    import导入
import 模块名1, 模块名2 

注意虽然上边的也行,但是在PEP8规范中要求在导入模块时,每个导入应该独占一行

import 模块名1
import 模块名2 
  • 导入之后
    导入之后可以通过模块名.来使用导入模块中的全局变量、函数。
    如果模块名太长可以使用as对代码块重新命名
    • 语法
import 模块名1 as 模块别名

这里需要说的是模块别名使用大驼峰命名法

  • from…import导入
    语法
#从 模块 导入 某一个工具
from 模块名1 import 工具名

注意import是将模块下的工具全部导入,而from...import则是导入指定的模块工具
并且使用时直接使用工具名就行

  • 用form…import导入所有工具
    只需要加一个通配符*
#从 模块 导入 所有工具
from 模块名1 import *

注意 当导入两个不同模块导入同名函数时,后导入的会将先导入的覆盖 所以这时候可以用as将函数重命名一下。

  • __name__属性
    我们知道在导入模块时,只要没有缩进的代码,都会被执行一遍。这个是极不方便的–>因为在正常开发时同一个模块我们正常要写很多的测试代码。这些代码在导入时是不希望被执行的。

因此就用到了__name__属性,我们知道如果在当前本模块它是返回一个固定的字符串–>__main__,而在导入的文件中,返回的是导入文件的地址。

因此在开发时,我们经常见到下面的代码

#导入模块
#定义全局变量
#定义类
#定义函数

#在代码的最下方
def main():
    # ...
    pass

#根据 __name__ 判断是否执行下方代码
if __name__ == "__main__":
    main()

这样在导入的时候,测试代码就不会执行了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值