栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基础知识 Chapter7

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基础知识 Chapter7

Day13 python基础知识 嵌套函数

在函数内部定义的函数,出了函数范围无法调用

功能:1.封装-数据隐藏,外部无法访问

2.贯彻DRY,降低重复代码

Nonlocal关键字

nonlocal 用来声明外层的全局变量

global 声明模块中的全局变量

LEGB规则

python在查找”名称“时,是按照LEGB规则查找的:

Local-->Enclosed-->Global-->Built in

Local指函数或者类的方法内部

Enclosed指的是嵌套函数

Global指模块中的全局变量

Built in指Python自己预留的名称

依次查找,如果都没有找到,就会出现一个Name Error

面向对象编程

python是面向对象编程(主要)

python中一切皆对象,如数据类型、函数,都是对象

面向过程(Procedure Oriented)

更加关注程序的逻辑流程,是一种执行者思维,适合编写小规模程序

首先思考如何按步骤实现

并将对应步骤变成方法,一步一步实现

面向对象(Object Oriented)

设计者思维,适合编写大规模程序

首先思考怎么设计这个事物,但在底层细节仍要借助面向过程编程

思考方式

先从问题中找名词(面向过程更多是找动词),确立名词哪些可以作为类,再根据问题需求确定类的属性和方法,确定类之间的关系。

对象的进化

简单数据——数组(数量变多)——结构体(数据类型变复杂)——对象(处理数据的方式和逻辑变复杂)

Day14 Python基础知识 类的定义

如果将对象比作一个“饼干”。类就是制造这个饼干的“摸具”

通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打包在一起”

定义的语法格式:

class 类名:

类体

类名首字母大写!

构造函数init()

通过类名创建对象有两步方法:

1.init() 初始化创建好的对象,即“给实例属性赋值”

2.new() 用于创建对象,一般无需重新定义

要点:

1.名称固定,必须为init

2.第一个参数固定,必须为self

3.构造函数通常用来给实例属性赋值,如name、score

通过类名(参数列表)来调用构造函数,将创建好的对象返回给相应的变量

实例属性

定义方法如下:

self.实例属性名=初始值

访问:

self.实例属性名

创建实例对象后,通过实例对象访问:

obj01=类名 #创建对象,调用init()初始化属性

obj01.实例属性名 = 值

新加的属性只在某对象中,若生成对象则没有

实例方法

实例方法是从属于实例对象的方法,格式如下:

def 方法名(self[,形参列表]):

函数体

方法调用的格式如下:

对象.方法名([实参列表])

要点:

1.定义实例方法时,第一个参数必须为self.和前面一样,self指当前实例对象。

2.调用示例方法时,不需要也不能给self传参。self由解释器自动传参。

dir()获得对象的所有属性、方法

obj.dict 对象的属性字典

pass 空语句

isinstance(对象、类型) 判断对象是不是指定类型

类对象

class 类名

实际上,在解释器执行class语句时,就会创建一个对象(类对象)

类属性和类方法

类属性的定义方法:

class 类名

类变量名=初始值

访问:

类名.类变量名

类方法是从属于“类对象”的方法,通过装饰器@classmethod来定义,格式如下:

@classmethod

def 类方法名(cls [,形参列表]):

函数体

注意:

@classmethod在上面一行

第一个cls必须有

调用格式 类名.类方法名(参数列表) 参数列表中,不需要也不能给cls传值

静态方法

与类无关的方法,和模块中定义普通函数没有区别,只不过放到类空间里,需要通过类调用

@staticmethod

def 方法名(形参列表):

del方法(析构函数)和垃圾回收机制

用于实现对象被销毁时所需的操作。比如:释放对象占用的资源,例如:打开的文件、网络链接等

Pyhton实现垃圾自动回收,由垃圾回收器来调用析构方法

call方法和可调用对象

定义了call方法的对象,成为"可调用对象",可以向函数一样被调用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360445.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号