python中import和from import的区别
首先明确
尽量不要为了图省事使用from xxx import *
python中有两种导入模块的方式,一种是import xxx,另一种是from xxx import yyy,两者的区别在于,第一种仅仅导入一个模块,并且将该模块执行了一遍,if __main__ =="__main__"里面的没有执行。
同时,有在当前的命名空间中导入变量,需要通过xxx.yyy的方式使用导入模块中的变量、函数、类等;
第二种则将模块中的变量yyy导入了当前命名空间,因此使用时可以直接以yyy调用,使用这种导入方法时,需要注意当前的命名空间是否有重名的,from xxx import *这种方式尽量不要使用,因为这样就破坏了对命名空间的管理。
ps:使用from xxx import *时是不能导入以单下划线开头的保护属性和以双下划线开头的私有属性的
python中from…import…用法
在python中经常我们使用到from…import…这个句型,而这个句型后面跟着都是什么意思呢,今天我对其进行相应的总结,以便大家和我都能一起进行学习。
首先看一个例子进行相应的分析:
1.直接调用函数
#函数文件,函数文件命名为wangke
def add(a,b):
return a+b
def sub(a,b):
return a-b
#主函数有两种写法
#第一种写法
from wangke import add
from wangke import sub
a=add(1,2)
b=sub(1,3)
#第二种写法
import wangke
c=wangke.add(1,2)
d=wangke.sub(1,3)
2. 调用类中的函数
#类文件,类文件名未wangke1
class aaa:
a=1 #对象的属性
b=2 #对象的属性
def __init__(self,name):
self.name=name #对象的属性
name1=1 #函数的属性
def add(self,a,b):
self.a=a
self.b=b
dd=2 #函数的属性
return self.a+self.b+dd
def sub(self,a,b):
self.a=a
self.b=b
return self.a-self.b
#主函数文件
#第一种写法
from wangke1 import aaa
aa=aaa('lihaha')
print(aa.name)
#第二种写法
import wangke1
aa=wangke1.aaa('lihaha')
print(aa.name)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。