简介


函数是可以重用的程序段。首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段。这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type()、range()。

通过关键字def定义函数

def 函数名(【参数】):
代码块

一个简单的函数

def sayHello():
print('Hello world!') sayHello()

运行结果

函数参数


函数中的参数名称为形参,提供给函数调用的值称为实参。

参数在函数定义的圆括号中指定,使用“,”逗号分隔。

def printMax(a,b):
if a>b:
print(a,'is maximum')
else:
print(b,'is maximum') x = int(input('The first number:'))
y = int(input('The second number:')) #通过接收参数进行接收
printMax(x,y) #直接传值
printMax(3,5) m = 7
n = 20 #定义变量进行传递
printMax(m,n)

运行结果

拓展


函数的柯里化

在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。这个技术由 Christopher Strachey 以逻辑学家 Haskell Curry 命名的,尽管它是 Moses Schnfinkel 和 Gottlob Frege 发明的。(来自百度百科)

Python中的函数柯里化

#函数的柯里化
#引用模块很快就会学习到了使用functools 中的partial函数进行柯里化
from functools import partial
def foo(a,b,c):
return a+b+c
#将函数重新定义固定参数生成一个新的参数
foo2 = partial(foo,b=2)
print(foo2(a=1,c=2))

运行结果

最新文章

  1. c#中抽象类(abstract)和接口(interface)的相同点与区别
  2. Python 字符串
  3. [nosql之缓存memcache]安装篇LInux for Windows
  4. awk 的一些用法
  5. php大力力 [040节] 买了一天域名,整了一天后台,新网后台不懂啊
  6. Powerdesigner 导出Excel格式数据字典 导出Excel格式文件
  7. mysql:学习学习~
  8. CSS sprites 技术
  9. Burp Suite Walkthrough
  10. button 垂直分布
  11. GIMP也疯狂之动态图的制作(四)
  12. 计算数据库中30天以内,30-60天,60-90天,90天以外的数据的个数(用sql实现)
  13. shell流程控制--循环语句
  14. [翻译] .NET Core 2.1 发布
  15. PHP+ffmpeg+nginx的配置实现视频转码
  16. SVN && BeyondCompare
  17. Android 源码编译 指定userdata.img、system.img、cache.img容量大小【转】
  18. bzoj千题计划218:bzoj2333: [SCOI2011]棘手的操作
  19. java后台接收json数据,报错com.alibaba.fastjson.JSONObject cannot be cast to xxx
  20. render:h => h(App) 是什么意思?

热门文章

  1. [Swift]LeetCode954. 二倍数对数组 | Array of Doubled Pairs
  2. [Swift]LeetCode1014. 最佳观光组合 | Best Sightseeing Pair
  3. RSA算法原理——(3)RSA加解密过程及公式论证
  4. 【机器学习】--线性回归中L1正则和L2正则
  5. 网络协议 11 - Socket 编程(下):眼见为实耳听为虚
  6. JVM基础系列第3讲:到底什么是虚拟机?
  7. 跳槽 & 思维导图
  8. ThreadPoolExecutor线程池任务执行失败的时候会怎样
  9. java基础(三)-----java的三大特性之多态
  10. 我和Session的不解之“缘”(故事型技术长文)