从今天起,我们要开始学习函数了,函数?计算机里也有函数吗? 是的,就像数学里的函数一样,都具有抽象性。
例如我要从1加到100,要用哪个函数比较方便呢?众所周知,我们高中都学过一个符号数学,它长这个样子∑,没错它就是求和符号Sigma。 ∑ 100 n \large\stackrel{100}{∑} n ∑100n n = 1 \small{n=1} n=1
没错这就是从1+到100的求和公式,废了我九牛二虎之力才用markdown语法打出来
当我们看到这个公式的时候,想到的一定是高大上的运算,而不是简单的低级加法运算1+2+3+4......+99+100
通过函数我们不必再过于关心底层的计算过程,而把目光放在更高层次上思考问题。
python当中内置了很多函数,我们可以直接调用出来
当我们要调用一个函数的时候,要知道什么?就像我们买一件东西,肯定要知道商品的名称和作用。在python函数当中,同样如此,我们要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。
让我们来调用abs函数试试看
>>>abs(1) >1 >>>abs(-1) >1由于函数abs的参数只有一个,当我们输入两个函数的时候程序就会报错
>>> abs(1, 2) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: abs() takes exactly one argument (2 given)那如果参数正确,我们输入的参数类型不对呢?比如我们输入字符串a
>>> abs('a') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: bad operand type for abs(): 'str'注意和上面的错误不同,给出错误信息:str是错误的参数类型:
像max、min函数max()、min()就可以就收任意多个函数。
以max函数举例
>>>max(1,2,3) >>>3 >>>max(-1,3,5,-7) >>>5python中有可以转.换数据类型的函数,像int()、flaot()...
>>> int('123') 123 >>> int(13.14) 13 >>> float('13.14') 13.14 >>> str(1.23) '1.23' >>> str(100) '100' >>> bool(1) True >>> bool('None') False当然你也可以给函数起“小名”,例如:
>>> b = abs # 变量b指向abs函数 >>> b(-1) # 所以也可以通过b调用abs函数 1函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量
已经深夜了,太晚了今天就写到这里,大家都早点休息吧,晚安!