黑客走开系列1:Python使用元组做函数实参让代码更安全!

来源:互联网 发布:mac vim 退出编辑 编辑:程序博客网 时间:2024/06/06 04:51

在Python内置对象中,列表、字典、集合属于可变序列,作为函数实参是不安全的,尤其是调用别人写好的恶意函数或者调用被人恶意修改过的函数时,很容易被修改实参。而元组、字符串在Python中属于不可变类型,使用元组或字符串作为函数实参可以在一定程度上规避这样的风险。

当然,从另一方面讲,在编写常规功能函数时,尽量不要做多余的事情,这也是程序员的一种职业操守。



----------相关阅读----------

1900页Python系列PPT分享六:面向对象程序设计(86页)

1900页Python系列PPT分享五:函数设计与应用(134页)

1900页Python系列PPT分享四:字符串与正则表达式(109页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享一:基础知识(106页)


一行Python代码计算两点间曼哈顿距离

Python实现大自然数分解为最多4个平方数之和(1)

几行代码理解Python变量访问的LEGB顺序

一个傻傻的尼姆游戏及其Python实现

Fibonacci数列第n项的第7种计算方法:Python列表

Python循环嵌套应用案例一则:判断丑数

当Python列表遇上复合赋值运算符+=

Python编程常见出错信息及原因分析(4)

Python编程常见出错信息及原因分析(3)

Python编程常见出错信息及原因分析(2)

Python编程常见出错信息及原因分析(1)

如果把Python代码写成这样子就太难看了

转义字符'\r'在Python内置函数print()中的妙用

Python检查字符串重叠部分并进行拼接

Python把嵌套的字符串列表转换为整数列表的两种方法

Python 3.6.x字符串格式化方法小结

Python基本输出函数print()用法小结

详解Python项目开发时自定义模块中对象的导入和使用

使用Python编写数独游戏自动出题程序

使用Python编写程序求解数独游戏答案

Python向下取整整除运算符用法一例

详解Python序列解包(5)

详解Python序列解包(4)

Python计算合理避税后收入增加情况

详解Python序列解包(3)

详解Python中的生成器表达式(generator expression)

详解Python中的序列解包(2)

使用with关键字让你的Python代码更加Pythonic

几段小代码解释Python命令式编程和函数式编程

Python编写只允许实例化一个对象的类

Python文本处理2个小案例(文本嗅探与关键词占比统计)

Python字符串处理小案例

Python内置函数sorted()高级排序用法

Python内置函数sorted()从入门到精通

Python中enumerate对象的用法与特点

详解Python中的位运算符规则、原理与用法

Python中直接查看对象值和使用print()输出的区别

详解Python中的各种数字类型

学习Python的利器:内置函数dir()和help()

使用Python编写简易定时器

Python 3.x中内置函数range()函数的用法

使用Python寻找黑洞数

Python面向对象程序设计中属性的作用与用法

Python元组与列表的相同点与区别

Python运算符+与+=的那些事

Python导入标准库和扩展库对象的几种方式

Python计算任意单调曲线在给定区间上的近似长度

Python使用修饰器强制函数只接收关键参数

Python函数中单独一个星号或斜线作为形参的含义

必须放在特定的文件夹中才能运行的Python程序

Python版的百钱买百鸡问题

Python语言编程规范与优化建议

详解Python的max、min和sum函数用法

详解Python函数式编程之map、reduce、filter

Python版猜数游戏

Python中lambda表达式的常见用法

详解Python列表推导式

详解Python生成器函数和生成器对象的原理和用法

Python中else关键字的常见用法

Python中的枚举类型及其用法

最优的素数判断代码(Python)是这样写出来的

详解Python变量作用域

详解Python内置函数iter()用法

针对递归函数的优化与Python修饰器实现

妙用Python内置函数int()快速计算等比数列前n项和

使用Python检查密码安全程度

Python中的循环结构

详解Python对象属性

对Python列表进行封装和二次开发实现自定义栈结构

列表元素循环移位中Python切片的妙用

详解Python类定义中的各种方法

Python中修饰器的定义与使用

详解Python序列解包

详解Python列表推导式

Python泛型函数与单分发器

Python中的偏函数和函数柯里化

Python列表与数字的四则运算

详解Python切片技术

详解Python中的浅复制与深复制

Python运算符含义汇总

Python内置函数使用说明

Python模拟决赛现场最终得分计算过程

Python使用模块中对象的几种方法

Python中定义只能实例化一个对象的类

Python从序列中选择k个不重复元素

Python自定义类支持with关键字

Python里的++和--不是运算符

Python代码优化之in关键字

Python提取任意长度整数的每位数字

Python常用运算符含义与用法演示

Python版本的报数游戏

回调函数原理与Python实现

Python_今天是今年第几天

使用Python列表实现向量运算


大家都在学Python,你和别人的差距在哪?

大学生们颤抖吧,中学生已经开始学Python了!

祝所有程序员1024节日快乐

学会提问,你就成功了一大半!

盘点那些让人上火的提问方式(论如何让交流更高效)




----------喜大普奔----------

1、继《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》、《Python程序设计开发宝典》之后,董付国老师新作《中学生可以这样学Python》已于2017年10月正式出版,已在各大书城全面上架。大学生们颤抖吧,中学生已经开始学Python了!


2、董付国老师6本Python系列图书阅读指南


3、董老师免费视频地址: http://pan.baidu.com/s/1c14WYn2 密码: 9xwr




--------近期Python培训班安排------

1、2017年12月21日-25日 (21日报到)  厦 门:Python编程及应用--数据分析与科学计算可视化培训班


2、2018年1月12日至14日(11日报到) 合肥:全国Python科研应用专题实操培训班


3、2018年1月19日---1月21日(18日报到) 烟台:2018年全国中高等院校教师 “Python编程及应用”培训班通知


4、2018年1月28日—2月2日(28日全天报到)  厦门:“Python编程及大数据应用”课程教师(厦门)寒假研修班


原创粉丝点击