python 中函数值的传递方式

0x01 传递非引用对象

对于普通的变量,python 函数的值传递过程和大多语言一样都是传递参数的副本,函数体内修改参数值不会对外部传参生效:

阅读更多

python 中的小整数缓存

python 中针对小整数有一个专门的缓存机制,位于 [-5, 257) 之间的小整数会专门分配额外的空间。 它们不会被 GC 回收掉,并且使用这些整数赋值时变量都指向同一个内存地址。 测试代码

输出 [crayon-695309b9983d ... 阅读更多

python 获取命令行参数

一、概述 python 获取命令行参数有两种方法,一种是使用 sys 模块直接获取到所有的命令行参数,另一种是使用 getopt 来获取指定标记的参数,后者更灵活一点,但是也复杂一点。 二、 sys 模块获取参数 通过 sys 模块获取命令行参数的方法很简单,直接调用 sys.argv 就可以了,sys.argv 是一 ... 阅读更多

Python SMTP 发送邮件

一、概述 python 提供了两个包来提供 SMTP 邮件服务支持:smtplib 和 email,前者系统内置,后者需要通过 pip 或者其他方式手动安装。其中 smtplib 提供邮件发送功能,email 负责邮件内容的构造。 二、 smtplib 库介绍 2.1 创建一个 smtp 连接对象 [crayon-6 ... 阅读更多

python 中的原始表达式

一、概述 在几乎所有的编程语言中,都会有转义字符 这个概念的存在,例如\n 表示换行,\d 表示数字等。 python 也是如此:

在某些情况下它给我们带来了方便,但是在某些情况下又给我们造成了麻烦。 例如当我们打开文件时,文件的路径就得先 ... 阅读更多

python 向上取整、向下取整以及四舍五入的方法

一、概述 昨天用 golang 敲代码时用到了向上取整和向下取整,今天用 python 写报表时又用到了。 查了一下发现和 go 一样,python 也有个 math 包提供了同样的方法 math.ceil() 和 math.floor() 来取整 四舍五入使用 round() 二、使用方法 [crayon-6953 ... 阅读更多