python基础day7

嵌套函数_内部函数_数据隐藏

在函数内部定义的函数,定义和调用都在函数内部。

外部无法访问“嵌套函数”。

让我们在内部避免重复代码。

nonlocal_global

nonlocal:用来声明外层的局部变量。

global:用来声明全局变量。

LEGB规则

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

面向对象和面向过程的区别_执行者思维_设计者思维

宏观上使用面向对象把握,微观处理上仍然是面向过程。

对象的进化故事

简单数据——》数组——》结构体——》对象

类的定义_类和对象的关系

我们把对象比作一个“饼干”,类就是制造这个饼干的“模具”。

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

从一个类创建对象时,每个对象会共享这个类的行为(类中定义的方法),但会有自己的属 性值(不共享状态)。更具体一点:“方法代码是共享的,属性数据不共享”。

 

构造函数__init__

__init__()的要点如下:

1. 名称固定,必须为:__init__()

2. 第一个参数固定,必须为:self。 self 指的就是刚刚创建好的实例对象。

3. 构造函数通常用来初始化实例对象的实例属性。

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

实例属性_内存分析

实例属性是从属于实例对象的属性,也称为“实例变量”。

1. 实例属性一般在__init__()方法中通过如下代码定义: self.实例属性名 = 初始值

2. 在本类的其他实例方法中,也是通过 self 进行访问: self.实例属性名

3. 创建实例对象后,通过实例对象访问: obj01 = 类名() #创建对象,调用__init__()初始化属性 obj01.实例属性名 = 值 #可以给已有属性赋值,也可以新加属性

实例方法_内存分析方法调用过程_dir()_isinstance

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

函数体

方法的调用格式如下:

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

类对象

类属性_内存分析创建类和对象的底层

类方法_静态方法_内存分析图示

@classmethod

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

函数体

@staticmethod

def 静态方法名([形参列表]) :

函数体

__del__()析构方法和垃圾回收机制

__call__()方法和可调用对象

定义了__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值