函数
共 1387字,需浏览 3分钟
·
2020-09-02 03:58
一、引入——代码复用情境
有时候我们需要反复使用某些代码,比如组合图形出现多个五角星。如果到处拷贝这些代码,会出现弊端,一是程序变得冗长,可读性差;二是一旦需要修改或扩充,要在各处同步改代码,容易出错;三是可维护性差。
那么我们可以用什么方法解决呢?
二、函数(functions)
我们把这些重复代码单独收集起来,组成一个“函数”对象,并赋予一个名称,在需要用到这些代码的时候就通过名称加括号来“呼叫”这些“函数” 。前者称为函数定义(define),后者称为函数调用(call)。
三、定义函数:def语句
• 函数定义语句def:def <函数名称>([<参数表>]):
<语句块>
[return <返回值>]
• 几个要素:def关键字、函数名称(后跟一对圆括号)、(可选的)参数表、语句块、(可选的)返回值。
四、函数的参数
如果代码块里没有可供调节的选项,可以定义没有参数的简单函数。一般函数会带有可供调节的选项参数,参数可以有多个,如画五角星的函数,包含两个参数:大小size和颜色color。
五、函数的返回值
有时候函数会有返回值,如math模块中求平方根的函数math.sqrt(n)返回n的平方根。return语句负责结束函数执行,并返回。return语句可以根据需要,出现在语句块中的任何位置。
六、函数定义中的代码块
由于函数定义def语句仅仅是把代码块“打包封装” ,当def语句执行的时候,代码块并不会被执行,所以,在执行def语句的时候,除非语句块中包含了明显的语法错误。Python解释器是不会检查语句块中其它错误的。
def定义了函数之后,函数名称仅代表这个“函数对象” ,如果需要执行语句块代码,需要有如下的要素:函数名称(后加括号)、括号内放置参数的具体值。没有或者不需要返回值:func(a,b,c) #如调用star。获取返回值:v = func(a,b,c)。
• 产生一定范围内的随机数
random.randint(min,max)
• 从列表中随机选择
random.choice(list)
• 定义一个多边形函数:
def polygon(n,size,color):
• 绘制正n边形,边长为size,填充颜色color
• 编写一个程序,绘制现代时尚几何多边形色块抽象装饰画
• 随机模块random
• t.goto(x,y)
上期参考答案
推荐阅读
《数据科学与人工智能》公众号推荐朋友们学习和使用Python语言,需要加入Python语言群的,请扫码加我个人微信,备注【姓名-Python群】,我诚邀你入群,大家学习和分享。
关于Python语言,有任何问题或者想法,请留言或者加群讨论。