python学习 day15打卡 初识面向对象】的更多相关文章

本节主要内容: 1.面向对象和面向过程 2.面向对象如何编写 3.面向对象和面向过程的对比 4.面向对象的三大特征 一.面向对象和面向过程(重点理解) 1.面向过程:一切以事物的流程为核心.核心是"过程"二字,过程是指解决问题的步骤,即先干什么, 后干什么.基于该思想编写程序就好比在编写一套流水线.是一种机械式的编程思维 优点:负责的问题流程化,编写相对简单 缺点:可扩展性差 2.面向对象:一切以对象为中心. 优点:可扩展性强 缺点:编程的复杂程度高于面向过程 二.面向对象如何编写 先…
本节内容: 1.什么是函数 2.函数定义,函数名,函数体及函数的调用 3.函数的返回值 4.函数的参数 一.什么是函数 函数:对代码块和功能的封装和定义 定义一个事情或者功能.等到需要的时候直接去用,那么这里定义的东西就是函数. 二.函数的定义,函数名,函数体以及函数的调用 我们使用def关键字来定义函数,函数的定义语法如下: def 函数名(): 函数体 这里的函数名的命名规则与使用和变量的基本一样. 函数体: 就是函数被执行之后要执行的代码 函数的调用:使用函数名就可以调用函数,写法:函数名…
 Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类本身. 2,类的方法:对象也可以使用属于类的函数来具有功能,这样的函数称之为类的方法.域和方法合称为类的属性.类使用class关键字创建,类的属性被列在一个缩进块中. 3,self:类的方法与普通的函数只有一个特别的区别----他们必须有一个额外的第一个参数名称,但是在调用的时候不能为其赋值,Pyt…
