Python也是提供了接口让开发者运用Python语言去自行开发函数的,而这个接口的载体就是def,接下来就让我们通过几个例子看下这个def的一些常用的用法。
请看下面这段代码:
def
在上面的代码中我们通过def定义了一个add函数,让它成为将传入它的两个参数相加的函数,当然了不仅支持加法,其他算数运算也是都支持的,比如下面这段代码:
def
也可以直接调用参数且顺序可以打乱:
def
细心地同学可能一经发现到了,以上def语句最后显示函数计算结果的语句有用print的,也有用return的,那么在def中这两者到底有什么不同呢,下面就让我根据我自己试验的一些结果来为大家揭晓答案,噔噔噔噔噔~
我们先看下这段代码:
def
没毛病,都是给到一个2+1的值,我们再来看看这个:
def
诶,这就奇怪了,只返回一个,明明def里有一个return和一个print,那么这个3,是哪个返回的呢?我们接着看以下这段代码:
def
函数只返回了return的结果而后面的print语句就直接被忽略了,由此我们可以得出结论def函数其实运行完return之后其实就结束了,上个def的3其实也是return(1+2)的返回,后面的print(1+2)并未被执行,return就是def的终点,其实按照字面意思来理解,return翻译过来就是返回的意思,而print仅仅是打印的意思,一个函数的作用按道理来讲当然是应该要返回一个值,而不是打印一个值,是吧?
那如何将print也执行呢,这还不简单么,既然return是def的终点,那直接将print指令放在return指令的前面不就结了
def
从二者返回的值也可以看出来,return返回的值是处于一种待引用的状态,而print返回的值就是直接呈现的结果,不信咱们再举一个例子:
def
add函数return了1+2的值,然后赋值给c,所以print(c)的结果就是3
def
而在这个def中,因为用的是print,所以c=add(1,2)按下回车后就直接会打印一个3,并不会返回一个可以饮用的值,所以后面print(c)就是一个None,表示c并没有被赋予什么值。怎么样,是不是也挺简单的,下次再使用def的时候记得分清这两者用法的区别,别犯错哦~