python采用面向对象编程模式吗_python基础5-面向对象编程
1.类和对象之封装
#方法1
def Bar():
print "Bar"
def Hello(name):
print "i am %s" %(name)
#方法2
class Foo():
def Bar(self):
print 'Bar'
def Hello(self,name):
print "i am %s" %name
对于数据库的增删改查
####方式1
def fetch(hostname,port,username,password,db):
#1.连接数据库,并且指定hostname、port、username、password、db
#2.打开数据库
#3.操作数据库,向数据库添加内容
#4.关闭数据库
pass
def modify(hostname,port,username,password,db):
#1.连接数据库,并且指定hostname、port、username、password、db
#2.打开数据库
#3.操作数据库,向数据库添加内容
#4.关闭数据库
pass
def remove(hostname,port,username,password,db):
#1.连接数据库,并且指定hostname、port、username、password、db
#2.打开数据库
#3.操作数据库,向数据库添加内容
#4.关闭数据库
pass
def create(hostname,port,username,password,db):
#1.连接数据库,并且指定hostname、port、username、password、db
#2.打开数据库
#3.操作数据库,向数据库添加内容
#4.关闭数据库
pass
#将列表添加到数据库
create([11,22,33])
利用函数式编程,每一次都要将hostname、port、username、password、db传进去然后进行操作
####方式2
#封装:就是变一些变量封装到内存地址里面
#下面我们使用类来实现数据库的增删查改
class Foo:
#这个__init__()称为构造方法,当类实例化的时候就执行
#与函数式编程不同:
##将hostname、port、username、password、db封装到self变量里面,
##当类里面的方法要用到这些参数时,我们直接传self传进去即可,而不用每次1个1个参数传进去
def __init__(self,hostname,port,username,password,db):
self.hostname = hostname
self.port = port
self.username = username
self.password = password
self.db = db
#
def fetch(self):
pass
def remove(self):
pass
def create(self):
pass
def modify(self):
pass
obj1 = Foo(hostname,port,username,password,db)
obj1 = Foo(1.1.1.1,port,username,password,db)
obj2 = Foo(2.2.2.2,port,username,password,db)
obj1.create()
obj1.create()
整个流程:
1.创建Foo类,
(
1.这个步骤包括3步:
1.创建Foo类
2.创建构造函数,将后续要用到的参数封装到self里面;
3.然后创建一系列的方法
)
2.用类Foo创建obj1对象,即将Foo类实例化
(
1.这个过程包括了2步操作 :
1.将字段hostname、port、username、password、db_name通过Foo(args)传进去,这些字段就被封装到obj1中;
2.然后创建类对象指针,类对象指针指向内存中的Foo类
)
3.当执行obj.create(self)方法时,即调用obj对象中的create(args)方法,
(
1.这个过程包括2步操作:
1.通过obj对象中的类对象指针找到Foo类中,并调用Foo类中的create()方法
2.返回到obj对象中,取出obj对象中的hostname、port、username、password、db_name字段
3.将取到的这些字段传到类中的create()方法中,执行即可
)
注意:
1.对象只封装字段和类对象指针
2.通过对象来执行类中的方法
2.面向对象之继承
0.怎么使用继承,为什么要使用继承?
#1.方法1
class cat:
def eat(self):
pass
def cry(self):
pass
def drink(self):
pass
def walk1(self):
pass
class dog():
def eat(self):
pass
def cry(self):
pass
def drink(self):
pass
def walk2(self):
pass
#方法2:
class animal: #基类
def eat(self):
pass
def cry(self):
pass
def drink(self):
pass
class dog(animal): #派生类,继承父类animal
def walk2(self):
pass
class cat(animal): #派生类,继承父类animal
def walk1(self):
pass
1.经典类和新式类
##python其实开始只有函数式编程--->然后又有了初级类和对象进行编程--->然后又有了高级类和面向对象编程
*****经典类****** *****新式类*****
经典类:
class C:
pass
新式类:
class C(object):
pass
或
class C(object):
pass
class D(C):
pass
【注意:python3.0只支持新式类,java、c#只能继承1个类,不支持继承多个,而python可以继承多个类】
2.新式类和经典类在多继承中的区别(B、C都继承D)
1.新式类在定义中会在基类或其子类中定义继承object这个类,然而经典类不会定义继承object。
2.新式类在执行多继承,会采用广度优先策略,然而经典类采用深度优先策略。(B、C都继承D才是使用深度优先)
那么什么时候使用面向对象编程呢?
1.多个方法要使用同一个变量或多个变量时采用面向对象编程,即在构造函数中封装
2.当通过模板创建1类东西时才使用面向对象编程
python采用面向对象编程模式吗_python基础5-面向对象编程相关推荐
- python采用函数式编程模式吗_Python函数与函数式编程
1 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创 ...
- python赋值语句的一般格式为_Python 基础语法
Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程 ...
- 深入PHP面向对象、模式与实践读书笔记:面向对象设计和过程式编程
注:本文内容来<<深入PHP面向对象.模式与实践>>中6.2节. 6.2 面向对象设计与过程式编程 面向对象设计和过程式编程有什么不同呢?可能有些人认为最大的不同在于面向对 ...
- 计算机智能编程任务赛,网络基础赛 | 智能编程任务赛比赛规则
原标题:网络基础赛 | 智能编程任务赛比赛规则 一. 比赛目标 <新一代人工智能发展规划>中指出,"要支持开展形式多样的人工智能科普活动,全面提高全社会对人工智能的整体认知和应用 ...
- python的基础网络编程是下列_Python基础(六)网络编程
Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...
- python登录面向对象_python基础之面向对象
面向对象编程 面向过程编程:根据业务逻辑从上到下写代码,主要突出在流程上 函数式编程:将某些功能封装在函数里,日后不用重复编写,仅调用函数即可 面向对象编程:对函数进行分类和封装,让开发"更 ...
- python @修饰符_Python基础(面向对象之类成员与修饰符)
本篇将介绍Python 类的成员.类成员修饰符.类的特殊成员. 类的成员可以分为三大类:字段.方法.属性 1.字段: 也可理解为变量,分为: 普通字段:保存在对象中,访问时通过"对象.字段名 ...
- 自学python编程基础科学计算_Python基础与科学计算常用方法
Python基础与科学计算常用方法 本文使用的是Jupyter Notebook,Python3.你可以将代码直接复制到Jupyter Notebook中运行,以便更好的学习. 导入所需要的头文件 i ...
- python webdriver 等待网页已登录_python基础编程:python+selenium实现163邮箱自动登陆的方法...
本文介绍了 让我们先来预览一下代码运行效果吧: 首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素) 1.定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话 ...
- python编程字典数据库_python基础数据类型之字典、集合
哈啰!大家好,今天是初五了,牛年接财神的好日子,懂得都懂.祝@所有人2021年,事事顺利,牛气冲天,福利满满,财运亨通,步步高升,学业进步! 那么,这次介绍的是鼎鼎大名的字典,其以其操作的灵活性.操作 ...
最新文章
- “这辈子不可能打工男子”出狱了,引发热议!
- 吴恩达深度学习代码_吴恩达深度学习笔记(58)-深度学习框架Tensorflow
- VB DATA控件链接SQL SERVER
- 我泡在GitHub上的177天 by Ryan Seys
- 百度云获取外链直接下载突破限速
- 完美企业网站的101项指标
- 如何判断对象是否存活/死去
- python处理时间序列非平稳_【Python算法】--非平稳时间序列分析
- SolidWorks 2010 SP0.0 最新下载+序列号 注册机及方法
- 微信小程序添加服务器域名
- sublime中文乱码问题
- 接入支付宝网页支付的个人记录
- 华为ensp模拟企业网(校园网),总分公司(总分校区),多区域互联,代码有详细注释
- 阿里和微博的异地多活方案zt
- 利用Photoshop通道制作BMP格式的透明图标
- 奋斗吧,程序员——第四十六章 此情可待成追忆,只是当时已惘然
- 整理下使用yum localinstall做离线安装的点
- java的三大体系分为_java的三大体系分别是什么
- Type-c 充电听歌二合一转接器方案
- 小板匹配 从上层到下层