python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的python的伪私有,实际是python通过名字修改来进行的,python会把这样命名的变量或者函数名改为_类名__变量名 class A: __name="hello" t = A(); #print(t.__name) #这样会出现错误,错误提示说这个变量没有__name类型 print…
一.初识面向对象 面向过程的核心是过程,流水线思维,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点:极大地降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点:一套流水线或流程就是用来解决一个问题,代码牵一发而动全身. 面向对象的程序设计的核心是对象,上帝式思维,要理解何为对象. 优点:解决了程序的扩展性,使程序的扩展和维护变得简单,并且大大提高程序开发效率,基于面向对象的程序可以使他人更加容易理解你的代码逻辑. 缺点:可控性差…
面向对象相关知识简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写. 实例变量:定义在方法中的变量,只作用于当前实例的类…
本节主要内容: 1.类的成员 2.类的成员-变量 3.类的成员-方法 4.类的成员-属性 5.私有 一.类的成员: 能在类中写的内容就是类的成员. class 类名: #方法 def __init__(self,参数1,参数2,...): #属性变量 self.属性1 = 参数1 self.属性2 = 参数2 ... #方法 def method(self): pass 在上面的代码中__init__和method都属于类的成员方法.又称为实例方法.总之这样的东西需要对象来访问. 而上方的sel…
上篇我们已经了解了一些面向对象的基础知识,本次就了解下面向对象的一些进阶知识(虽然我也不知道有什么卵用). 静态方法 静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作.使用装饰器@staticmethod定义静态方法.类对象和实例都可以调用静态方法: 说了那么多,估计会有些懵逼,咱们还是直接上代码看下静态方法怎么使用吧! 1.按照正常逻辑编写代码并加上@staticmethod定义静态方法eat: class People(object): def __init__…
本节主要的内容: 1.依赖关系 2.关联关系,组合关系,聚合关系 3.继承关系,self到底是什么? 4.类中的特殊成员 一.类与类之间的依赖关系 在面向对象的世界中,类与类中存在以下关系: 1.依赖关系 2.关联关系 3.组合关系 4.聚合关系 5.继承关系 6.实现关系 由于python是一门弱类型编程语言,并且所有的对象之间其实都是多态关系,也就是说,所有的东西都可以当做对象来使用. 所以我们在写代码的时候很容易形成以上关系.首先我们先看第一种,也就是这些关系中紧密程度最低的一个,依赖关系…
本节主要内容: 内置函数: 内置函数就是python给你提供的.拿来直接用的函数,比如print,input等等.截止到python版本3.6.2 python一共提供了68个内置函数.他们就是python 直接提供给我们的.有一些我们已经用过了.有一些还没有用过.还有一些还没有用过.还有一些需要学完了面向对象才能继续学习的.今天我们就认识 一下python的内置函数. https://www.processon.com/mindmap/5bdbfc4be4b0cc9e7ea65a49中的思维导…
大家都知道面向对象的三大特性:封装,继承,多态.封装特性在上一章节已经讲解过.这一章节主要讲解继承和多态. 继承: 当定义一个类的时候,可以从现有的类进行继承.那么新定义的类可以称为子类,被继承的现有的类称为基类,父类或者超类. 上一章节大家应该有所注意以下代码: >>> class Animal(object): pass object类是python所有类的基类,Animal类是object类的子类.Animal类继承于object类. 继承到底有什么好处?举个例子: >>…
python也是支持面向对象编程的.这一章节主要讲一些python面向对象编程的一些基础. 什么是面向对象的编程? 1.面向对象编程是一种程序设计范式 2.把程序看做不同对象的相互调用 3.对现实世界建立对象模型 面向对象编程的基本思想: 1.类用于定义抽象类型 2.实例根据类的定义被创建出来 如何定义一个类并创建实例? >>> class Animal(object): pass >>> dog = Animal() >>> cat = Animal…
4.26 今日内容大纲 1.初识计算机.CPU 内存 硬盘 2.python初识 3.python发展史以及影响 4.python的分类 5.python的种类 6.变量 7.常量 8.注释 9.基础数类型初识 10.input 11.if 12.while   一个等号是赋值运算,两个等号是比较值     ######今日笔记###### 今日内容大纲. 1,初识计算机.CPU 内存,硬盘,操作系统 CPU:大脑,中央处理器,运算计算中心. 内存:临时存储数据,供cpu运算.     优点:读…
1.类与对象(构造方法与实例化) #!/usr/bin/env python # _*_ coding:UTF-8 _*_ class Province: def __init__(self, name, capital, leader): self.name = name self.capital = capital self.leader = leader if __name__ == "__main__": hebei = Province("河北", &qu…
本节主要内容: 初识文件操作 只读(r,rb) 只读(w,wb) 追加(a,ab) r+读写 w+写读 a+追加写读 其他操作方法 文件的修改以及另一种打开文件句柄的方法 一. 初识文件操作 使用python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作.根据打开方式的不同能够执行的操作也会有相应的差异. 打开文件的方式:r , w , a , r+ , w+ , a+, rb , wb , ab , r+b , w…
今天学习的主要内容是: 一,小数据池 代码块的概念 python程序是由代码块构成的,一个代码块的文本作为python程序执行的单元. 代码块:一个模块,一个函数,一个类,甚至每一个command命令都是一个代码块.一个文件也是一个代码块,eval()和exec()执行的时候也是一个代码块 二,is 和 ==的区别 1.id() 通过id()我们可以查看到一个变量表示的值在内存中的地址. s='alex' 2.is 和 ==的区别 ==是判断左右两端的值是否相等.是不是一致. is是判断左右两端…
今天可变学习的主要内容是 : 本节主要内容: 1.字典的简单介绍 2.字典增删改查和其他操作 3.字典的嵌套 一.字典的简单介绍 字典(dict)是pytho中唯一的一个映射类型.它是以{}括起来的键值对组成的.在dict中key是唯一的.在保存的时候,根据key来计算出一个内存地址.然后将key-value保存在这个地址中. 这种算法被称为hash算法,所以,切记,在dict中储存的key-value中的key必须是可hash的. 如果你搞不懂什么是hash,暂时可以这样记,可以改变的都是不可…
今天学习的主要内容: 一,列表 1,列表的介绍 列表是python的基础数据类型之一,其他编程语音也有类似的数据类型.例如:JS 中的数组Java中的数组等等. 它是以[]括起来,每个元素用',隔开而且可以存放各种数据类型. 列表相比于字符串.不仅可以存放不同的数据类型,而且可以存放大的数据.32位python可存放536870912个元素. 而且列表是有序的(按照你保存的顺序),有索引,可以切片方便取值. 2.列表的索引和切片 列表和字符一样;也拥有索引: lst = ["麻花藤",…
今天学习的主要内容: ppython的基本数据类型: 1. python基本数据类型回顾 2.int---数字类型 4.str---字符串类型 一.python基本数据类型 1. int==>整数.主要用来进行数学运算 2.str==>字符串,可以保存少量数据并进行相应的操作 3.bool==>判断真假,Ture,False 4.list==>储存大量数据.用[]来表示 5.tuple==>元组,不可以发生改变,用{}来表示 6.dict==>字典,保存键值对,一样可以…
本节重点 了解面向对象.面向过程的区别 掌握什么是类,什么是对象 掌握如何定义及使用类和对象 了解类与对象间的关系 掌握类属性和实例属性 掌握绑定方法 一.编程范式 ​    ​编程即写程序or写代码,具体是指程序员用特定的方法+数据结构+算法编写代码,目的是用来告诉计算机如何执行任务. ​如果把编程的过程比喻为练习武功,那么编程范式值的就是武林中的各种流派,而在编程的世界里最常见的两大流派就是:面向过程和面向对象. ​“功夫”的流派没有高低之分,只有习武的人才有高低之分,在编程世界里更是这样,…
Python中的面向对象,先写类,会生成类对象,类对象然后创建对象,对象就可以拿来用了. Python支持多重继承. class语句创建类对象,并将其赋值给变量名. class语句内的赋值语句会创建类的属性. 类属性提供对象的状态和行为. class FirstClass: def setdata(self, value): self.data = value def display(self): print(self.data) x = FirstClass() y = FirstClass(…
面向对象的基本思想 # 写法1 person1 = { 'name': 'hanhan', ', 'sex': '男' } def xue_xi(person): print('%s在学习' % person1['name']) # hanhan在学习 xue_xi(person1) 写法2 def person(): person2 = { 'name': 'hanhan', ', 'sex': '男' } return person2 p1=person() print('%s在学习'%p1…
python 支持面向过程编程和面向对象编程. 传统面向过程编程,也叫函数式编程,通过我们的需求设计成一个一个的函数来完成,对一些小规模程序来说面向过程确实简单方便不少.而随着互联网的发展,对于一些大型的项目来说,使用面向对象编程更具有优势,在后期的维护上也更加容易. 面向对象编程有三大特性:封装.继承.多态. 类的创建 class 类名(父类名称): 类体 # 其中类体包括 类成员,方法,数据属性等 # object 是所有类的祖父类 # 类体也可以用 pass 简单类的组成 class pe…
---恢复内容开始--- 一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. 通过在函数内部,先添加一个 global  name    相当于在子模块定义了一个全局变量.把局部的name扩到到全局变脸,后续name的变化,也是全局的! name='lhf' def change_name(…
数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 long(长整型) – python3 中已经将该类型取消 跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数…
模块(重点) python2,与py3的区别 py2:range() 在内存中立即把所有的值都创建,xrange() 不会再内存中立即创建,而是在循环时边环边创建. py3:range() 不会再内存中立即创建,而是在循环时边环边创建. sys.exit() 退出程序 函数书写时一定要写注释 复杂代码写注释 构造字典和函数的对应关系,避免重复冗余的if ellse a=1 b=2 a,b=b,a#ab值交换 遇到问题解答时一定要问,或者给出多个解答 random print( random.ra…
什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回. 如果要动态生成HTML,就需要把上述步骤自己来实现.不过,接受HTTP请求.解析H…
本节主要内容: 1.isinstance,type,issubclass 2.区分函数和方法 3.反射(重点) 一.isinstance,type,issubclass issubclass():判断xxx类是否是yyy类型的子类 class Base: pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar,Foo)) # True print(issubclass(Foo,Bar)) # False print…
本节主要内容: 1.lambda匿名函数 2.sorted() 3.filter() 4.map() 5.递归函数 6.二分法 一.lambda匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 def func(n): return n**n print(func(10)) f = lambda n: n**n print(f(10)) lambda表示的是匿名函数.不需要用def来声明,一句话就可以声明出一个函数 语法: 函数名 = lambda 参数 : 返回值 注意:…
本节主要内容: 1.函数参数--动态参数 2.名称空间,局部名称空间,全局名称空间,作用域,加载顺序. 3.函数的嵌套 4.gloabal,nonlocal关键字 一.函数参数--动态传参 形参的第三种:动态参数 动态参数分成两种: 1.动态接收位置参数 def chi(*food): print("我要吃", food) chi("⼤米饭", "小米饭") 结果: 我要吃 ('⼤米饭', '小米饭') # 多个参数传递进去. 收到的内容是元组t…