定义:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。

一、模块注意:

1.所有的模块都应该自觉的往上写

2.调用模块的时候都是最先在本地找

3.写模块的顺序是:内置模块-->扩展模块-->自定义模块

注意事项

二、模块的几种写法:

import:
1.import 模块名    调用:模块名.变量名         # 这种方式和本文件中的变量名完全不冲突

2.import 模块名 as 重命名的模块名            # 提高代码的兼容性

3.import 模块1,模块2

import导入方式

from import:
1.from 模块名 import 变量名              #直接使用 '变量名()' 就可以完成操作 如果本文件中有相同的变量名会发生冲突2.from 模块名 import 变量名字 as 重命名变量名
3.from 模块名 import 变量名1,变量名2
4.from 模块名 import * #模块中的所有变量名都放到内存中 # 如果本文件中有相同的变量名会发生冲突
5.from 模块名 import * 和 __all__ 是一对
# 没有这个变量,就会导入所有的名字
# 如果有all 只导入all列表中的名字

from import 导入方式

# __name__
# 在模块中 有一个变量__name__,
# 当我们直接执行这个模块的时候,__name__ == '__main__'
# 当我们执行其他模块,在其他模块中引用这个模块的时候,这个模块中的__name__ == '模块的名字'
三、模块执行过程
文件
import demo
def read():
print('my read func')
demo.read()
print(demo.money)
先从sys.modules里查看是否已经被导入
如果没有被导入,就依据sys.path路径取寻找模块
找到了就导入
创建这个模块的命名空间
执行文件,把文件中的名字都放到命名空间里

模块判断执行过程

												

python--模块导入与执行的更多相关文章

  1. 一文解决python模块导入

    python 模块导入 原理 查找是按照 sys.path 中的路径挨个扫描.若都不存在则提示error. sys.path路径第一个是当前运行脚本所在的目录,其后是PYTHONPATH(一般若步专门 ...

  2. python模块导入细节

    python模块导入细节 官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: ...

  3. 【转】python模块导入细节

    [转]python模块导入细节 python模块导入细节 官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码 ...

  4. 详解Python模块导入方法

    python常被昵称为胶水语言,它能很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松联结在一起.python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的 ...

  5. python模块导入总结

    python模块导入总结 模块导入方式 定义test.py模块 def print_func(): print("hello") import 语句 导入模块语法 import m ...

  6. python 模块导入import和import from区别

    模块就是一个.py文件,在名字空间下导入模块导入import和import from,那么python 模块导入import和import from区别是什么呢 1,import 导入模块 impor ...

  7. python 模块导入

    1. 模块导入: 要使用一个模块,我们必须首先导入该模块.Python使用import语句导入一个模块.例如,导入系统自带的模块 math: import math 你可以认为math就是一个指向已导 ...

  8. python模块导入

    官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: 用于执行的可执行程序文件 ...

  9. python 模块导入详解

    本文不讨论 Python 的导入机制(底层实现细节),仅讨论模块与包,以及导入语句相关的概念.通常,导入模块都是使用如下语句: import ... import ... as ... from .. ...

  10. python模块导入-软件开发目录规范-01

    模块 模块的基本概念 模块: # 一系列功能的结合体 模块的三种来源 """ 模块的三种来源 1.python解释器内置的模块(os.sys....) 2.第三方的别人写 ...

随机推荐

  1. 《Hadoop学习之路》学习实践

    (实践机器:blog-bench) 本文用作博文<Hadoop学习之路>实践过程中遇到的问题记录. 本文所学习的博文为博主“扎心了,老铁” 博文记录.参考链接https://www.cnb ...

  2. C# dynamic类型序列化和反序列化之Newtonsoft.Json

    原文:C# dynamic类型序列化和反序列化之Newtonsoft.Json 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u011127019/ ...

  3. SpringData 完全入门指南

    SpringData 笔记 1. 配置项目 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  4. wdcp后台登陆访问失败处理方法

    用putty或xsheel链接 进入之后输入命令 service wdcp restart 之后显示ok就成功了

  5. Codeforces 454E. Little Pony and Summer Sun Celebration

    题意:给n个点m条边的无向图,并给出每个点的访问次数奇偶,求构造一条满足条件的路径(点和边都可以走). 解法:这道题还蛮有意思的.首先我们可以发现在一棵树上每个儿子的访问次数的奇偶是可以被它的父亲控制 ...

  6. nodejs express的基本用法

    demo /** * Created by ZXW on 2017/11/6. */ var express=require("express"); var server=expr ...

  7. Sublime Text添加gcc编译器

    { "shell_cmd" : "gcc $file_name -o ${file_base_name}", "working_dir" : ...

  8. 修改Centos中的ll命令(以 K 为单位显示文件大小)

    修改CentOS ll命令:以K 为单位显示文件大小 1.编辑 .bashrc 文件:vim /root/.bashrc 2.找到 alias ll 行修改为(如果没有直接添加该行):alias ll ...

  9. vscode开发vue项目保存时自动执行lint进行修复

    vscode下载eslint插件 vscode进行设置 找到settings.json 在里面写入如下内容进行保存 {     "eslint.autoFixOnSave": tr ...

  10. 【Flutter学习】基本组件之图片组件Image

    一,概述 Image(图片组件)是显示图像的组件,一个显示图片的widget,支持图像格式:JPEG,PNG,GIF,动画GIF,WebP,动画WebP,BMP和WBMP. Image组件有多种构造函 ...