from…import * 语句与 import 区别

原文: Python 模块

   小白学python

看完这章之后对这个 from…import * 语句与 import 区别很是疑惑从别处看完解释理解如下。

首先你要了解 importfrom…import 的区别。

  • import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。
  • from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。

所以使用上的的区别是当引用文件时是:

import   //模块.函数

from…import  // 直接使用函数名使用就可以了

所以

from…import *:是把一个模块中所有函数都导入进来; 注:相当于:相当于导入的是一个文件夹中所有文件,所有函数都是绝对路径。

结论:

from…import *语句与import区别在于:

import 导入模块,每次使用模块中的函数都要是定是哪个模块。

from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;注因为已经知道该函数是那个模块中的了。

更多解析

  Xiphap

import 和 from … import 模块的变量、方法引用差异

还是上面例子中的模块 support.py:

def print_func( par ):
   print "Hello : ", par
   return

使用 import 引入并调用 support 模块的正确方法:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 导入模块
import support
 
# 现在可以调用模块里包含的函数了
support.print_func("Runoob")

提示:并不能直接使用 print_func() 实现调用,必须将引入的模块名称当作一个对象,调用这个模块对象下的方法 print_func,这时才能实现调用。

使用 from … import 模块的正确方法:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 导入模块
from support import *
 
# 现在可以调用模块里包含的函数了
print_func("Runoob")

提示:可以直接使用 print_func() 实现调用。

笔者建议:一般来说,推荐使用 import 语句,避免使用 from … import,因为这样可以使你的程序更加易读,也可以避免名称冲突。

  xiaomaofeng

1. 调用模块属性的区别

import 模块名
模块名.xxx = 引用

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

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

2. 私有属性两种导入的区别

# . 类中的私有属性
# 本质做了一个名字重整
class test()
    self.__name

__name 名字重整成 _test__name。

_littlethree : 模块的私有属性(数据)。

  • from 模块 import * : 导入模块时,会跳过私有属性;
  • import 模块 : 通过引用可以访问私有属性
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

点我查看本站打赏源码!

忘记密码?

如何获取邀请码?

关闭