Python包、模块、类以及遇到的问题

系统 1360 0

最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。

  • 1 自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪
  • 2 只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)

一般来说注意这两点,构建包就不成问题。

在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也可能有子包,即使如此,每个包里.py文件也是模块(除了带双下划线的那种)

在模块文件里,可以写函数,属性或者类。那么如何调用这些函数、属性或者类呢?

调用函数十分简单,策略就是import 模块.函数或者 from 模块 import 函数,如果想类实例化为对象,可以写成

            
              
                from
              
               模块 
              
                import
              
               类
a 
              
                =
              
                (
              
              
                )
              
            
          

但是一定要注意,不能把模块实例化为对象,他不是类,否则会报错’module’ object is not callable。一般来说,出这种错,半天找不到原因,主要是代码规范做的不够好。把模块名称和类名称写的一样了,以为import模块就可以了,实际上并不是这样。比如我想调用一个叫haha的类并实例化为对象,写了一个haha.py文件,在里面定义haha类,那么实例化对象的时候应该这样写(假设包是MyCode):

            
              
                from
              
               MyCode 
              
                import
              
               haha
a 
              
                =
              
               haha
              
                .
              
              haha
              
                (
              
              
                )
              
            
          

或者写成这样

            
              
                from
              
               MyCode
              
                .
              
              haha 
              
                import
              
               haha
a 
              
                =
              
               haha
              
                (
              
              
                )
              
            
          

这样写都不是很好,总之,最好不要把模块名称和类名称写的一样


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论