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-面向对象编程相关推荐

  1. python采用函数式编程模式吗_Python函数与函数式编程

    1 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创 ...

  2. python赋值语句的一般格式为_Python 基础语法

    Python 基础语法 Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程 ...

  3. 深入PHP面向对象、模式与实践读书笔记:面向对象设计和过程式编程

    注:本文内容来<<深入PHP面向对象.模式与实践>>中6.2节. 6.2 面向对象设计与过程式编程   面向对象设计和过程式编程有什么不同呢?可能有些人认为最大的不同在于面向对 ...

  4. 计算机智能编程任务赛,网络基础赛 | 智能编程任务赛比赛规则

    原标题:网络基础赛 | 智能编程任务赛比赛规则 一. 比赛目标 <新一代人工智能发展规划>中指出,"要支持开展形式多样的人工智能科普活动,全面提高全社会对人工智能的整体认知和应用 ...

  5. python的基础网络编程是下列_Python基础(六)网络编程

    Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  6. python登录面向对象_python基础之面向对象

    面向对象编程 面向过程编程:根据业务逻辑从上到下写代码,主要突出在流程上 函数式编程:将某些功能封装在函数里,日后不用重复编写,仅调用函数即可 面向对象编程:对函数进行分类和封装,让开发"更 ...

  7. python @修饰符_Python基础(面向对象之类成员与修饰符)

    本篇将介绍Python 类的成员.类成员修饰符.类的特殊成员. 类的成员可以分为三大类:字段.方法.属性 1.字段: 也可理解为变量,分为: 普通字段:保存在对象中,访问时通过"对象.字段名 ...

  8. 自学python编程基础科学计算_Python基础与科学计算常用方法

    Python基础与科学计算常用方法 本文使用的是Jupyter Notebook,Python3.你可以将代码直接复制到Jupyter Notebook中运行,以便更好的学习. 导入所需要的头文件 i ...

  9. python webdriver 等待网页已登录_python基础编程:python+selenium实现163邮箱自动登陆的方法...

    本文介绍了 让我们先来预览一下代码运行效果吧: 首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素) 1.定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话 ...

  10. python编程字典数据库_python基础数据类型之字典、集合

    哈啰!大家好,今天是初五了,牛年接财神的好日子,懂得都懂.祝@所有人2021年,事事顺利,牛气冲天,福利满满,财运亨通,步步高升,学业进步! 那么,这次介绍的是鼎鼎大名的字典,其以其操作的灵活性.操作 ...

最新文章

  1. “这辈子不可能打工男子”出狱了,引发热议!
  2. 吴恩达深度学习代码_吴恩达深度学习笔记(58)-深度学习框架Tensorflow
  3. VB DATA控件链接SQL SERVER
  4. 我泡在GitHub上的177天 by Ryan Seys
  5. 百度云获取外链直接下载突破限速
  6. 完美企业网站的101项指标
  7. 如何判断对象是否存活/死去
  8. python处理时间序列非平稳_【Python算法】--非平稳时间序列分析
  9. SolidWorks 2010 SP0.0 最新下载+序列号 注册机及方法
  10. 微信小程序添加服务器域名
  11. sublime中文乱码问题
  12. 接入支付宝网页支付的个人记录
  13. 华为ensp模拟企业网(校园网),总分公司(总分校区),多区域互联,代码有详细注释
  14. 阿里和微博的异地多活方案zt
  15. 利用Photoshop通道制作BMP格式的透明图标
  16. 奋斗吧,程序员——第四十六章 此情可待成追忆,只是当时已惘然
  17. 整理下使用yum localinstall做离线安装的点
  18. java的三大体系分为_java的三大体系分别是什么
  19. Type-c 充电听歌二合一转接器方案
  20. 小板匹配 从上层到下层

热门文章

  1. 11.go 环境变量
  2. 6.高性能MySQL --- 查询性能优化(2)
  3. 20. Magento 创建新闻模块(1)
  4. iview在项目中遇到的坑
  5. java编程思想学习笔记——第2章 一切都是对象
  6. UICollectionView实现带头视图和组的头视图同时存在实现
  7. SourceAnalysis/Binder源码分析.md
  8. C++ 单链表基本操作
  9. [转]linux下IPTABLES配置详解
  10. select标签multiple属性的使用方法