python自我学习1--class 面向对象变成
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python自我学习1--class 面向对象变成相关的知识,希望对你有一定的参考价值。
之前对面向对象编程一直不是很理解,今天仔细分析了下,我的理解如下: 在python开来,所有东西都是分类的, 比如,人,动物,植物都是属于某一类,这就叫,类:class 然后到了类里面的某一个, 比如人,分为白人,黑人,黄种人,这就叫,对象:objeck 这些对象组成了人这一类 白人,白皮肤,蓝眼睛,金色头发,这就叫这个对象的,属性:property 这些属性组成了这个对象 我们查看属性的方式,就叫做方法 看下下面的例子: [[email protected] python]# cat human.py #!/usr/bin/python # -*- coding: utf8 -*- #************************************************************************* # File Name: human.py # Author: huxianyong # Mail: [email protected] # 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() [[email protected] python]# python human.py 白人,金发,蓝眼,白皮肤 黑人,黑发,黑眼,黑皮肤 黄人,黑发,黑眼,黄皮肤 我们只需要调用man1 = human(‘白人‘, ‘金发‘, ‘蓝眼‘, ‘白皮肤‘) 给对象加上属性,就可以得出一些结果,这就叫封装,其实就是使用构造方法将内容封装到对象中. 以下面例子作解释, 类为test 对象为hxy Forand 属性为 name,age,sex #!/usr/bin/python # -*- coding: utf8 -*- #************************************************************************* # File Name: eg.py # Author: huxianyong # Mail: [email protected] # 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() [[email protected] 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,最爱大保健!
这些都是我自己的理解,有错误的地方希望大神们帮忙支出,谢谢了!
本文出自 “Forand” 博客,请务必保留此出处http://853056088.blog.51cto.com/12966870/1962899
以上是关于python自我学习1--class 面向对象变成的主要内容,如果未能解决你的问题,请参考以下文章