09.完美主义者的函数
说到函数你会联想到什么?
一大堆未知数的方程 通过复杂的各种算法 得到一个结果
没错这是函数 但是有一点要清楚 我们是编程的人 我们可以开启上帝视角
除非你在开拓一片现如今从未到过的领域,否则不需要你忙着计算 和拥有强大的数学能力
当然你有这方面的能力 再好不过了。不足的话也没有什么关系,计算机可以帮我们 解决这些问题。
不仅仅在Python中 其他的语言也是一样,函数最主要的功能是提高代码的利用率 让程序更加精简 美观。
基本写法:
# def 后面接函数名称(自己定义名字) 最后调用这个函数
def my_fist_function(): print('helloword') my_fist_function()
那 那 那 有人会说 打印一个helloword 写了三行 我直接打印不好吗?
那么问题来了,我要打印100次helloword呢? 1000次 10000次呢?
是不是 额...print('helloword')写100行呢?
我替聪明的同学发声 我可以这样啊:
for i in range(0,100): print('helloword')
两行我就可以打印n遍helloword 我压根都不用函数。
的确对于这种单一的需求用不到函数 可以更简洁
那么接下来有个新的问题:
我的需求提升至10个 我的程序中有十个地方要求打印10行'a',那你是不是得写10个for循环?
函数中的 return
def my_fist_function(): c = 'helloword' return c a = my_fist_function() print(a)
return 表示这个函数的返回值
他返回之后,a = my_first_function() a就来接收这个返回值
还有一点很重要:执行一个函数,只要执行到return语句时,程序立马结束,并返回这个值。
如:
def my_fist_function(): c = 'helloword' for i in range(1,100): print('i出现的次数{}'.format(i)) if c == 'other': pass else: return 'error' a = my_fist_function() print(a)
pass代表这一行不管不顾 直接跳过
程序执行结果为:
显而易见for循环只执行了一次 碰到return之后 函数立即返回 'error' 不再继续执行了
函数的基础部分暂时只说这么多 后续还有函数作用域 闭包 函数内的参数传递 函数的设计...
结束。