随笔分类 - python基础与高级
python
摘要:python变量与地址的关系 在C语言中,系统会为每个变量分配内存空间,当改变变量的值时,改变的是内存空间中的值,变量的地址是不改变的。 而在python中,Python采用的是基于值的管理方式。 当给变量赋值时,系统会为这个值分配内存空间,然后让这个变量指向这个值;当改变变量的值时,系统会为这个新
阅读全文
摘要:python高级(03)--socket编程 概念理解 五层网络模型: 左侧为server端,右侧为client端: socket和server实现通信 socket_server.py import socket server = socket.socket(socket.AF_INET, soc
阅读全文
摘要:python高级(02)--生成器和迭代器 python的迭代协议 # 什么是迭代协议 # 迭代器是什么? 迭代器是访问集合内元素的一种方式, 一般用来遍历数据 # 迭代器和以下标的访问方式不一样, 迭代器是不能返回的, 迭代器提供了一种惰性方式数据的方式 # [] list , __iter__
阅读全文
摘要:python递归函数 初识递归 递归的定义——在一个函数里再调用这个函数本身 现在我们已经大概知道刚刚讲的story函数做了什么,就是在一个函数里再调用这个函数本身,这种魔性的使用函数的方式就叫做递归。 Python递归的最大深度 正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去。但是
阅读全文
摘要:Python函数(2) 闭包 + 内层函数对外层函数的变量的引用(非全局) + 闭包只存在函数中 + 逐层返回,最终返回最外层 特性: 解释器执行程序时,如果遇到函数,随着函数的结束而关闭临时名称空间,但是如果遇到闭包,那么闭包的空间不会随着函数的结束而关闭 本质: 就是在内存中开辟一个空间,常贮存
阅读全文
摘要:Python反射 对编程语言比较熟悉的朋友,应该知道“反射”这个机制。Python作为一门动态语言,当然不会缺少这一重要功能。然而,在网络上却很少见到有详细或者深刻的剖析论文。下面结合一个web路由的实例来阐述python的反射机制的使用场景和核心本质 + + + + 引子 在上面的代码中,我们必须
阅读全文
摘要:Python面向对象高级 &&元类 关于__slots__ 引子 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是 动态语言的灵活性 。先定义class: 然后,尝试给实例绑定一个属性: 还可以尝试给实例绑定一个方法: 但是,给一个实例
阅读全文
摘要:Python内存管理机制 一.变量与对象 由于python中万物皆对象,所以python的存储问题是 对象的存储问题 ,并且对于每个对象,python会分配一块 内存空间去存储它 变量 + 通过变量指针引用对象 + 变量指针指向具体对象的内存空间,取对象的值 对象 + 类型已知 + 每个对象都包含一
阅读全文
摘要:Python名称空间与作用域 Name Python 的 Name(名称) 是 对象 的一个 Identifier(标识) 。在 Python 里面一切皆对象,名称就是用来引用对象的。 在 这个语句中, 是个存储在内存中的一个对象,名称 则会引用 这个对象,“引用”的含义是指可以 通过名称 来使用
阅读全文
摘要:Python sort()和sorted() sort 与 sorted 区别: sort() sort()是列表list的方法之一 sorted() sorted() 函数可以对任意可迭代对象排序。返回一个列表 sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操
阅读全文
摘要:PEP8规范 变量 函数和方法 总体而言应该使用, 小写和下划线 。但有些比较老的库使用的是混合大小写,即首单词小写,之后每个单词第一个字母大写,其余小写。但现在, 小写和下划线已成为规范 私有方法 :小写和一个前导下划线 这里和私有变量一样,并不是真正的私有访问权限。同时也应该注意一般函数不要使用
阅读全文
摘要:Python2与Python3的区别 1) 核心类差异 1. Python3 对 Unicode 字符的原生支持。 Python2 中使用 ASCII 码作为默认编码方式导致 string 有两种类型 str 和 unicode,Python3 只 支持 unicode 的 string。Pytho
阅读全文
摘要:Python赋值、深浅copy assignment: 在 Python 中,对象的赋值就是简单的对象引用,这点和 C++不同,如下所示 在上述情况下,a 和 b 是一样的,他们指向同一片内存,b 不过是 a 的别名,是引用. 我们可以使用 b is a 去判断,返回 True,表明他们地址相同,内
阅读全文
摘要:"Object oriented programing"
阅读全文