我最初的问题是;如何格式化相同的属性和方法名称? Martijn in this post回答了这个问题。 Martijn建议在属性名称前添加一个下划线,但是在阅读the docs之后,我觉得这意味着该属性是私有的。我是否将实例属性与类属性混为一谈?类属性的下划线是否一定不一定意味着该属性是私有的?
import random
class RandomName:
def __init__(self, _name=None):
self._name = _name
def name(self):
common_male_names = ['James', 'John', 'Robert', 'Michael', 'William', 'David', 'Richard', 'Joseph', 'Thomas',
'Charles']
chosen_name = random.choice(common_male_names)
self._name = chosen_name
_name属性是否为私有?谢谢! :)
Python中没有“私有”之类的东西。有些人使用下划线作为惯例,表示应将会员视为私人会员,但这纯粹是一种社会惯例,而不是该语言的一部分。
也就是说,在您的特定示例中,鉴于您要提供_temperature
的访问器方法,为什么不应人们认为它是私有的?他们应该只通过调用temperature
来访问它,而不是直接查看它。