当前位置: 首页 > 面试题库 >

将“ get function”用于python类有什么好处?

夏侯朝斑
2023-03-14
问题内容

例如,在下面的代码中,getName函数的好处是什么?

class Node(object):
    def __init__(self, name):
        self.name = str(name)
    def getName(self):
        return self.name
    def __str__(self):
        return self.name

问题答案:

没有好处。人们从其他语言(例如Java)使用Python有时会这样做,因为他们已经习惯了。在Python中,没有必要创建这些类型的getter和setter,它们除了直接获取和设置基础变量外什么也不做。
如果以后需要执行比获取/设置值更复杂的操作,则属性可以透明地交换逻辑

使用getters / setters可能会有好处,但是在Python中,没有真正的理由使用琐碎的getters /
setters而不是直接获取/设置属性。我能想到的唯一原因是,如果您必须与需要某些方法集的现有API保持兼容性。



 类似资料:
  • 问题内容: 在Python 3.4中,我们在标准库中获得了一个Enum库:。我们可以在pypi中使用enum34的Python 2.4到2.7(甚至3.1到3.3)使用它的反向端口。 但是我们已经设法在没有这个新模块的情况下相处了很长时间-那么为什么现在有了它呢? 我对其他语言的枚举的用途有一个大致的了解。在Python中,通常使用如下所示的裸类并将其称为枚举: 可以在API中使用它来创建值的规范

  • 本文向大家介绍python 什么是lambda表达式?它有什么好处?相关面试题,主要包含被问及python 什么是lambda表达式?它有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 简单来说,lambda表达式通常是当你需要使用一个函数,但是又不想费脑命名一个函数的时候使用,也就是通常所说的匿名函数

  • 问题内容: 我的应用程序中有一些内存泄漏。它们都起源于一个特定的视图集群,我花了大量时间进行调整,并尝试减少尽可能多的上下文传递。这使我相信群集中使用的位图就是问题所在。因此,我考虑将WeakReferences用于所有对视图使用的位图的引用。我从未使用过WeakReference,并且不确定这是否是一个好的应用程序。任何机构都可以提供有用的指示或技巧吗? 问题答案: 因此,我考虑将WeakRef

  • 问题内容: 我是Java开发人员,我想知道如何在Java程序中使用Scala? 问题答案: 去阅读 Daniel Spiewak 关于Scala 的优秀博客系列。使用Scala,您可以保持: 您所有的Java库 在JVM上运行的所有优势(普遍性,管理工具,性能分析,垃圾回收等) 但是您可以编写Scala代码: 比Java更简洁明了(尤其是使用更多的 功能 样式,例如在collections库中)

  • 我不得不问这是一个好的做法吗?好心地建议使用它的优点和缺点(利弊)。

  • 问题内容: 似乎与 使用open .. as代替f =有什么好处?只是语法糖吗?仅保存一行代码? 问题答案: 为了与语句版本等效,您编写的代码应如下所示: 虽然这看起来像语法糖,但可以确保您释放资源。通常,这个世界比这些人为的例子要复杂得多,如果您忘记了一个案例或无法处理一个极端案例,那么您将面临资源泄漏。 该语句使您免于那些泄漏,使编写干净的代码更加容易。有关完整的说明,请参阅PEP 343 ,