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

如何防止函数在python中被覆盖

司寇经亘
2023-03-14
问题内容

有没有一种方法可以使类函数不可重写?类似于java的final关键字。即,任何覆盖的类都不能覆盖该方法。


问题答案:

问题是您正在尝试使用Java哲学来用Python编写。有些东西会延续,但不是全部。在Python中,您可以执行以下操作,这非常好,但是完全违反了Java对对象的看法。

class Thing(object):
    x = 1
something = Thing()
something.y = something.x

如果您确实需要,可以尝试此处发布的代码。但是正如您所看到的,有很多代码可以让它执行您想要的操作。还应注意,即使是发布代码的人也可以使用__dict__或来传递代码object.__setattr__



 类似资料:
  • 问题内容: 有什么方法可以防止子类覆盖基类中的方法? 我的猜测是没有,但是我来自.NET界,并且我正试图使我的API尽可能健壮,因此,任何输入都将不胜感激。 可以强制执行吗?我知道编译器无济于事,所以也许通过一些运行时检查来解决?还是这不是一种处理事情的Python方法? 问题答案: 您是对的:您的尝试与Python的结构及其文化背道而驰。 记录您的API,并教育您的用户如何使用它。这是他们的程序

  • 问题内容: 我正在使用BeautifulSoup解析HTML表,如下所示: 我将多个语句重构为一个函数: 像这样被称为: 我的问题是,当函数找不到匹配项时,它将返回,将被打印出来。这是不希望的。 有什么方法可以使此函数仅在满足if条件时才返回值? 问题答案: 如果在退出函数调用时未指定return ,Python将始终返回。您的选择是: 如果不满足条件,则返回其他内容。 如果返回则忽略该函数 选项

  • 我希望加入两个数据帧使用pd.merge_asof功能。此功能允许我匹配唯一id和/或最近的密钥上的数据。在本例中,我正在匹配id以及小于或等于df1中的日期的最近日期。 有没有办法防止加入时df2的数据被回收? 这是我目前拥有的代码,用于回收df2中的值。 这是我希望看到的输出,而不是只有第一次匹配成功的地方

  • 嗨,我有一个maven项目,需要在集成测试开始之前将2个WAR部署到一个jetty环境中。在正常情况下,这些WAR不是项目的依赖项,但它们需要分开部署,以便集成测试发挥作用。 有人知道如何在只下载依赖项而不做任何更多事情的war上添加依赖项吗?

  • 问题内容: 我正在编写一个程序,通过pickle模块缓存一些结果。目前发生的情况是,如果在执行操作时按ctrl-c,则会被打断,从而导致文件损坏(即仅部分写入,因此无法再次进行编辑)。 有没有办法使代码块或通常的代码块不间断?我当前的解决方法如下所示: 如果操作被中断,重新启动该操作似乎很愚蠢,所以我正在寻找一种推迟中断的方法。我该怎么做呢? 问题答案: 将函数放在线程中,然后等待线程完成。 除非

  • 问题内容: 场景: 该代码不起作用,而且我找不到像继承那样来调用trait函数的方法。我打过电话,,,和以下内容: 没用。 有没有办法使它起作用,或者我必须完全重写特质函数,它比这要复杂得多:) 问题答案: 您的最后一个快到了: 特质不是阶级。您不能直接访问其成员。基本上只是自动复制和粘贴…