python中import和from-import的区别

. import导入模块的路径两种方式
# 将模块所在路径再程序中添加到sys.path列表中
    import sys
    sys.path
        import导入模块按照sys.path顺序依次查找,“”代表当前路径

# 修改操作系统的PYTHON_PATH环境变量
    # 系统的环境变量
    export PYTHON_PATH=$PYTHON_PATH:新的路径

. import 模块名 和 from 模块名 import * 是不同的;

1. 调用模块属性的区别
    import 模块名
    模块名.xxx = 引用

    from 模块名 import *
    xxx = 拷贝  # 能修改属性值  

    函数,类... : "import 模块名" 和 "from 模块名 import *" 都是引用

2. 私有属性两种导入的区别
    # . 类中的私有属性
    # 本质做了一个名字重整

    class test()

      self.__name

    __name 名字重整成 _test__name
    _littlethree : 模块的私有属性(数据)

    from 模块 import * : 导入模块时,会跳过私有属性;

    import 模块 : 通过引用可以访问私有属性

.   重新导入模块的方法

import a
import a

# 注意:import多次,只有第一次会执行;
# 或者重启程序

   
"""reload()方法能重新导入模块"""
from imp import reload
reload(模块名)

import和from-import的显著区别

  • from A import B在导入过程中 创建模块对象 将模块对象的引用保存在本地作用域, 也就是说当前作用域有一个名字叫B的对象,locals()可以查看; import A 在导入模块的过程 创建模块对象 将模块对象的引用保存在本地

原文地址:https://www.cnblogs.com/lzc978/p/10105194.html

时间: 2024-10-12 12:01:42

python中import和from-import的区别的相关文章

Python中关于导入(import)语句的使用说明

在所有的语言中,语言的开发者都会为我们提供强大的库文件供我们调用,通过使用这些库文件,我们才可以把程序完美的运行起来,既然要用到库文件,我们就要导入我们需要使用的库文件,因为,机器是不知道我们想基于哪些库进行程序的编写的.在导入库的时候,不同的语言有自己的风格.例如在C/C++等语言中,我们使用#include <>或者#include ""来导入库或者头文件.那么在python中我们怎么导入库呢. 首先,在Python中,我们可以导入三种库:Python标准模块,Pyth

Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用

Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str()或者 repr() . >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因

Python 中使用列表解析时候的区别

使用[] + for语句是解析列表 而使用() + for语句是产生生成器 实例代码如下: alist = [1, 2, 3, 4, 5] another_list = [i for i in alist] print another_list a_generator = (i for i in alist) print a_generator for i in a_generator: print i Python 中使用列表解析时候的区别

Python中str()与repr()函数的区别

在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str()或者 repr() . >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因为提供两个功能完全相同的内建函数是没有意义的.先看一个例子. >>> print(str('123')) 123 >

Python中list,tuple,dict,set的区别和用法

Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然

Python 中 &quot;is&quot; 与 &quot;==&quot; 操作有什么区别?

转自:https://foofish.net/what-is-difference-between-is-and-euqals.html 在 Python 中,比较两个对象(变量)是否相等,可以用 "is" 和 "==" 操作,但它俩有什么区别?什么时候用 "is",什么时候用 "==" ?在面试时,发现不少候选人很难把这两者完全说清楚,因此在这篇文章中,「Python之禅」将对二者进行深入浅出的对比介绍. 先举个例子 小黄最

python中的__init__和__new__的区别

一.__init__ 方法是什么?(init前后的线是双下划线) 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候.例如: 1 # -*- coding: utf-8 -*- 2 3 class Person(object): 4 """Silly Person""" 5 6 def __init__(self, name, age): 7 self.na

真正搞明白Python中Django和Flask框架的区别

在谈Python中Django框架和Flask框架的区别之前,我们需要先探讨如下几个问题. 一.为什么要使用框架? 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用.系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去. 而开发一个应用呢?同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块使用代码实现. 如果开发一个软件应用不使用框架,和我们建房子时,每一块砖.每一根钢筋都需要自己生产出来本质上是一样的. 显而易见,如果在

Python中新式类 经典类的区别(即类是否继承object)

首先什么是新式类 经典类呢: #新式类是指继承object的类 class A(obect): ........... #经典类是指没有继承object的类 class A: ........... Python中推荐大家使用新式类 1.新的肯定好哈,已经兼容经典类 2.修复了经典类中多继承出现的bug 下面我们着重说一下多继承的bug 如图: BC 为A的子类, D为BC的子类 ,A中有save方法,C对其进行了重写 在经典类中 调用D的save方法 搜索按深度优先 路径B-A-C, 执行的为

Python中循环引用(import)失败的解决方法

原文链接:http://blog.ihuxu.com/the-solution-to-the-problem-of-circular-import-in-python/ 我是采用方案三 "将引用放到函数内部"解决了这个问题.下面为原文. 前言 最近在开发智能家居项目hestia-rpi项目中,由于代码结构层级划分不合理,导致了循环引用(import)module失败的问题,错误如下: Traceback (most recent call last):  File "./ma