码迷,mamicode.com
首页 > 编程语言 > 详细

python 学习(二)--关于类

时间:2017-01-01 22:39:14      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:对象   --   turn   使用   创建   下划线   get   elf   return   

1、没有权限控制,在类方法或变量前加 "__" 两下划线,则变为“私有”变量(实际通过_<类名>__<变量或方法名> 可以访问)

2、类的若干自动触发的内置方法:

  • __new__(cls[, ...])      //该方法返回一个本类的实例,传入的参数会原封不动传递给 __init__() 方法. 该方法一般在继承一个不可修改的类时使用,例如 str

class CapStr(str):

  def __new__(cls, string):

    string = string.upper()

    return str.__new__(cls, string)

a = CapStr("I love you");

 

  • __init__(self[, ...])     //该方法在实例创建后最早被调用,用于初始化对象

class Rectangle:

  def __init__(self, x, y):

    self.x = x

    self.y = y

  def getPeri(self):

    return(self.x + self.y)*2

aa=Rectangle(3, 4);

aa.getPeri()

 

  • __del__(self)   //该方法在类实例被释放,最后垃圾回收的时候才被触发

c1=C()

c2=c1

c3=c2

del c3   //不会被触发

del c2  //不会被触发

del c1  //全部引用消除,触发 __del__

 

  • __add__(self,other) //两个类相加时触发
  • __sub__(self,other) //两个类相减时触发
  • __mul__(self,other) //乘法触发
  • __truediv__(self,other) //真除法

python 学习(二)--关于类

标签:对象   --   turn   使用   创建   下划线   get   elf   return   

原文地址:http://www.cnblogs.com/zhenfei/p/6241523.html

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