概述
前言
所谓函数,就是把需要反复使用的一段代码放在一起,然后再取个名字,后面通过这个名字就能够调用这一段功能。
现实生活中,我们会把一些常用的功能做成工具,方便以后反复使用。比如煮饭,淘好米之后,先用大火把水烧开,再换小火,让米吸水膨化成饭,如果这时候还需要等人到齐了再吃,则需要自己控制火势,让米饭保温。但是有聪明的人根据这个流程,制作出了电饭煲,只需要把淘好的米放入电饭煲,然后再按一下“煮饭”按钮,剩下的全部由电饭煲自己搞定。而且以后想要煮饭,只需要重复使用电饭煲就行了。
在python中,使用函数的目的也是一样,我们把实现某一功能(比如打卡功能,需要打开网站,然后输入账号和密码登录,再打开个人中心页面,点击“签到”按钮)的代码定义为一个函数,在需要使用时根据这个函数的名字调用即可。
本章将介绍python常用函数,自定义函数、参数、返回值和函数调用进行详细讲解。
python内置函数
在前面的内容中,我们已经使用了几个python函数。如使用print()函数把数据输出到控制台;使用input()函数输入数据;使用len()函数得到字符串或列表的长度等。
在python中,还有很多这样的内置函数可直接供我们使用:
具体的各个函数用法,可以参考python官网函数介绍页面,你不用急着去官网把所有函数的用法都背下来,最常用的几个函数,你在后面学习中经常使用时,自然就记住了。而不常用的就算你背下来,过段时间不用,你也会忘记,还浪费了时间和精力。
自定义函数
自定义函数的语法结果如下图:
def:是用来定义函数的关键字。
functionName:是函数名,命名时最好做到见名知意。
(arg1, arg2, argn):中是参数列表,参数个数可以是零到多个,就算没有参数,这一对小括号必须保留。
冒号(:):冒号用来表示下面的内容都是函数体(函数中的语句)。函数中的内容必须使用空格缩进。
return:如果调用函数后需要有返回值,则必须加上retun关键字返回数据。
具体的用法,我们来看案例就明白了。
案例一:假设某银行的年利率是3.25,每过一年,将本金和利息作为新的本金,计算将x元的本金存入银行n年后,有多少钱。
分析:因为本金和存入年数都需要使用者来确定,所以这两项当作参数。方法体中就写计算n年后能得到多少本金的方法(简称算法)。
代码:
# 定义一个名为calcMoney的函数,有两个参数,分别是money本金,year年数
def calcMoney (money, year):
i=1
while i<=year :
money = money*1.0325;
i += 1;
return money # 返回year后的本金money
# 存10000,5年后有多少钱
print(calcMoney(10000,5))
# 存10000,10年后有多少钱
print(calcMoney(10000,10))
函数定义好后,可以反复调用。
函数式编程
函数是面向过程编程的基础,什么是面向过程编程呢?面向过程编程就是把一个复杂的任务分解成一个一个简单的子任务,然后每个子任务写成一个函数即可,类似于搭积木。
而函数式编程的主要目的是为了进行数学计算。函数式编程的特点就是可以把函数作为变量使用,比如参数可以是一个函数,返回值也可以是一个函数。
示例一:定义变量指向abs函数,并调用
l = len
print(l('hello'))
示例二:创建一个处理两个字符串的函数
def add(str1, str2, f):
return f(str1)+f(str2)
l = len
print(add('hello', 'haha', l))
示例三:返回求和函数
def add(*args): # 星号(*)参数,表示以元组的方式传入。
def sum():
s = 0
for i in args:
s += i
return s
return sum # 返回求和函数
f = add(23,534,22,34)
print(f())
匿名函数
所谓匿名函数,就是不使用def语句来定义函数。在python中使用lambda表达式来创建匿名函数。lambda表达式与def方式定义函数对比,要简单很多,lambda一般用于只有一行代码的情况,所以它只能用于比较简单的逻辑。
其语法格式为:lambda 参数列表: 逻辑表达式
示例一:求一个数的平方
f = lambda x: x * x
print(f(2))
print(f(3))
示例二:求一组数的平方
f = list(map(lambda x: x * x, [1, 2, 3, 4, 5]))
print(f)
练习
-
创建一个函数,打印乘法表
-
创建一个函数,将字符串进行加密
最后
以上就是激昂手链为你收集整理的《python爬爬乐》入门篇:函数和函数式编程的全部内容,希望文章能够帮你解决《python爬爬乐》入门篇:函数和函数式编程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复