zoukankan      html  css  js  c++  java
  • _、__、__xx__之间的差别

    class A(object):
        def __init__(self):  # 系统定义方法
            self.string='A string'
            self._string='A _string'
            self.__string='A __string'  # 私有变量
    
        def fun(self):
            return self.string + ' fun-A'
    
        def _fun(self):
            return self._string+'  _fun-A'
    
        def __fun(self):  # 私有方法
            return self.__string+' __fun-A'
    
        def for__fun(self):  # 内部调用私有方法
            return self.__fun()
    
    class B(A):
    
        def __init__(self):  # 系统定义方法
            self.string = 'B string'
    
    
    a = A()
    print(a.string)
    print(a._string)
    # print(a.__string)  # 不可访问
    
    print(a.fun())
    print(a._fun())
    # print(a.__fun())  # 不可访问
    print(a.for__fun())
    
    b = B()
    print(b.fun())
    print(b.fun().__len__())  # 系统定义函数
    

      

    class X(object):
        def __init__(self, a, b, c):
            self.a = a
            self.b = b
            self.c = c
    
        def __call__(self, a, b):
            self.a = a
            self.b = b
    
    
    x = X(1, 2, 3)
    print(x.a, x.b)
    x(4, 5)
    print(x.a, x.b)
    

      

    .

  • 相关阅读:
    day20
    day19
    day18
    day17
    day16
    day14 HTML
    day7课程
    day6
    python-day4
    python-day3
  • 原文地址:https://www.cnblogs.com/wangsl1204/p/14264300.html
Copyright © 2011-2022 走看看