类顾名思义,就是一类事物、或者叫做实例,它用来描述具有共同特征的一类事物。我们在python中声明类的关键词是class,类还有功能和属性,属性就是这类事物的特征,而功能就是它能做什么,也是就是方法或者函数。我们仍然用例子来说明问题。
目标:
1.类的定义
2.父类,子类定义,以及子类调用父类
3.类的组合使用
4.内置功能
1.类的定义
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/usr/bin/env python #coding:utf8 class Hotel( object ): """docstring for Hotel""" def __init__( self , room, cf = 1.0 , br = 15 ): self .room = room self .cf = cf self .br = br def cacl_all( self , days = 1 ): return ( self .room * self .cf + self .br) * days if __name__ = = '__main__' : stdroom = Hotel( 200 ) big_room = Hotel( 230 , 0.9 ) print stdroom.cacl_all() print stdroom.cacl_all( 2 ) print big_room.cacl_all() print big_room.cacl_all( 3 ) |
2.父类、子类以及调用父类
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/usr/bin/env python # -*- coding: utf-8 -*- # 父类 class AddBook( object ): def __init__( self , name, phone): self .name = name self .phone = phone def get_phone( self ): return self .phone # 子类,继承 class EmplEmail(AddBook): def __init__( self , nm, ph, email): # AddBook.__init__(self, nm, ph) # 调用父类方法一 super (EmplEmail, self ).__init__(nm, ph) # 调用父类方法二 self .email = email def get_email( self ): return self .email # 调用 if __name__ = = "__main__" : Detian = AddBook( 'handetian' , '18210413001' ) Meng = AddBook( 'shaomeng' , '18210413002' ) print Detian.get_phone() print AddBook.get_phone(Meng) alice = EmplEmail( 'alice' , '18210418888' , 'alice@xkops.com' ) print alice.get_email(), alice.get_phone() |
3.类的组合使用
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 1.class类的组合使用 2.手机、邮箱、QQ等是可以变化的(定义在一起),姓名不可变(单独定义)。 3.在另一个类中引用 ''' class Info( object ): def __init__( self , phone, email, qq): self .phone = phone self .email = email self .qq = qq def get_phone( self ): return self .phone def update_phone( self , newphone): self .phone = newphone print "手机号更改已更改" def get_email( self ): return self .email class AddrBook( object ): '''docstring for AddBook''' def __init__( self , name, phone, email, qq): self .name = name self .info = Info(phone, email, qq) if __name__ = = "__main__" : Detian = AddrBook( 'handetian' , '18210413001' , 'detian@xkops.com' , '123456' ) print Detian.info.get_phone() Detian.info.update_phone( 18210413002 ) print Detian.info.get_phone() print Detian.info.get_email() |
4.内置功能(函数()加与不加的区别)
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/usr/bin/env python #coding:utf8 class Books( object ): def __init__( self , title, author): self .title = title self .author = author def __str__( self ): return self .title def __repr__( self ): return self .title def __call__( self ): print "%s is written by %s" % ( self .title, self .author) if __name__ = = '__main__' : pybook = Books( 'Core Python' , 'Wesley' ) print pybook pybook() |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/usr/bin/env python #coding:utf8 class Number( object ): """Custum object add/radd -> +; sub/rsub -> -; mul/rmul -> *; div/rdiv -> /; """ def __init__( self , number): self .number = number def __add__( self , other): return self .number + other def __radd__( self , other): return self .number + other def __sub__( self , other): return self .number - other def __rsub__( self , other): return other - self .number def __gt__( self , other): if self .number > other: return True return False if __name__ = = '__main__' : num = Number( 10 ) print num + 20 print 30 + num print num - 5 print 11 - num print num > 20 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/chenxiaoyong/p/6279874.html