python中import和from-import的区别解析

目录
  • . import导入模块的路径两种方式
  • . import 模块名 和 from 模块名 import * 是不同的;
  • .重新导入模块的方法
  • 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 在导入模块的过程 创建模块对象 将模块对象的引用保存在本地

到此这篇关于python中import和from-import的区别的文章就介绍到这了,更多相关python中import和from-import的区别内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python中的import、from import及import as的区别解析

    首先介绍一下import和include的区别或者说import相对include的好处: import导入的内容只会被包含一次,在引入之前会检测是否已经存在该模块,不存在才会被引入,而include是不会做判断的.使用import在递归包含的时候不会出错,不会引起交叉编译的问题.此外,使用include引入头文件对其引入顺序也有一定的要求. import import是python提供的用于导入模块的机制,导入是的整个模块的内容.模块可以是py.pyc.pyd,可以是系统自带的,也可以是自定义

  • python中import reload __import__的区别详解

    import 作用:导入/引入一个python标准模块,其中包括.py文件.带有__init__.py文件的目录(自定义模块). import module_name[,module1,...] from module import *|child[,child1,...] 注意:多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境. 实例: pythontab.py #!/usr/bin/env python #encoding: utf-8

  • Python import用法以及与from...import的区别

    在python用import或者from...import来导入相应的模块.模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了.这类似于C语言中的include头文件,Python中我们用import导入我们需要的模块. eg: 复制代码 代码如下: import sys print('================Python import mode==========================

  • Python import与from import使用和区别解读

    系统自带模块(库) ```cpp import re target = 'abc1234xyz' re.search('(\d+)', target) 但有时候,你可能会看到某些人这样写代码: ```python from re import search target = 'abc1234xyz' search('(\d+)', target) 那么这两种导入方式有什么区别呢? 我们分别使用type函数来看看他们的类型: >>> import re >>> type(

  • python3中_from...import...与import ...之间的区别详解(包/模块)

    目录 前言 1.import ... 2.from ... import ... 3.引用也有区别 4.引用优化 总结 前言 [以下说明以tkinter模块为例进行说明] [下图为安装后在python解释器路径下lib(库)文件夹下的tkinter文件夹下的内容] 1.import ... [语法]import tkinter [说明] import引入的是包中根目录下__init__.py中的全部内容,包括其中的类.类内部的公有属性.类内部的公有方法.方法等内容.(该种方式导入包的本质就是执行

  • Python import与from import使用及区别介绍

    下面介绍下Python import与from import使用,具体内容如下所示: Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.Python本身也内置一组模块(即标准库).每个模块都是一个Python程序,且包含了一组相关的函数,可以嵌入到你的程序之中,比如,math模块包含了数学运算相关的函数,random模块包含随机数相关的函数,等等. 一.import语句 在开始使用一个模块中的函数之前,必须用import语句导入该模块.

  • Python中的list与tuple集合区别解析

    Python中内置了list集合与tuple集合,在list集合中可以实现元素的添加.修改.插入.以及删除.tuple集合看似与list类似,但两者还是有很大的区别. 在tuple集合中,一旦元素被存储,以后就不能修改,删除了,这比list集合安全许多,所以能用tuple就用tuple.以下是list集合代码实现. L=['Java','Python','C++'] #注意,这里用的是中括号来表示list集合 L.append('PhP')#元素的添加 print(L[-1])#查找最后一个元素

  • 浅谈python 中的 type(), dtype(), astype()的区别

    如下所示: 函数 说明 type() 返回数据结构类型(list.dict.numpy.ndarray 等) dtype() 返回数据元素的数据类型(int.float等) 备注:1)由于 list.dict 等可以包含不同的数据类型,因此不可调用dtype()函数 2)np.array 中要求所有元素属于同一数据类型,因此可调用dtype()函数 astype() 改变np.array中所有数据元素的数据类型. 备注:能用dtype() 才能用 astype() 测试代码: import nu

  • python中 _、__、__xx__()区别及使用场景

    理论 Python中不存在真正的私有方法.为了实现类似于c++中私有方法,可以在类的方法或属性前加一个"_"单下划线,意味着该方法或属性不应该去调用,它并不属于API.但是,这只是一个形式上的约定,python并不阻止调用. __双下划线的作用是避免覆盖其内容,实现的机制是在带有双下划线的方法或属性前加上_类名的标识.由于,python自动对方法和属性进行了改写,所以直接调用带有双下划线的方法是调用不到的. "xx"经常是操作符或本地函数调用的magic metho

  • Python中set与frozenset方法和区别详解

    set(可变集合)与frozenset(不可变集合)的区别: set无序排序且不重复,是可变的,有add(),remove()等方法.既然是可变的,所以它不存在哈希值.基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交集), difference(差集)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set.作为一个无序的集合,sets不记录元素位

  • 对python 中re.sub,replace(),strip()的区别详解

    1.strip(): str.strip([chars]);去除字符串前面和后面的所有设置的字符串,默认为空格 chars -- 移除字符串头尾指定的字符序列. st = " hello " st = st.strip() print(st+"end") 输出: 如果设置了字符序列的话,那么它会删除,字符串前后出现的所有序列中有的字符.但不会清除空格. st = "hello" st = st.strip('h,o,e') print(st) 因

  • 对python中数组的del,remove,pop区别详解

    以a=[1,2,3] 为例,似乎使用del, remove, pop一个元素2 之后 a都是为 [1,3], 如下: >>> a=[1,2,3] >>> a.remove(2) >>> a [1, 3] >>> a=[1,2,3] >>> del a[1] >>> a [1, 3] >>> a= [1,2,3] >>> a.pop(1) 2 >>>

  • 深入理解Python中的 __new__ 和 __init__及区别介绍

    本文的目的是讨论Python中 __new__ 和 __ini___ 的用法. __new__ 和 __init__ 的区别主要表现在:1. 它自身的区别:2. 及在Python中新式类和老式类的定义. 理解 __new__ 和 __init__ 的区别 这两个方法的主要区别在于:__new__ 负责对象的创建而 __init__ 负责对象的初始化.在对象的实例化过程中,这两个方法会有些细微的差别,表现于:如何工作,何时定义. Python中两种类的定义方式 Python 2.x 中类的定义分为

  • python中get和post有什么区别

    在客户端,Get方式在通过URL提交数据,数据在URL中可以看到:POST方式,数据放置在HTML HEADER内提交. GET方式提交的数据最多只能有1024 Byte,而POST则没有此限制. 安全性问题.正如在上面中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会.所以,如果这些数据是中文数据而且是非敏感数据,那么使用get:如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好. 表单提交中get和post方式的区别归纳如下几点: get是从服务器

  • 深入浅析python 中的self和cls的区别

    python 中的self和cls 一句话描述:self是类(Class)实例化对象,cls就是类(或子类)本身,取决于调用的是那个类. @staticmethod 属于静态方法装饰器,@classmethod属于类方法装饰器.我们需要从声明和使用两个方面来理解. 详细介绍 一般来说,要使用某个类的方法,需要先⚠️实例化一个对象再调用方法.而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用.这有利于组织代码,把某些应该属于某个类的函数给放到

  • Python中read,readline和readlines的区别案例详解

    python中有神奇的三种读操作:read.readline和readlines read()  : 一次性读取整个文件内容.推荐使用read(size)方法,size越大运行时间越长 readline()  :每次读取一行内容.内存不够时使用,一般不太用 readlines()   :一次性读取整个文件内容,并按行返回到list,方便我们遍历 一般小文件我们都采用read(),不确定大小你就定个size,大文件就用readlines() 1)我们先用read来完整读取一个小文件,代码如下: f

随机推荐