python面向对象编程初学整理

面向对象三大特性:多态(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()#调用父类中的方法

 执行结果如下:

python面向对象编程初学整理_第1张图片

对象=属性+方法

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

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

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

类的方法
在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数。私有的类方法__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用在类的内部调用slef.__private_methods
类的部分专有方法:
__init__  构造函数,在生成对象时调用
__del__   析构函数,释放对象时使用
__repr__ 打印,转换
__setitem__按照索引赋值
__getitem__按照索引获取值

你可能感兴趣的:(python面向对象编程初学整理)