Python函数1
Python函数
-
Python有一些自带的函数需要进行使用和了解,一些前面了解过的函数比如
input
、print
、format
等函数已经具体介绍过了,这里就不多介绍了 -
python的函数与其他语言的函数一样,你也可以把它看做带有名字的子程序
-
格式:python函数使用
def
关键字定义,函数名可以是任何有效的python标识符
1 | def <函数名>(<参数列表>): |
参数传递
- Python函数中的传递有三种
- 指定参数传递:一开始设置传递几个参数,就传递几个参数。指定参数传递还可以按照名称传递
- 默认参数传递:可以一开始设置一个默认参数值,使用函数时就可以不用传递设置默认参数值。
- 可变参数传递:与其他语言类似,Python可以进行可变参数的传递
- 指定参数传递:设置几个参数就传几个参数,也可按照参数名称传递
1 | def f(a,b,c): |
- 默认参数传递:在定义函数的时候给一个默认值
1 | def dup(str,times = 2): |
- 可变参数传递,允许传递未知参数的个数
- 输入的可变参数会当做
元组
这一数据类型进行处理
1 | def vfunc(a,*b): |
返回值
- Python函数与其他函数一样都有返回值。但是Python的函数可以返回一个值,也可以返回多个值
- 当返回值的个数与接收返回值的变量一致时,就会按照顺序将返回值逐个赋值给接受的变量
1 | def vfunc(a,b,c,d): |
- 当一个变量接受多个返回值时,这些多个返回值就会按照返回顺序构成一个元组,然后再赋值给接受返回值的变量
1 | def vfunc(a,b,c,d): |
- 当接受变量与返回值不一致的时候,就会出现报错
1 | def vfunc(a,b,c,d): |
函数里变量的作用域
- 在函数中变量用作用的范围,具体的不多介绍。介绍作用域多排错有关系,不过目前是初步学习
eval函数
-
eval函数可以将传递的参数做为命令进行执行,并返回执行后的值
- 由于eval函数会执行用户输入的命令,这就导致了一些安全问题
- 当然eval函数危险的同时也带来了便捷,更方便了用户与程序之间的交互功能
-
语法:
1 | eval(expression[, globals[, locals]]) |
- 例如:
1 | a = 7 |
-
还可以使用eval函数实现自动化脚本,通过与其他程序的交互实现自动计算功能
-
比如:有一个靶机,它会发送一个算式,要求我们在短时间内计算其结果。
- 这时就可以使用eval函数进行快速的计算,而且考虑较少的交互功能
1 | from pwn import * |
lambda函数
-
lambda函数:lambda可以有任意的参数,但是只有一个表达式。
-
所以只用一行或者一句话表达出来的函数都可以使用lambda表达式写出来。
-
lambda函数也可以和
def
这个函数定义结合起来 -
格式:
1 | lambda x: 关于x的表达式 |
- 示例1:
1 | def f(x): |
- 示例2:
1 | def f(n): |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!
评论