python自我学习1--class 面向对象变成

  1. 云栖社区>
  2. 博客>
  3. 正文

python自我学习1--class 面向对象变成

技术小牛人 2017-11-13 20:47:00 浏览783
展开阅读全文
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
之前对面向对象编程一直不是很理解,今天仔细分析了下,我的理解如下:
在python开来,所有东西都是分类的,
比如,人,动物,植物都是属于某一类,这就叫,类:class
然后到了类里面的某一个,
比如人,分为白人,黑人,黄种人,这就叫,对象:objeck
这些对象组成了人这一类
白人,白皮肤,蓝眼睛,金色头发,这就叫这个对象的,属性:property
这些属性组成了这个对象
 
我们查看属性的方式,就叫做方法
看下下面的例子:
 
[root@hxy python]# cat human.py
#!/usr/bin/python
# -*- coding: utf8 -*-
#*************************************************************************
# File Name: human.py
# Author: huxianyong
# Mail: hxy123@163.com
# Created Time: 2017年09月05日 星期二 16时45分50秒
#************************************************************************
 
#人class
class human:
    def __init__(self, race, hair, eyes, colour):
        self.race = race
        self.hair = hair
        self.eyes = eyes
        self.colour = colour
    def people(self):
        print "%s,%s,%s,%s" %(self.race, self.hair, self.eyes, self.colour)
 
man1 = human('白人''金发''蓝眼''白皮肤')
man1.people()
man2 = human('黑人''黑发''黑眼''黑皮肤')
man2.people()
man3 = human('黄人''黑发''黑眼''黄皮肤')
man3.people()
 
[root@hxy python]# python human.py
白人,金发,蓝眼,白皮肤
黑人,黑发,黑眼,黑皮肤
黄人,黑发,黑眼,黄皮肤
 
 
我们只需要调用man1 = human('白人''金发''蓝眼''白皮肤')
给对象加上属性,就可以得出一些结果,这就叫封装,其实就是使用构造方法将内容封装到对象中.
 
以下面例子作解释,
类为test
对象为hxy Forand
属性为 name,age,sex
 
#!/usr/bin/python
# -*- coding: utf8 -*-
#*************************************************************************
# File Name: eg.py
# Author: huxianyong
# Mail: hxy123@163.com
# Created Time: 2017年09月05日 星期二 15时41分02秒
#************************************************************************
 
class test:
    def __init__(self, name, age, sex):
        self.name = name
        self.age = age
        self.sex = sex
    def action(self):
        print self.name, self.age,"岁"self.sex, "回家去吃饭"
        print self.name, self.age,"岁"self.sex, "开车去北京"
        print self.name, self.age,"岁"self.sex, "最爱大保健"
        print "%s,%s岁,%s,回家去结婚!" %(self.name, self.age, self.sex)
        print "%s,%s岁,%s,开车去东北!" %(self.name, self.age, self.sex)
        print "%s,%s岁,%s,最爱大保健!" %(self.name, self.age, self.sex)
 
obj = test('hxy'18'man')
obj.action()
obj1 = test('Forand'17'man')
obj1.action()
 
 
[root@hxy python]# python eg.py
hxy 18 岁 man 回家去吃饭
hxy 18 岁 man 开车去北京
hxy 18 岁 man 最爱大保健
hxy,18岁,man,回家去结婚!
hxy,18岁,man,开车去东北!
hxy,18岁,man,最爱大保健!
Forand 17 岁 man 回家去吃饭
Forand 17 岁 man 开车去北京
Forand 17 岁 man 最爱大保健
Forand,17岁,man,回家去结婚!
Forand,17岁,man,开车去东北!
Forand,17岁,man,最爱大保健!

这些都是我自己的理解,有错误的地方希望大神们帮忙支出,谢谢了!

本文转自  Forande  51CTO博客,原文链接:http://blog.51cto.com/853056088/1962899

网友评论

登录后评论
0/500
评论
技术小牛人
+ 关注