python导入其它py文件的方法和类
一、在同一目录下1、导入自己定义的方法a.py和b.py在桌面上在a.py文件中定义如下方法:def sol(c):print(c*2)在b.py文件中导入这个方法:直接导入文件import asol(3)输出结果:runfile('C:/Users/CZPZ/Desktop/untitled0.py', wdir='C:/User...
一、在同一目录下
1、导入自己定义的方法
a.py和b.py在桌面上
在a.py文件中定义如下方法:
def sol(c):
print(c*2)
在b.py文件中导入这个方法:
直接导入文件
import a
sol(3)
输出结果:
runfile('C:/Users/CZPZ/Desktop/untitled0.py', wdir='C:/Users/CZPZ/Desktop')
Reloaded modules: a
4
2、导入自己定义的类
a.py和b.py在桌面上
a.py中定义如下类:
class a(object):
def sol(self,c):
print(c*2)
在b.py文件中导入这个类:
from a import a
d = a()
d.sol(3)
输出结果:
runfile('C:/Users/CZPZ/Desktop/untitled0.py', wdir='C:/Users/CZPZ/Desktop')
Reloaded modules: a
6
二、不在同一目录下
在这种情况下,我们在folder中新建一个__init__.py文件,此时的folder不再是一个普通的文件夹,而是一个包 package
__init__.py文件用于组织包(package)。这里首先需要明确包(package)的概念。什么是包(package)?简单来说,包是含有python模块的文件夹。一个python模块(module)为一个py文件,里面写有函数和类。包(package)是为了更好的管理模块(module),相当于多个模块的父节点。
当文件夹下有__init__.py时,表示当前文件夹是一个package,其下的多个module统一构成一个整体。这些module都可以通过同一个package引入代码中。
__init__.py文件怎么写
可以什么都不写,但如果想使用from package1 import *这种写法的话,需要在__init__.py中加上:
__all__= ['file1','file2']#package1下有file1.py,file2.py
package1/
__init__.py
subPack1/
__init__.py
module_11.py
module_12.py
module_13.py
subPack2/
__init__.py
module_21.py
module_22.py
好了,现在我们在module_11.py中定义一个函数:
def funA():
print "funcA in module_11"
return
在顶层目录导入包:
>>>from package1.subPack1.module_11 import funcA
>>>funcA()
funcA in module_11
更多推荐
所有评论(0)