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

原创 2017年12月13日 00:00:00

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

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

640?wx_fmt=png&wxfrom=5&wx_lazy=1



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

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编程及大数据应用”课程教师(厦门)寒假研修班


版权声明:本文为博主原创文章,未经博主允许不得转载。

logistic回归和Python实现

一、Logistic Regression的基本内容 通过学习了台湾的林教授和Stanford的课程后发现,他们两个人的基本思路虽然一致,但是具体做法有所差异,下面简单介绍一下两种实现方式。 1、台湾...
  • woaidapaopao
  • woaidapaopao
  • 2016年05月31日 13:36
  • 2002

Numpy——ndarray对象(1):创建数组

Numpy——ndarray对象(1)标准安装的Python中用列表( list )保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个...
  • qq_33256568
  • qq_33256568
  • 2016年01月20日 11:05
  • 3191

python 函数参数的传递(参数带星号的说明) 元组传递 字典传递

python中函数参数的传递是通过赋值来传递的。函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主...
  • u012450329
  • u012450329
  • 2016年09月18日 15:34
  • 4836

python字典(dictionary)使用:基本函数code实例,字典的合并、排序、copy,函数中*args 和**kwargs做形参和实参

python字典dictionary,以前有过介绍,现就几个不常用函数写测试例子, 字典声明如,a={}; [python]dictionary方法说明:参考:...
  • longshenlmj
  • longshenlmj
  • 2014年08月29日 15:58
  • 1321

C++第5周任务1-4使用默认参数的构造函数,不给定实参时,默认边长为1

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:使用...
  • lihongxuanli
  • lihongxuanli
  • 2012年03月20日 18:29
  • 327

python元组学习 sublime的多行前N个元素选中 函数的使用 不定长参数 可变参数

元组与列表 元组与列表类似,不同之处在与元组的元素不能修改,元组使用小括号,列表使用方括号。 sublime的使用:选中多行中的前几个元素,首先选中要选择的每行元素,Ctrl+D,默认选择相同...
  • yanhuatangtang
  • yanhuatangtang
  • 2017年07月02日 18:37
  • 167

第7课 Python自定义函数基础:有形参和实参解析

1.局部变量 要谈局部变量和全局变量的技术前提是对函数有一定的理解,我们先在这里简单说明一下Python的函数,Python有自带的函数也可以使用第三方工具包了外部引用函数,有的时候用户自己可以自主开...
  • nupotian
  • nupotian
  • 2017年01月11日 12:19
  • 270

python函数形参和实参

#!/usr/bin/python #coding:utf8 #中文输入方式1 #coding=utf8 #中文输入方式2 #encoding:utf8 #中文输入方式3 #enco...
  • tianzhaixing
  • tianzhaixing
  • 2013年12月02日 18:16
  • 3338

第十二周项目1-1:static变量与函数调用中形参实参的转换

问题及代码:
  • Destiny_Forever
  • Destiny_Forever
  • 2014年11月16日 22:39
  • 466

十七周项目1-1-2函数的实参传递

/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: 石尧 * 完成日期:2013 年12月22日 * 版...
  • u012369181
  • u012369181
  • 2013年12月22日 14:24
  • 358
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑客走开系列1:Python使用元组做函数实参让代码更安全!
举报原因:
原因补充:

(最多只允许输入30个字)