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

Python 的类

时间:2017-11-07 10:21:22      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:python

1.类的一般形式

  创建类我们一般用class关键字来创建一个类,class后面跟类名字,可以自定义,最后以冒号结尾,如下所示:

class ClassName:

   ‘‘‘类的说明‘‘‘

类的内容


例子:

class Student(object):

   ‘‘‘This is a first class‘‘‘

   name = "li"

   sex = "male"

   age = 27

   def info(self):

       print("%s, %s, %d" %(self.name,self.sex,self.age))

a = Student()

print(type(a))

print(a)

print(a.name)

print(a.sex)

print(a.age)

a.info()


结果:

<class ‘__main__.Student‘>

<__main__.Student object at 0x02552030>

li

male

27

li, male, 27


说明:

1).类中的变量、方法都可以调用,并且可以定义

2).object是一个超级类,所有类都继承这个类,是默认的

3) .类的说明需要3个引号括起来



2.类的构造器

__init__构造函数,在生成对象时调用。由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把namescore等属性绑上去


例子:

class Student(object):

   def __init__(self,name,sex):

       self.name = name

       self.sex = sex

   def hello(self):

       print(‘hello {0}‘.format(self.name))

a = Student("zhang","male")

a.hello()

结果:

hello zhang


3. 类的继承

  继承,顾名思义就知道是它的意思,举个例子说明:你现在有一个现有的A类,现在需要写一个B类,但是B类是A类的特殊版,我们就可以使用继承,B类继承A类时,B类会自动获得A类的所有属性和方法,A类称为父类,B类陈为子类,子类除了继承父类的所有属性和方法,还可以自定义自己的属性和方法,大大增加了代码的复用性

   

多继承的格式:

class A:        # 定义类 A

.....

class B:          # 定义类 B

..... 

class C(A,B):       # 继承类 A B


例子:

class parent(object):

   name = "parent"

   sex = "male"

   def __init__(self):

       print("I am: %s ,my sex is: %s" %(self.name,self.sex))

class child(parent):

   def hello(self):

       print("hello,child")

b =child()

b.hello()


结果:

I am: parent ,my sex is: male

hello,child



B继承A中的方法,先找子类,没有则找父类


例子:

class Animal(object):

   def run(self):

       print ‘Animal is running...‘

class Dog(Animal):

#    pass

   def run(self):

       print ‘Dog is running...‘

class Cat(Animal):

#    pass

   def run(self):

       print ‘Cat is running...‘

Dog().run()

Cat().run()


结果:

Dog is running...

Cat is running...

说明:当子类和父类都存在相同的run()方法时,我们说,子类的run()覆盖了父类的run(),在代码运行的时候,总是会调用子类的run()


Python 的类

标签:python

原文地址:http://huangzp.blog.51cto.com/12434999/1979464

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