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 面向对象变成的主要内容,如果未能解决你的问题,请参考以下文章

Python 学习笔记 - 面向对象(基础)

Python学习08:面向对象思想

Python学习08:面向对象思想

Python学习之旅 —— 基础篇面向对象

自我介绍

python基础学习日志day6-面向对象