世界一切皆函数!
提到函数,定义我们就不说了。
大白话就是提供某个功能的黑盒子。
你提供一个数值,或者一个字符串,或者提供一个功能,或者子函数,然后函数输出一个变量或者其他应该输出的内容
我们先从最简单的开始,就先计算加,减,乘,除中的一个。
我们先来计算加法。
比如我们计算1.5+2。
那么我们就先定义a =1.5 和 b=2。
有的人说,为何每次都是a,b,或者x,y行不行,也都可以,你定义一个xx 和yy都是可以的。
其实我们就是先定义一个加法计算的通用公式,比如a+b,这就是加法描述的一般形式,然后,这里面需要2个未知数,
那么我们传入2个数据就可以了。
本质都是变量 = 数值。
这个变量的话,只要符合python的变量定义规则就可以了。
好了,我们现在写出代码
就是
a = 1.5
b = 2
a+b
直接执行就可以了。
但是我们能不能简化呢
就是打包成一个函数。
那就是
def add(x,y):
return(x+y)
在这里就牵扯了几个问题,
第一个是如何定义?
第二个是如何使用?
我们刚才已经解决了定义问题,
现在就来解决使用问题。
我们在命令提示符后面直接输入。
add(1.5,2)
然后回车,
***********************
>>> def add(x,y):
... return(x+y)
...
>>> add(1.5,2)
3.5
>>>
*********************
那么能不能把这个加法存成一个文件,然后需要的时候给我们调用呢?
答案是可以的。
首先把加法功能写在一个文件里面,
def add(x,y):
return(x+y)
写好存成add.py
然后我们再建立另一个新文件,名字叫做cal.py里面,需要导入上面制作的内部有加法功能的文件。
import add
add.add(1.5,2)
执行一下,
这里面容易犯的错误是:
函数定义错误
第一个的代码和第二个没有配合好
我们在做这些的时候,如果第一个函数没有定义好,比如第一行后面没有冒号,那么在第二个文件里面执行的时候,是不能成功的。
还有,如果第一个文件中是return(x+y)
然后第二个文件中输出的代码是 add.add(1.5,2)
执行的时候,也是没有直接结果的。其实系统已经计算好了结果,只是我们没有print
所以,我们第2个里面需要写print(add.add(1.5,2))
如果第一个文件文件中写成print(x+y)
然后第二个文件中就可以写成add.add(x+y)
学到这里,我们需要学习一下如何交换两个数据的函数。
我这里给出第二个文件,大家可以尝试写出第一个文件。
这里是直接执行了2个数据的加法。
如果加上动态键盘输入。
那就完美了。
我们修改下代码,把固定的数值改为动态输入就可以了
动态输入命令是input,然后如果不加限定,输入的将是字符串,如果我们需要计算整数,那么int(input()).如果需要计算浮点数,那么float.
我们使用float(input())
import add
add.add(float(input(),float(input())))
然后如果你想更人性化一些,就是输入的时候程序有提示,
那就改为
print(add.add((float(input('please enter your first number '))),float(input('please enter your second number'))))
看起来好复杂,头大。
执行以下,输入1.5后回车,然后继续输入2.5后回车。
其实最简单的就是
a = float(input())
b= float(input())
add.add(a,b)
其实这样看起来最清晰。
然后需要加入提示的话,就是'请输入第一个数据,比如2或者3.5或者-1.5这样'
场面就越搞越大,软件迭代的思想也会慢慢的理解,没有最复杂,只有更复杂。所以。要学会最基本的,这样你才可能举一反三。真正的把这把剑舞起来。