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

python中的私有函数/变量实施

苏乐
2023-03-14
问题内容

我看到很多执行“松散”私有变量/功能的python代码。他们将用一个下划线(例如_foo)声明函数/变量,然后仅在类/文件中使用它。他们不使用双下划线确实让我感到烦恼,因为最终,有人会从班级外部将此人称为“私人”成员。

是否有某种方法可以在单个下划线上强制执行隐私(不更改为双下划线)?谢谢!


问题答案:

否。这就是python的理念:不要让编译器/解析器强制执行隐私,因为 想要 访问私有成员的开发人员无论如何都可以这样做(反射等)。这个想法告诉人们,
嘿,这不是公共API的一部分。 如果使用不当,可能会损坏东西或杀死猫。我也可能经常更改签名,因为它不是公共API的一部分,而且我不必在乎使用它的人

而且,实际上,您可以使用来从外部访问双下划线变量(方法同样适用)obj._ClassName__variableName。除此之外,除了mixin对象外,不鼓励使用双下划线-
您永远无法知道是否有人想对您的类进行子类化。



 类似资料:
  • 本文向大家介绍Python程序中的私有变量,包括了Python程序中的私有变量的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习Python类中的私有变量。 Python没有称为私有变量的概念。但是,大多数Python开发人员都遵循命名约定来告诉变量不是公共变量,而是私有变量。 我们必须以双下划线开头一个变量名称,以将其表示为私有变量(不是真的)。示例:-一,二等..,。 正如我们已

  • 本文向大家介绍Python 私有函数的实例详解,包括了Python 私有函数的实例详解的使用技巧和注意事项,需要的朋友参考一下 Python 私有函数的实例详解 与大多数语言一样,Python 也有私有的概念: • 私有函数不可以从它们的模块外面被调用 • 私有类方法不能够从它们的类外面被调用 • 私有属性不能够从它们的类外面被访问 与大多数的语言不同,一个 Python 函数,方法,或属性是私有

  • 问题内容: 我来自Java世界,正在阅读Bruce Eckels的Python 3 ,和。 在阅读类时,它继续说在Python中不需要声明实例变量。你只需在构造函数中使用它们,然后它们就在那里。 因此,例如: 如果是这样,那么类的任何对象都Simple可以s在类外部更改变量的值。 例如: 在Java中,我们已经学会了有关公共/私有/保护变量的知识。这些关键字之所以有意义,是因为有时你需要一个类中的

  • 严格来讲,JavaScript 中没有私有成员的概念;所有对象属性都是公有的。不过,倒是有一个私有变量的概念。任何在函数中定义的变量,都可以认为是私有变量,因为不能在函数的外部访问这些变量。私有变量包括函数的参数、局部变量和在函数内部定义的其他函数。来看下面的例子: function add(num1, num2){ var sum = num1 + num2; return su

  • 如果继承了方法,并且它需要一些私有变量,那么这也必须在中提供,因为我现在正在中调用? 编辑:对于那些说将调用父类方法的人,我发现只有创建的对象,而没有单独的对象一个用于子类,一个用于父类。这里