python导入其它py文件的方法和类

一、在同一目录下

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

 

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值