Python 面向对象[Day 06]
面向对象编程(Object-Oriented Programming)
概述
- 面向过程:根据业务逻辑从上至下写代码,实现所需功能。
- 函数式:将某些功能代码封装至函数中,在需要时调用函数,函数式代码可被调用多次。
- 面向对象:对函数进行分类和封装,让开发"更快更好更强"
面向对象靠三大特性实现"更快更好更强"
- 封装
- 多个方法共有一组变量,变量封装到对象中(方法访问时直接去对象中取)
- 通过模板创建多个对象
- 继承 以普通的类为基础建立专门的类对象,分为基类(父类)、派生类(子类)
- 多态 对不同的对象使用相同的操作,但输出的结果是不同的
声明类
面向对象编程是一种编程方式,此编程方式的落地需要使用 "类" 和 "对象" 来实现,所以,面向对象编程其实就是对 "类" 和 "对象" 的使用。
类是一个模板,模板里可以包含多个函数,函数里实现功能。
对象则是根据模板创建的实例,通过实例对象可以执行类中的函数
PS:函数在类中统一叫方法
根据类创建对象又叫根据类实例化对象
# 创建类
class example(object):
# __init__ 为初始化方法,在类被实例化时,就会自动执行初始化方法,其它方法只有被调用时才会被执行
# __init__ 作用是将一些通用的信息,通用的功能写在初始化函数中,类只要被实例化就执行 __init__ 中的内容
def __init__(self,name):
self.name = name # 相当于 obj.name
print ("My is __init__") def say_name(self): # 此处的 self 就等于传入 obj
print ("My name is %s" %self.name) # obj.name 自然就会取到传的值 "jay" # 根据类 example 创建对象 obj,创建对象时传入变量,变量保存在对象中
# 此处相当于 obj = example('obj','Jay')
obj = example('Jay')
# 根据对象调用类中的方法
obj.jay()
Python 面向对象[Day 06]的更多相关文章
- Python面向对象06 /元类type、反射、函数与类的区别、特殊的双下方法
Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3 ...
- python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异
1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html 1.__init__() 创建对 ...
- Python面向对象之反射,双下方法
一. 反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序 ...
- python 面向对象专题(六):元类type、反射、函数与类的区别、特殊的双下方法
目录 Python面向对象06 /元类type.反射.函数与类的区别.特殊的双下方法 1. 元类type 2. 反射 3. 函数与类的区别 4. 特殊的双下方法 1. 元类type type:获取对象 ...
- python 面向对象初级篇
Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...
- Python 面向对象 基础
编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...
- python面向对象进阶(八)
上一篇<Python 面向对象初级(七)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- python 面向对象(进阶篇)
上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- python 面向对象编程学习
1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...
随机推荐
- Python库安装
标签(空格分隔): Python 安装pip 正如管理Java Project的Maven,管理Scalar Project的sbt一样,Python也有其管理工具 -- pip,也是今天我们的主角哦 ...
- C#Winform窗体中传值
在窗体Form2中定义公有属性Form2Value,获取和设置textBox1的文本值 并且还定义一个accept事件 public string Form2Value { get { return ...
- Javascript中的字典和散列
function Dictionary() { var items={}; this.set=function (key,value) { items[key]=value; }; this.remo ...
- 使用扫描二维码打开app
应该不少人遇到过这种需求,扫描二维码打开app如果用户没有这个app则提示它跳转. 用网页直接来调用app是不打可能的,必须原生那边先做一些配置. 首先,安卓和苹果的调用方法是不同的. 所以我们需要先 ...
- [Android] Google IAP unmaneged items服务器校验
android IAP unmaneged items 服务器校验 当成功IAP以后, 会在google服务器记录此次购买的状态. 可以通过Google Play Android Developer ...
- (十六)getsockname()
简述: 获取一个套接口的本地名字. #include <winsock.h> int PASCAL FAR getsockname( SOCKET s, struct sockaddr F ...
- weex 小结 --官方扩展组件
<wxc-tabbar> 页面底部的 tab 标签,通过点击在不同页面之间切换 属性: selected-index {number}:设置默认选中的 tab 索引,默认值为 0(第一个 ...
- Python_Day5_迭代器、装饰器、软件开发规范
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 1.列表生成式,迭代器&生成器 列表生成 >>> a = [i+1 ...
- js通过继承实现私有函数
本文是原创文章,如需转载,请注明文章出处 主要思想就是在继承时,只开放共有的属性和方法,不开放另外某些函数,从而实现私有的作用. function A(){ this.x = 100; this.y ...
- centos 6.7安装与配置vncserver
vnc是一款使用广泛的服务器管理软件,可以实现图形化管理,下面简单介绍一下如何在centos6.7下安装vnc. 安装vncserver yum install tigervnc tigervnc- ...