那么在进行函数学习之前,我们首先得来了解一下什么是函数
简单地说,函数就是编程语言中存在的一个模块,他是组织好的,可以重复使用的,用来实现单一功能的代码。
函数function()括号里跟的是函数的参数。参数指向的是函数要接受,要处理的数据,除了Python自带的常见的函数之外,比如input(),print(),range()等等,还包括有我们根据我们自身的需要设计出来的能解决我们自身问题的函数。
在编写函数的时候,需要了解函数的基本语法。
按照我们刚刚的思路,我们来设计一个y=3x+5的函数,然后我们再来看看,每一部分的含义。
def math(x):
y=3*x+5
return y
第1行:def的意思是定义(define),math是【函数名】(自己取的),再搭配一个英文括号和冒号,括号里面的x是参数(参数名也是自己取)。
第2行:def下一行开始缩进的代码就是函数要实现的功能,也叫【函数体】。这里的功能就是:根据x计算出一个值y。
第3行:return语句是返回的意思,可以指定函数执行完毕后最终会返回什么值或表达式,否则计算机是无法判断出函数最终要输出什么结果的。
定义函数的语法并不难,但有些注意事项一开始要特别注意才能少踩坑,我将其标记在下面代码块的注释里,请你仔细阅读下。
函数名:1. 名字最好能体现函数的功能,一般用小写字母和单下划线、数字等组合
2. 不可与内置函数重名(内置函数不需要定义即可直接使用)
def math(x):
参数:根据函数功能,括号里可以有多个参数,也可以不带参数,命名规则与函数名相同
规范:括号是英文括号,后面的冒号不能丢
y = 3x + 5
函数体:函数的执行过程,体现函数功能的语句,要缩进,一般是四个空格
return y
return语句:后面可以接多种数据类型,如果函数不需要返回值的话,可以省略。
定义函数只是将函数的内部功能封装起来(组织好),它们就像是神奇宝贝里的精灵球,安静地待着,只有听见你的召唤时才会出场,为你所用。
那么该怎么调用函数呢,让它发挥作用呢?很简单,就是输入函数名和参数所对应的值,这个过程在函数里叫作参数的传递(pass)。
def math(x):
y = x ** 2 + x
return y
a = math(10)
print(a)
math(10)的意思是将整数10赋值给参数x并运行该函数。函数执行完毕后最终返回了y的值即110,然后将这个结果赋值给变量a,再用print()将变量a打印出来。
目前看到的都是结构最基本的函数,目的是为了先让大家有个基本概念。函数还有许多更加复杂的形式,我们会在下一部分讲解。
我们之前接触过的len()函数是Python的内置函数,功能之一是可以返回字符串的长度。那么,我们可不可以自己写一个具有相同功能的函数呢?
答案是肯定的,这里提供一个实现思路,1. 设置一个初始为0的计数器;2.遍历字符串,每遍历一次,计数器加一;3.返回计数器的值。
def my_len(words):
counter = 0
for i in words:
counter = counter + 1
return counter
a = '三根皮带,四斤大豆'