gpt4 book ai didi

python - 静态变量可以在python中声明为私有(private)吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:09:58 27 4
gpt4 key购买 nike

class Applicant:
applicant_id_count=1000
application_dict={
"A":0,
"B":0,
"C":0
}
def __init__(self,applicant_name):
self.__applicant_name=applicant_name
self.__applicant_id=None
self.__job_band=None

我需要将上述类中的静态变量即 application_dictapplicant_id_count 设为私有(private)静态变量。或者python中有这样的东西吗?

最佳答案

Python 没有访问修饰符。如果您想从实例或类外部访问实例(或类)变量,您始终可以这样做。

也就是说,大多数开发人员都遵循使用下划线 (_) 的约定来指示变量/方法是私有(private)的。单个下划线表示它是一个私有(private)变量,但它实际上不会改变访问权限。示例:

class Applicant:
_applicant_id_count = 1000

Applicant._applicant_id_count # equals to 1000

如果出于某种原因你想模拟私有(private)变量,你总是可以使用 __ 前缀。 Python 会破坏变量的名称,使它们不容易可见。示例:

class Applicant:
__applicant_id_count=1000

当有人尝试直接访问它时,您将收到以下错误:

Applicant.__applicant_id_count
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: class Applicant has no attribute '__applicant_id_count'

有人可以破解他们的方式并使用这样的变量:

Applicant._Applicant__applicant_id_count # prints out 1000

您可以在这里阅读更多相关信息:https://www.geeksforgeeks.org/private-variables-python/

关于python - 静态变量可以在python中声明为私有(private)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52895120/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com