python学习笔记

Posted 又见阿郎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记相关的知识,希望对你有一定的参考价值。

python 中的strings, tuples, 以及numbers都是不可变类型,而list以及dict都是可变类型
示例module1.py 以及module2.py 从两个方面验证了上述结论。
首先,所谓不可变类型以及可变类型其实可以理解为值类型引用与引用类型引用。即传递参数的时候,是传递值还是传递引用。函数的作用域就相当于一个闭包,在此作用域内的修改才有效,因此,当函数传参的时候,可变类型传递的都是引用地址,而不可变类型传递的都是值。可变类型的修改就是影响全局,而不可变类型的修改只会影响此函数内的作用域。

module1.py

def func(a):
    a = 3
    print("a的原始值{0} 以及a的地址{1}".format(a, id(a)))


if __name__ == "__main__":
    a = 1
    print("a的原始值{0} 以及a的地址{1}".format(a, id(a)))
    func(a)
    # a = 2
    print("a的原始值{0} 以及a的地址{1}".format(a, id(a)))

module2.py

def func(a):
    a.append(1)
    print("a的原始值{0} 以及a的地址{1}".format(a[0], id(a)))

if __name__ == "__main__":
    a = []
    func(a)
    a.append(2)
    print("a的原始值{0} 以及a的地址{1}".format(a[1], id(a)))

建议你自己运行看看



以上是关于python学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

Python 3学习笔记

python 机器学习有用的代码片段

python爬虫学习笔记-M3U8流视频数据爬虫

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

python基础学习笔记(十三)

Python学习笔记之正则表达式