您的位置:首页 > 编程语言 > Python开发

python面向对象编程初学整理

2016-03-03 00:00 676 查看
摘要: 刚开始接触面向对象编程,从网上整理了一下,主要是理解的不深,自己学着写了一个,记录下来以免自己忘记了,如有参阅,不一定准确,请有保留的参考。

面向对象三大特性:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation)

类:对具有相同数据和方法的一组对象的描述或定义。

对象:对象是一个类的实例。

实例(instance):一个对象的实例化实现。

标识(identity):每个对象的实例都需要一个可以唯一标识这个实例的标记。

实例属性(instance attribute):一个对象就是一组属性的集合。

实例方法(instance method):所有存取或者更新对象某个实例一条或者多条属性的函数的集合。

类属性(classattribute):属于一个类中所有对象的属性,不会只在某个实例上发生变化

类方法(classmethod):那些无须特定的对性实例就能够工作的从属于类的函数。

#!/usr/bin/env python
#coding:utf-8
class people:#类(创建一个人的类)
def __init__(self,name,age,sex): #__init__是初始化对象,在实例化对象前完成,根据对象实例时自动执行。
self.Name = name # 当一个类定义了__ init __ 方法后,类实例化时会自动调用 __ init __ ().
self.Age = age
self.Sex = sex
def talk(self):#函数,在类中叫方法必须要带self这个形式参数,不管有没有参数
print("hello world")
class man(people):#创建一个男人的子类,他继承了父类中的所有属性和方法
def __init__(self,name,age,sex,job):
people.__init__(self,name,age,sex)
self.job = job
def action(self):
print("You job is",self.job)

kinger = people('king',24,'man')#实例话一个对象,注意字符参数要加引号。封装这三个参数到name,age,sex属性中
kinger.talk() #调用类方法

kinger.add = 'sz' #给实例增加一个属性
print kinger.Name ,kinger.add

atom = man('blue',24,'femail','IT')#封装这几个参数给man这个类,实例化atom这个对象
print atom.job,atom.Name,atom.Sex,atom.Age

atom.action()#调用本身的方法
atom.talk()#调用父类中的方法

执行结果如下:



‍对象=属性+方法

一个对象的特征也称为属性(attribute)。它所具有的行为也称为方法(method)类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象。

把具有相同属性和方法的对象归为一个类(class)。

类是对象的抽象化,对象是类的实例化。类不代表具体的事物,而对象表示具体的事物。

类的方法
在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数。私有的类方法__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用在类的内部调用slef.__private_methods
类的部分专有方法:
__init__ 构造函数,在生成对象时调用
__del__ 析构函数,释放对象时使用
__repr__ 打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: