首页
学习
活动
专区
工具
TVP
发布

不要写test.py这样的module

帮几个小伙伴解决Houdini中心化配置都在问我这个问题,Andy,为什么我定义的test.py在Houdini导入使用会出错啊?

这个简单的问题背后是值得思考的,是否思考过包的命名,模块的命名,类的命名,函数的命名这些?

先来讲一下为什么我写个test.py或者test这样的包会导致的问题吧

我们打开系统命令行

在Houdini Python Shell中

可以看到test实际是python模块库中的一个包形式本身就存在的,如果此时你自己写了一个test.py文件导入的话,实际导入的并不是你写的这个模块,自然就得不到你想要的结果。

那Python不能存在两个同名的模块么?当然不是,可以同时存在,但Python是通过sys.path中路径先后顺序引用的,不幸的是,自己写的test.py模块路径排在了最后,所以会先导入库里面的test模块。

为了避免这种情况,可以使用包来组织自己的模块,在包里面写test是没有问题,但笔者还是建议不要这样去写,还是多看看Python规范文档,对自己的模块命名要求严格一些,下面的是谷歌的规范,之前发过文章,还是多参考参考

PEP 8中也有相当一部分内容是关于命名规范的描述

还有一种驼峰的命名方式,我也蛮喜欢,孰好孰坏,选择自己喜欢的。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180123G00ZF200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券