初探函数
1.
首先
2.自己写一个函数:也就是我们常说的DIY
不是所有的功能前辈们都帮我们写好的,当我们遇到一些没有直接可用的函数时,我们就需要自己设计函数了,以便实现想要的功能
首先看看定义函数的语法:
以y = 3x + 5 为例子,来定义一个一次函数
一行一行来看:
第1行:def的意思是定义(define),math是【函数名】(自己取的),再搭配一个英文括号和冒号,括号里面的x是参数(参数名也是自己取)
第2行:def下一行开始缩进的代码就是函数要实现的功能,也叫【函数体】。这里的功能就是:根据x计算出一个值y。
第3行:return语句是返回的意思,可以指定函数执行完毕后最终会返回什么值或表达式,否则计算机是无法判断出函数最终要输出什么结果的
整个的三行就组成了一个流程
函数的作用就是模拟流程,一般模拟一个流程,这个流程就是按照顺序从上往下执行的一个过程,步骤
1.第一行函数名的规范和参数规范:
函数名:1. 名字最好能体现函数的功能,一般用小写字母和单下划线、数字等组合
2. 不可与内置函数重名(内置函数不需要定义即可直接使用)
参数:1.根据函数功能,括号里可以有多个参数,也可以不带参数,命名规则与函数名相同
2.规范:括号是英文括号,后面的冒号不能丢
2.第二行函数体:
函数体:函数的执行过程,体现函数功能的语句,要缩进,一般是四个空格
3.return返回:
return语句:后面可以接多种数据类型,如果函数不需要返回值的话,可以省略
这个时候你运行这个函数会发现什么也没有
终端既无报错,也没有显示任何东西,那是正常的,因为截至目前,我们只是完成了【定义函数】
定义函数只是将函数的内部功能封装起来(组织好),它们就像是神奇宝贝里的精灵球,安静地待着,只有听见你的召唤时才会出场,为你所用。
2-2:调用函数:
就是输入函数名和参数所对应的值,这个过程在函数里叫作参数的传递
结果:
当然,你也可以只用一行代码print(math(10))来表示同样的意思
你也可以多次调用print(math(20)) print(math(30))
这个时候,你每调用一次,函数就会从头到尾运行一次
3,内置函数的实现逻辑:
比如我们之前接触过的len()函数是Python的内置函数,功能之一是可以返回字符串的长度。那么,我们可不可以自己写一个具有相同功能的函数
1. 设置一个初始为0的计数器;2.遍历字符串,每遍历一次,计数器加一;3.返回计数器的值
再比如max函数,似乎我们可以用sort先排序,但是sort也是一个函数,而我想用里面的基本逻辑去实现
第二行我们把第一个数假设为最大值
后面遍历这个列表,只有后面的数大于前面的数,就把大的数赋值给第二行的那个数
最后就会得到最大的数,最后结果就是
如果想要最小的数,我们也是同样的设置第一个数为min_number,然后后面的数比前面的小就赋值给设置的数