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.包:解决 ...
随机推荐
- xcode相关配置
Xcode将全部供应配置文件(包括用户手动下载安装的和Xcode自动创建的Team Provisioning Profile)放在目录~/Library/MobileDevice/Provisioni ...
- FtpClient.storeFile返回false解决方法
在确定路径和文件名没有中文的情况下添加以下代码 ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE); ftp.enterLocalPassiveMode();/ ...
- django一对多关系的小例题
urls.py from django.conf.urls import urlfrom django.contrib import adminfrom son1.views import * url ...
- CentOS6.4x64_安装Qt5
1.安装Qt5.3.2x86 由于 OS是x64,Qt是x86,∴需要在 系统中安装相关的32位的程序(比如 报错"bad elf interpreter"的时候 就需要" ...
- PHP data
- yii2-basic后台管理功能开发之四:图片上传FileInput
我采用的是 kartik-v/yii2-widget-fileinput的文件上传插件,大家可以去github查看详细的安装方法和使用说明. 需求:上传图片+可以预览缩略图 在这里说说我碰到的问题:限 ...
- (47) odoo详细操作手册
odoo 8 详细操作手册, ERP(Odoo8.0)操作手册-v1.10(陈伟明).pdf 链接: http://pan.baidu.com/s/1hsp0bVQ 密码: r9tt 花了将近9个月时 ...
- 前端常用的几个js判断(一)
1. 禁止右键点击$(document).ready(function(){ $(document).bind("contextmenu",function(e){ return ...
- 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇)
最近太忙了,一直没时间继续更新博客,今天忙里偷闲继续我的Mybatis学习之旅.在前九篇中,介绍了mybatis的配置以及使用, 那么本篇将走进mybatis的源码,分析mybatis 的执行流程, ...
- 面向对象cookie增删查
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...