import模块
一、在import模块的时候发生的事情
1、寻找模块
2、如果找到了,就开辟一块空间,执行这个模块
3、把这个模块中用到的名字都录到新开辟的空间中
4、创建一个变量来引用这个模块中 二、注意事项:
*1.模块不会被重复导入
*2.模块和文件之间的内存空间始终是隔离的
*3.模块的名字必须是符合变量命名规范的 简单模块导入实例:
import my_module
# my_module.read2()
# name = 'alex'
# my_module.read2() # in read2 youhongliang
my_module.name = 'alex'
my_module.read2() # in read2 alex
三、导入多个模块
3.1 注意事项:
1、pep8规范
# import os
# import time
# import my_module
# 内置,第三方,自定义
2、排列顺序
# import os
# import django
# import my_module
3.2 给模块起别名
import my_module as m
m.read2() # in read2 youhongliang
# 起别名之后,原来的名字就不能用了
起别名的应用
def dump(method): # (繁琐版)
if method == 'json':
import json
with open('file','w') as f:
json.dump([1,2,3],f)
elif method == 'pickle':
import pickle
with open('file', 'w') as f:
pickle.dump([1, 2, 3], f)
简化版
def dump(method):
if method == 'json': # (简化版)
import json as m
elif method == 'pickle':
import pickle as m
with open('file', 'w') as f:
m.dump([1, 2, 3], f)
3.3 模块搜索路径
import sys
print(sys.path)
import my_module
注意:
正常的sys.path中除了内置、扩展模块所在的路径之外
只有一个路径是永远不会出问题
你直接执行的这个文件所在的目录
一个模块是否被导入,就看这个模块所在的目录在不在sys.path中
如果我们在同级目录中添加一个文件件,然后在这个文件夹中添加一个模块。
直接: import my_module2 (报错) # ModuleNotFoundError
做一步处理:
import sys
sys.path.append('D:\骑士计划\第五周\Day26\glance')
import my_module2
四、两种运行一个py文件的方式
4.1 直接运行它 : cmd python xx.py(文件) pycharm 脚本
脚本运行时 __name__ == '__main__'
# 导入它 : 模块
# 模块运行:__name__ == '模块名' 4.2 语法讲解:
在模块调用中,如果只想脚本中使用的,只需要用这个语法
if __name__ == '__main__': # 作为模块时,不该有的东西放在这里
print('in my_module2') # 重要语法
print(__name__)
# 函数调用
五、模块 from ** import
from my_module import name
print(name) # youhongliang
from my_module import read2
read2() # in read2 youhongliang
5.1 在from import 的过程中发生了什么事儿
1、要找到my_module
2、开空间,执行my_module
3、所有的my_module中的名字都存储在my_module所属的空间中
4、建立一个引用name,read2分别取引用my_module空间中的名字
from my_module import name
from my_module import read2 # in mymodule 执行一次
区别:
name = 'alex'
from my_module import name
print(name) # youhongliang # name = 'alex'
from my_module import name
name = 'alex' # 直接覆盖
print(name) # alex
小技巧:
from my_module import name,read1,read2 # 可以写多个
from my_module import name as n,read1 as r1,read2 as r2 # 同时起别名
5.2 * 与__all__
from my_module import * # 指模块里的所有变量
print(name) #youhongliang
read1() # in read1
read2() # in read2 youhongliang 脚本中:
__all__ =['name','read1'] # 只有这两个可以调用
import模块的更多相关文章
- python import 模块异常问题
新项目开始了,(tornado,python) 结果出现了一个比较诡异的问题. import 自己的在conf文件夹下配置文件settings的时候, from conf.settings impor ...
- python 小技巧(import模块、查询类继承关系、安装包)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程 ...
- import模块/包--软件开发规范
一. 模块 模块:就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译 ...
- python之import模块及包的调用
模块概念 在Python中,一个.py文件就称之为一个模块(Module).使用模块组织代码,最大的好处是大大提高了代码的可维护性 模块一共三种:python标准库.第三方模块.应用程序自定义模块. ...
- Python import模块
import模块 一.模块介绍 1.定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应的模块名:t ...
- cython 成功创建import 模块
又是因为别人代码里有这么一个部分,用到了cython,,简而言之,就是利用这个模块调用C语言,从而加速程序运行,其中具体怎么调用我还没整清楚,但基本用法差不多了解了. 1 安装:https://www ...
- import 和 from … import 模块的变量、方法引用差异
import 和 from … import 模块的变量.方法引用差异 还是上面例子中的模块 support.py: def print_func( par ): print "Hello ...
- python基础之import模块导入和包的调用
模块概念 在Python中,一个.py文件就称之为一个模块(Module).使用模块组织代码,最大的好处是大大提高了代码的可维护性 模块一共三种:python标准库.第三方模块.应用程序自定义模块. ...
- 2019-7-16 import / from...import... 模块的调用
模块调用的总结:如果你是pycharm打开文件,会自动帮你把文件根目录加到system.path中,你要调用模块直接以根目录为基准开始找.1.假如你要调用和文件根目录为同级的文件,你直接import ...
随机推荐
- Java 12 - Java StringBuffer和StringBuilder类
Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBu ...
- 【Jmeter自学】Jmeter性能测试报告(八)
http://www.cnblogs.com/YatHo/p/6092599.htmlhttp://blog.csdn.net/xiaojianpitt/article/details/4821554 ...
- [Unity插件]Lua行为树(九):条件节点调整
先看一下之前的条件节点是怎么设计的: BTConditional.lua BTConditional = BTTask:New(); local this = BTConditional; this. ...
- CentOS之——CentOS7安装iptables防火墙
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/50779761 CentOS7默认的防火墙不是iptables,而是firewall ...
- elk收集windows日志
参考网站:https://www.secpulse.com/archives/55636.html https://blog.csdn.net/qq_38094271/article/details/ ...
- PyCharm 安装使用
服务器激活地址(转载)http://www.cnblogs.com/littlehb/p/7784517.html PyCharm 服务器激活地址: 最近用edu邮箱申请了一个JetBrains针 ...
- djangobb之view form
def add_topic(request, forum_id): """ create a new topic, with or without poll " ...
- mongo admin 客户端管理工具安装
Ubuntu14.04 1. 选择安装的目录cd /home/sea2. git clone https://github.com/mrvautin/adminMongo.git && ...
- <基础> PHP 进阶之 函数(Function)
引用参数 $name = "eko"; function chang_name(&$name){ $name .= '_after_change'; } chang_nam ...
- JS 异步分段上传文件
为了解决大文件上传 (PHP上传最大限制2GB) 同时为了解决文件上传是对服务器造成的压力 可以通过分段上传解决这个问题,这得益于HTML5开发的file API 前台代码: 引用了进度条插件myPr ...