您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python-我应该使用静态方法还是顶级函数

python-我应该使用静态方法还是顶级函数

在Java中,有一个(恕我直言是错误的)想法,它在所有地方都使用类,甚至只是将不共享任何状态的静态函数组合在一起(因此,此类永远都不会被实例化)。@H_301_1@

这里的Python有所不同。如果您的函数没有某些共享状态1(因此在Java中通常是static函数),并且与“真实”类(=实际上已实例化的)没有紧密关系,则只需在模块。@H_301_1@

其背后的原因是,仅当您实际要实例化它时才需要一个类,因此,将类作为多个不需要共享特定于实例的状态的函数的容器是没有用的。@H_301_1@

实际上,您可以在 某种程度上 将模块视为static类-即,包含函数(=静态方法),模块变量(= static字段)和类型的容器。@H_301_1@

Python的优点在于,拥有顶层函数不会带来全局命名空间污染的问题,因为在Python中顶层函数/ objects / …仍然是模块作用域的。因此,您仍然可以按模块对功能进行分组,而无需不必要的class-tax。@H_301_1@

python 2022/1/1 18:34:38 有208人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