我意识到在我学过的许多语言中都包含关键字publicand private,而且我还发现 Lua 相当于privateislocal这让我思考 C 和 Python 中是否也有等效的。
那么, C 和 Python 中是否有 Java 中的publicand的实际等效项呢?private
森栏
浏览 123回答 2
2回答
慕哥9229398
Python 中受保护字段和私有字段有一个命名约定:一个下划线前缀表示受保护,两个下划线表示私有。但这并没有真正得到执行。不带一两个下划线前缀的所有内容都是公共的。在 C 中,全局变量和函数可以从其他源文件中的函数访问,除非它们被声明static。与 不完全相同private,但 C 不是面向对象的,因此这里不存在类的概念。
在 python 中,你可以通过在成员名称前添加 dunders(双下划线) 来声明私有成员,如下所示:class Sample: def __init__(self): self.__private_mem = "Can be accessed only by member functions" self.public_mem = "Can be accessed as object properties outside the class"sample = Sample()print(sample.public_mem)print(sample.__private_mem) # will raise an Error但是,我想C语言中没有这样的东西,因为它不是面向对象的。