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

Python类

时间:2014-08-12 16:28:24      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:des   java   使用   strong   数据   ar   管理   c++   

使用class关键字创建。类的域和方法被列在一个缩进块中

 

类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。

 

Python中的self等价于C++中的self指针和Java、C#中的this参考。

这也意味着如果你有一个不需要参数的方法,你还是得给这个方法定义一个self参数。

 

class Person:

def __init__(self, name):

self.name = name

def sayHi(self):

print ‘Hello, my name is‘, self.name

 

p = Person(‘Swaroop‘)

p.sayHi()

注意sayHi方法没有任何参数,但仍然在函数定义时有self。

 

__init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的初始化 。注意,这个名称的开始和结尾都是双下划线。

__init__方法类似于C++、C#和Java中的 constructor

__del__方法与 destructor 的概念类似。

 

Python中所有的类成员(包括数据成员)都是 公共的 ,所有的方法都是 有效的 。

只有数据成员名称以 双下划线前缀 比如__privatevar,Python的名称管理体系会有效地把它作为私有变量。这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀

 

继承

class childClass(parentClass) :

‘‘‘Represents a childClass.‘‘‘

def __init__(self, name, age, marks):

parentClass.__init__(self, name, age)

 

Python不会自动调用基本类的constructor,你得亲自专门调用它

Python类,布布扣,bubuko.com

Python类

标签:des   java   使用   strong   数据   ar   管理   c++   

原文地址:http://www.cnblogs.com/manhua/p/3848030.html

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