目录

  • 一、import 模块名
  • 二、from 模块名 import 具体的功能
  • 三、import和from...import...的异同

一般使用import和from...import...导入模块。

以下述spam.py内的文件代码为例。

# spam.py
print('from the spam.py')money = 1000def read1():print('spam模块:', money)def read2():print('spam模块')read1()def change():global moneymoney = 0

一、import 模块名

# run.py
import spam  # from the spam.py
import spam

import首次导入模块发生了3件事:

  1. 以模块为准创造一个模块的名称空间
  2. 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
  3. 在当前执行文件中拿到一个模块名

模块的重复导入会直接饮用之前创造好的结果,不会重复执行模块的文件,即重复导入会发生:spam=spam=模块名称空间的内存地址

# run.py
import spam as smmoney = 111111sm.money
sm.read1()  # 'spam模块:1000'
sm.read2
sm.change()print(money)  # 1000

导入多个模块

import spam, time, os# 推荐使用下述方式
import spam
import time
import os

二、from 模块名 import 具体的功能

# run.pyfrom spam import moneymoney = 10print(money)  # 10

from...import...首次导入模块发生了3件事:

  1. 以模块为准创造一个模块的名称空间
  2. 执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间
  3. 在当前执行文件的名称空间中拿到一个名字,该名字直接指向模块中的某一个名字,意味着可以不用加任何前缀而直接使用
  • 优点:不用加前缀,代码更加精简
  • 缺点:容易与当前执行文件中名称空间中的名字冲突

导入文件内所有的功能:

# spam.py__all__ = ['money', 'read1']  # 只允许导入'money'和'read1'
# run.py
from spam import *  # 导入spam.py内的所有功能,但会受限制于__all__

三、import和from...import...的异同

相同点:

  1. 两者都会执行模块对应的文件,两者都会产生模块的名称空间
  2. 两者调用功能时,需要跑到定义时寻找作用域关系,与调用位置无关

不同点

  1. import需要加前缀;from...import...不需要加前缀

转载于:https://www.cnblogs.com/nickchen121/p/10802052.html

import和from...import相关推荐

  1. from . import_python首行代码import *,from * import * 解析

    python代码,一般第一行代码都是import *或from * import *,作用是导入功能模块,然后利用模块内的函数编写代码,减少大量的代码编写时间,是python的一大特色.但是,在实际写 ...

  2. [ 转]Python模块(二)import和from...import的区别

    Python模块(二)import和from...import的区别 听语音 原创 | 浏览:2975 | 更新:2018-04-02 13:02 | 标签:PYTHON 1 2 3 4 5 6 7 ...

  3. python的import与from...import的不同之处

    在python用import或者from...import来导入相应的模块.模块其实就是一些函数和类的集合文件,它能实现一些相 应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序 ...

  4. python import from区别_python import 与 from .... import ...区别-阿里云开发者社区

    在python用import或者from...import来导入相应的模块. 模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候, 直接把相应的模块导入到我们的程序 ...

  5. python import from class_Python: import vs from (module) import function(class) 的理解

    Python: Import vs From (module) import function(class) 本文涉及的 Python 基本概念: Module Class import from . ...

  6. Python教程:import与from ... import ...的区别

    from 不修改,import会修改 1.语法分析:首先from A import a1 是从A模块导入a1工具(可以是某个 函数,全局变量,类),import A是导入整个A模块的全部内容(包括全部 ...

  7. Python 中的 import 与 from import 区别

    对不少 Python 初学者来说,Python 导入其他模块的方式让他们很难理解.什么时候用import xxx?什么时候用from xxx import yyy?什么时候用from xxx.yyy ...

  8. idea去掉无用import类_@Import注解的魅力

    本篇主要介绍Spring注解@Import的魅力所在:它能让你高度自由的定义配置类装载规则与Bean注册逻辑.@Import是Spring体系中的一个比较重要的注解,下面让我们一起看看它都有哪些神奇的 ...

  9. python中from import用法_python学习--Python之import与from...import的区别与用法

    Python编码第一步是导入模块,有时候用import ***有时候用from...import,它们有什么区别呢,请看实例A/B: A: 1.当模块test.py中没有类,只有方法add,此方法实现 ...

最新文章

  1. 富文本编辑_博客的后台富文本编辑和阅读计数
  2. Zigbee通讯漫谈(初次见面)
  3. XCode修改工程名注意
  4. Kudu安装(官网推荐的步骤)(installing build Kudu from source)
  5. 使用自定义RadioButton和ViewPager实现TabHost效果和带滑动的页卡效果。
  6. 【数据采集】将16进制字符串转化为Double类型输出(依照IEEE754标准)
  7. matlab sobel锐化,sobel锐化 - yirui wu.ppt
  8. es6 Reflect对象简介
  9. linux 挂载windows共享目录 is not a valid block device
  10. html css字幕滚动代码,纯CSS实现滚动3D字幕
  11. bzoj 3378: [Usaco2004 Open]MooFest 狂欢节(BIT)
  12. 硬件笔记1:80508550三极管对管驱动电机电路(已经实测可用)
  13. 基于FPGA的OV5640摄像头驱动
  14. win7系统配置时间服务器,与Internet时间服务器同步 设Win7精确时间
  15. HDFS操作及命令介绍
  16. SEM竞价推广关键词托词方法与词性划分
  17. 解决启动谷歌浏览器时打开2345主页
  18. 《Unity开发实战》——2.4节自定义镜头光晕效果
  19. 乱花渐欲迷人眼的C编译器中,谁才是“编译之王”?
  20. (笔记整理)公司vue平台用到redis,相关概念与登录(11)

热门文章

  1. video processing on Mac and iOS
  2. [笔记] 分频计数(七)
  3. javascript:子窗口和父窗口交互
  4. gcc命令-更新中....
  5. Android BrocastReceiver解析
  6. Python if控制流语句
  7. Coursera, Big Data 1, Introduction (week 3)
  8. php is_null、empty、isset的区别
  9. PHP 用图片输出验证码 无法正常显示
  10. 无旋treap的简单思想以及模板