python遇到对象_Python - 面对对象(基础)

Python - 面对对象(基础)

一. 概述

面向过程:根据业务逻辑从上到下写垒代码编程

函数式:将某功能代码封装到函数中,往后便无需重复编写,仅调用函数便可函数

面向对象:对函数进行分类和封装,让开发“更快更好更强...”学习

面向过程编程(Object Oriented Programming,OOP,面向对象程序设计) 最易被初学者接受,其每每用一长段代码来实现指定功能,开发过程当中最多见的操做就是粘贴复制,即:将以前实现的代码块复制到现需功能处。设计

二. 建立类和对象

面向对象编程是一种编程方式,此编程方式的落地须要使用 “类” 和 “对象” 来实现,因此,面向对象编程其实就是对 “类” 和 “对象” 的使用。code

类就是一个模板,模板里能够包含多个函数,函数里实现一些功能对象

对象则是根据模板建立的实例,经过实例对象能够执行类中的函数blog

271026b1505673c833b081cb3fbb55fb.png

class是关键字,表示类继承

建立对象,类名称后加括号便可游戏

类中的函数第一个参数必须是self(详细见:类的三大特性之封装)

类中定义的函数叫作 “方法”

# 建立类

class Foo:

def Bar(self):

print 'Bar'

def Hello(self, name):

print 'i am %s' %name

# 根据类Foo建立对象obj

obj = Foo()

obj.Bar() #执行Bar方法

obj.Hello('wupeiqi') #执行Hello方法

三. 面向对象三大特征

封装

第一步: 将内容封装到某处

6a179dd25366088101c07c7b9c78a927.png

self 是一个形式参数,

当执行 obj1 = Foo('wupeiqi', 18 ) 时,self 等于 obj1

当执行 obj2 = Foo('alex', 78 ) 时,self 等于 obj2

因此,内容其实被封装到了对象 obj1 和 obj2 中,每一个对象中都有 name 和 age 属性,在内存里相似于下图来保存。

第二步: 从某处调用被封装的内容

调用被封装的内容时, 有两种状况:

经过对象直接调用

经过self间接调用

一、经过对象直接调用被封装的内容

上图展现了对象 obj1 和 obj2 在内存中保存的方式,根据保存格式能够如此调用被封装的内容:对象.属性名

class Foo:

def __init__(self, name, age):

self.name = name

self.age = age

obj1 = Foo('wupeiqi', 18)

print obj1.name # 直接调用obj1对象的name属性

print obj1.age # 直接调用obj1对象的age属性

obj2 = Foo('alex', 73)

print obj2.name # 直接调用obj2对象的name属性

print obj2.age # 直接调用obj2对象的age属性

二、经过self间接调用被封装的内容

执行类中的方法时,须要经过self间接调用被封装的内容

class Foo:

def __init__(self, name, age):

self.name = name

self.age = age

def detail(self):

print self.name

pr

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值