码迷,mamicode.com
首页 > 其他好文 > 详细

类的内置方法__

时间:2018-10-20 16:27:43      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:ini   init   sel   外部   子类   用法   属性   类的方法   mil   

__具有唯一性,不同类下面得相同__函数名字,是不同的,这个是有自己的作用域的,当你继承父类的时候,是不可以调用父类里面的这个方法的,

继承:当子类没有这个方法或者属性的时候,就去父类里面找,__函数名字

 

继承的用法:
例子1
class A():
  def __edit(self):
    print(‘A的edit方法‘)
    return ‘A的edit‘
class B(A):
  print(‘B‘)
  def __edit(self):
    print(‘B的edit方法‘)
    return ‘B的edut‘

##第一种调用的方法
    obj=B().__edit()
    print(obj)
##执行报错,调用不了父类的__的方法(内置的方法)报错

 


讲解:
这个__edit在这个类下面是有自己的作用域的,外部是调用不了的

例子2:在自己的作用域下面尽进行调用这个类下面内置的方法(特殊)

class A():
  def __edit(self):
    print(‘A的edit方法‘)
    return ‘A的edit‘
class B(A):
  print(‘B‘)
  def __edit(self):
    print(‘B的edit方法‘)
    return ‘B的edut‘

  def fun(self):
    a=self.__edit()
    # print(a)
    return a

##通过调用B下面的fun方法来调用__edit
    obj=B().fun()
    print(obj)

##通过init来调用这个内置的方法
class B(A):
  print(‘B‘)
  def __init__(self):
    self.__edit()
##第二种
    # a=self.fun()
    # print(a)
  def __edit(self):
    print(‘B的edit方法‘)
    return ‘B的edut‘

  def fun(self):
    a=self.__edit()
    # print(a)
    return a
B()

 

例子3:
继承调用父类的方法:(不是内置的方法)
class A():

def __init__(self):
self.__edit()
  def __edit(self):
    print(‘A的edit方法‘)
    return ‘A的edit‘

  def fun2(self):
    print(‘A的fun2‘)
class B(A):
  print(‘B‘)
  def __init__(self):
    self.fun2()

  # def __edit(self):
    # print(‘B的edit方法‘)
    # return ‘B的edut‘

  def fun(self):
    a=self.__edit()
    # print(a)
    return a
B()

 

##继承调用父类的:(__edit作用域在父类那里,子类不能调用)
报错
class A():

  def __init__(self):
    self.__edit()
  def __edit(self):
    print(‘A的edit方法‘)
    return ‘A的edit‘

  def fun2(self):
    print(‘A的fun2‘)
class B(A):
  print(‘B‘)
  def __init__(self):
    self.__edit()

    # def __edit(self):
    # print(‘B的edit方法‘)
    # return ‘B的edut‘

  def fun(self):
    a=self.__edit()
    # print(a)
    return a
B()

类的内置方法__

标签:ini   init   sel   外部   子类   用法   属性   类的方法   mil   

原文地址:https://www.cnblogs.com/yunxintryyoubest/p/9821601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!