代码里面有的变量是直接定义的,有的变量是前面加上self.定义的,区别是什么?

来源:3-20 设置状态保持session(二)

慕仔5486025

2020-02-16 18:15:14

代码里面有的变量是直接定义的(比如login_url),有的变量是前面加上self.定义的(比如self.index_url),区别是什么?是不是直接定义的就是函数内部的局部变量,而加了self.的就是实例所涉及的全局变量了?

写回答

1回答

慕之熠_灿烈

2020-02-17

同学,你好。

直接定义的变量和前面加上self.定义的变量的区别是:前者表示从属于函数、方法、模块内的自定义变量,而后者表示从属于所在类的实例的属性,也就是说属于实例变量,可以通过实例变量.属性名的方式进行访问。

同学的理解稍有偏差,局部变量的作用域与是否添加self无关,主要与函数定义和缩进有关;而添加了self的变量是与类的实例所关联的,但不一定是全局变量。

如果我的回答解决了您的疑惑,请采纳!祝~学习愉快~

0

0 学习 · 1672 问题

查看课程