轻量级前端框架助力开发者提升项目效率与性能
579
2022-10-29
萌妹子Python入门指北(五)
这次我们来谈谈python中的函数,首先说一点,这里的函数和数学中的函数完全没有任何关系。在数学中,函数可能代表这一个数学公式,哎呀! 想想就头疼,但在程序猿的世界,函数就是实现某个功能的一段代码,比起for循环、if判断来说好理解多了。 为啥在编程语言中要有函数这个东西,其实还是为了代码能够复用,加快你写代码的速度,降低你代码的复杂度。为了让你能更深刻的理解函数带来的好处,本文会全程贯穿上篇文章输出乘法口诀表的例子,也算是对上文的一次复习。 Round 1:输出一个乘法口诀表
for i in range(1,10): for j in range(1, i+1): print ("%d*%d=%d"%(j,i,i*j)), print ""
简直完美 Round 2:输出两个乘法口诀表,简单 上面代码复制一遍就好了,我知道你肯定会怎么做。 所以我让你输出10000个乘法口诀表,难道你要复制上面这段代码10000遍吗? 其实在外层再加一个循环就好。
for x in range(1,10001): for i in range(1,10): for j in range(1, i+1): print ("%d*%d=%d"%(j,i,i*j)), print ""
不过这里依旧没有用的函数。 Round 3:我这次不要1-9乘法口诀表,我1-5,4-9,1-8,1-7,2-6,3-7,5-7……各要一个,哈哈,崩溃了吧!! 这次我们没法做循环,看似每次只能把最上面的代码复制一个,改巴改巴来输出x-y的乘法表,所以可能会导致代码非常长。 如果我们有一段代码专门来做这事,而且还有一个很简单的名字就好了,这就引出了函数。
def fun(s, e): for i in range(s,e+1): for j in range(s, i+1): print ("%d*%d=%d"%(j,i,i*j)), print ""
这样我们就有个了一个叫fun的东西,专门来做输出从s到e的乘法表。比如我要输出从2到9的乘法表,我现在可以直接这么写了。
fun(2,9)
原来的五行代码变成一行,而且还可以复用,我这里这个例子很简单,其实函数里的代码可以做更复杂的事。上文说了一个函数的例子,我们来说下函数的格式。 def 这个是必须要写的,后面fun是函数名字,这个可以随便起,只要不和已有函数名和变量名冲突就行。 函数名后的()的必须的,但里面内容可有可无,也不仅限2个,多个也可以。这里面的内容可以在函数里用到。 然后就是和if while一样的格式要求,末尾必须加冒号 下一行开始必须缩进4个空格,这是python的语法要求,必须遵守,负责代码执行会出错。 下面我写一个函数的例子,改函数功能是判断一个数是否是素数(同质数)。
def isprime(n): //isprime是函数名,n是需要判断的数 for i in range(2, n): if n%i == 0: //这里如果被i整除了看到不是素数了,素数的定义就是因子只有1和它本身 return False return True
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~