天天看点

Python学习记录(一) import 与 from...import以及from . import、import as区别

import 与 from...import基本语法(w3school)

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *

导入 sys 模块

import sys

print('================Python import mode==========================')

print ('命令行参数为:')

for i in sys.argv:

  print (i)

print ('\n python 路径为',sys.path)

导入 sys 模块的 argv,path 成员

from sys import argv,path # 导入特定的成员

print('================python from import===================================')

print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

from . import

from . import, “.”  代表使用相对路径导入,即从当前项目中寻找需要导入的包或函数。

具体可以参见:python的包导入问题(一)from . import 的使用

import as

用于引入一个模块的同时为该模块取一个别名。

使用语法:import multiprocessing as mp 表示引入multiprocessing模块并取别名为mp,在该文件的后续调用中mp就相当于是multiprocessing。

import 与 from...import区别

python中有两种导入模块的方式,一种是import xxx,另一种是from xxx import yyy,两者的区别在于,

第一种仅仅导入一个模块,并且将该模块执行了一遍,if __main__ =="__main__"里面的没有执行。同时,有在当前的命名空间中导入变量,需要通过xxx.yyy的方式使用导入模块中的变量、函数、类等;

第二种则将模块中的变量yyy导入了当前命名空间,因此使用时可以直接以yyy调用,使用这种导入方法时,需要注意当前的命名空间是否有重名的,from xxx import *这种方式尽量不要使用,因为这样就破坏了对命名空间的管理。使用from xxx import *时是不能导入以单下划线开头的保护属性和以双下划线开头的私有属性的。

原文链接:https://blog.csdn.net/shiniantianlang/article/details/90665736