Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python函数:它们可以被私有化吗?_Python_Python 3.x_Class_Oop - Fatal编程技术网

Python函数:它们可以被私有化吗?

Python函数:它们可以被私有化吗?,python,python-3.x,class,oop,Python,Python 3.x,Class,Oop,我需要一个只在类中使用的函数。可以像其他方法一样定义它,还是最好将它隐藏在某个地方 class Test: def __init__(self,a,b): self.a=a self.b=b def sayhi(self): print('hi') def printa(self,c): self.sayhi() print('A+C=',self.a+c) def print

我需要一个只在类中使用的函数。可以像其他方法一样定义它,还是最好将它隐藏在某个地方

class Test:

    def __init__(self,a,b):
        self.a=a
        self.b=b

    def sayhi(self):
        print('hi')

    def printa(self,c):
        self.sayhi()
        print('A+C=',self.a+c)

    def printb(self,c):
        self.sayhi()
        print('B+C=',self.b+c) 

让它成为一个私人的功能

使用python约定通过契约将函数设置为私有


让它成为一个私人的功能

使用python约定通过契约将函数设置为私有


与java和其他一些面向对象语言不同,Python没有私有方法。
您只需在方法名称之前添加下划线,以指示它是私有方法。注意:这只对你有意义,被口译员忽略了。与java和其他一些面向对象语言不同,Python没有私有方法,因此仍然可以在类外调用该方法。
您只需在方法名称之前添加下划线,以指示它是私有方法。注意:这只对你有意义,被口译员忽略了。该方法仍然可以在类外调用

欢迎使用Stackoverflow-很棒的答案。欢迎使用Stackoverflow-很棒的答案。
class Test:
    def __init__(self,a,b):
        self.a=a
        self.b=b

    def _sayhi(self):
        print('hi')

    def printa(self,c):
        self._sayhi()
        print('A+C=',self.a+c)

    def printb(self,c):
        self._sayhi()
        print('B+C=',self.b+c)