知识点:函数的定义与使用
一、函数的理解与定义
1、概念:
函数是一段代码的表示
-函数是一段具有特定功能的、可重复的语句组
-函数是一种功能的抽象,一般函数表达特定功能
-两个作用:降低编程的难度和代码复用
表示:
def <函数名> (<参数(0个或者多个)>)
<函数体>
return <返回值>
2、定义:
-函数定义时,所指定的参数是一种占位符
-函数定义后,如果不经过调用,不会被执行
-函数定义时,参数是输入、函数体是处理、结果是输出
3、函数的调用
4、函数的参数传递
函数可以有参数,也可以没有,但必须保留括号
如
def <函数名> ():
<函数体>
return <返回值>
5、函数的返回值
-return保留字用来传递返回值
-函数可以有返回值也可以没有,可以有return ,也可以没有。
6、全局变量和局部变量
局部变量和全局变量是不同的变量
-局部变量是函数内部的占位符,与全局变量可能重名但不同。
-函数运算结束后,局部变量被释放。
-可以使用global保留字在函数内部使用全局变量。
7、lambda函数
lambda函数返回函数名作为结果。
-lambda函数是一种匿名函数,即没有名字的函数。
-使用lambda保留字定义,函数名是返回结果。
-lambda函数用于定义简单的、能够在一行内表示的函数。
如:
f=Lambda x,y:x+y
f(10,15)
返回结果:25
二、代码示例:
七段数码管绘制
代码:
import turtle as t ,time
def drawGap():
t.penup()
t.fd(5)
def drawLine(draw):
t.pendown() if draw else t.penup()
t.fd(40)
drawGap()
t.right(90)
def drawDigit(digit):
drawLine(True) if digit in [2,3,4,5,6,8,9]else drawLine(False)
drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,6,8,] else drawLine(False)
t.left(90)
drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if digit in [0,2,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
t.left(180)
t.penup()
t.fd(20)
def drawDate (date):
t.pencolor("red")
for i in date:
if i=='-':
t.write("年",font=("Arial",18,"normal"))
t.pencolor("green")
t.fd(40)
elif i=='=':
t.write("月",font=("Arial",18,"normal"))
elif i=='+':
t.write("日",font=("Arial",18,"normal"))
else:
drawDigit(eval(i))
def main():
t.setup(800,350,200,200)
t.penup()
t.fd(-300)
t.pensize(5)
drawDate(time.strftime("%Y-%m=%d+",time.gmtime()))
drawDate('20181010')
t.hideturtle()
t.done
main ()
运行结果: