Python中将函数作为参数,区分将参数直接写成函数名和函数名()的区别。

def fun1(fun):print("---------------------")print("---------------------")print(fun) #执行fun1(fun4)时,fun为函数fun3的返回值xprint('type fun:', type(fun)) #type fun: <class 'str'>fun()#执行fun1(fun4)报错,执行fun1(fun2)时输出######
def fun2():print('######')def fun3():x = "!!!!!!!!!!!!!!!!!!!!!"print('hello')return xfun4 = fun3() #传函数fun3的返回值x
print('type fun4:', type(fun4)) #type fun4: <class 'str'>
fun1(fun4)
print('***************')
fun1(fun2)
print('type fun2:', type(fun2)) #type fun2: <class 'function'>

具体计算例子:

def prepare(a):a = abs(a)return adef add(a, b, f):return f(a) + f(b)sum = add
print('type sum:', type(sum)) #type sum: <class 'function'>
print(sum(2, -1, prepare)) #3

特例(只传函数名就可以调用函数):sort和sorted函数中的key和cmp(Python3中使用cmp_to_key替代)。

  1. cmp -- 比较的函数,具有两个参数,参数的值都是从可迭代对象中取出,规则为:大于则返回1,小于则返回-1,等于则返回0。
  2. key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
from functools import cmp_to_keynum = [('b',2),('a',1),('f',3),('d',4)]#按照元组index[0]排序
def func1(a, b):return ord(a[0]) - ord(b[0])#按照元组index[1]排序
def func2(a, b):return a[1] - b[1]#按照关键字元组index[0]排序
def func3(a):return a[1] print('num:',num)
# num.sort( key=cmp_to_key(func1))
# print(num)#直接调用函数名
print('sort func1:', sorted(num, key = cmp_to_key(func1)))
print('sort func2:', sorted(num, key = cmp_to_key(func2)))
print('sort func3:', sorted(num, key = func3))

python 参数_Python函数-参数相关推荐

  1. python查看函数参数_python函数参数

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 最简单的无参数def functionname(): pass function ...

  2. python函数修饰参数_Python 函数参数的填坑之路

    背景 最近在看廖雪峰老师的python3教程之函数的参数 受益匪浅,但是在实践的过程中,发现了一些不解之谜 两个错误import _thread import time def func1(x): w ...

  3. python中函数的参数_Python小知识-Python中的函数参数(基础篇)

    0 总述 这个题目分为2篇,第一篇基本上是概念以及实例,有个相对系统的认识,第二篇想写的深入一些,不同参数类型的区别以及和c/c++的函数参数对比下异同-下面开始是第一篇的内容啦- Python中的函 ...

  4. python类带参数_Python函数参数传递机制(超级详细)

    Python中,函数参数由实参传递给形参的过程,是由参数传递机制来控制的.通过学习<Python函数值传递和引用传递>一节我们知道,根据实际参数的类型不同,函数参数的传递方式分为值传递和引 ...

  5. python 默认参数后接可变参数_Python可变参数会自动填充前面的默认同名参数实例...

    Python可变参数会自动填充前面的默认同名参数实例 最近在学习Python的时候遇到一个知识点,在此记录下来 可变参数会自动填充前面的同名默认参数 比如下面这个函数 def add_student( ...

  6. python函数参数的作用是_python函数参数理解

    1.位置参数 函数调用时,参数赋值按照位置顺序依次赋值. e.g. 1 deffunction(x):2 3return x *x4 5print function(2) 输出结果: 4 1 deff ...

  7. python函数参数类型及顺序_python函数参数类型及其顺序

    根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY.POSITIONAL_OR_KEYWORD.VAR_POSI ...

  8. python中函数参数_Python函数的参数

    本章将介绍函数中参数的用法,更多内容请参考:Python学习指南 定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道传递正确的参数,以及函数就返回 ...

  9. python函数定义中参数列表里的参数是_python函数参数中的/和*是什么意思?

    在python3.8之后函数参数中允许出现/和*号,/用来指明某些函数形参必须使用位置参数而非关键字参数的形式,*出现在函数参数中第一种含义可以表示为可变参数,一般写作*args:对于单独出现在参数中 ...

最新文章

  1. 准备IE--复习NP,NP从头开始,每天学一点,就多一点收获
  2. .NET框架程序设计-.NET框架开发平台的体系架构概览(.NET程序本质)
  3. mysql rollback函数_PHP mysqli_rollback() 函数_程序员人生
  4. 理解node.js中的 Event Loop
  5. PST文件的读取(待整理)
  6. tomcat8+idea远程调试
  7. ECSHOP商品描述和文章里不加水印,只在商品图片和商品相册加水印
  8. C语言正交表测试用例,正交表设计用例(简单+实用) - Jackc的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  9. 计算机二级vb上机题,全国计算机二级VB上机题库(题 答案).doc
  10. 锁存器(74HCT573)使用
  11. adblock plus去广告插件下载与安装
  12. 心情随笔:工作篇(半夜无眠,写与自己共勉)
  13. 极致的遮罩处理(一):DeepFaceLab手动遮罩编辑。
  14. java实现加减乘除_用Java编写实现加减乘除,界面如下
  15. 入门之:如何在腾讯云服务器上部署自己的静态前端项目(服务器系统:centos7)
  16. java 药店管理系统_java药店管理平台
  17. 如何删除字符串中的数字
  18. 闲置路由器怎么利用起来?
  19. Spring Boot教程(十五)使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程...
  20. phpcms选择文件无法加载插件怎么办_浏览器显示无法加载插件怎么办

热门文章

  1. rowid会变化么_升级后的饿了么,将成为阿里引领数字化的先锋
  2. python变量类型声明_python中可以声明变量类型吗
  3. 解决IE正常模式与兼容性模式的办法
  4. javascript中清空数组的两种方式
  5. 【CyberSecurityLearning 4】NTFS安全权限及文件共享服务器
  6. Python学习之共享引用
  7. 【细说软件工程】《软件工程》Software Engineering
  8. 【放洋屁了】知识焦虑-几点感慨
  9. CentOS安装Mysql8各种坑。。。
  10. STM32开发 -- 设置MCU运行频率