Python 慕课学习06

知识点:函数的定义与使用

一、函数的理解与定义
1、概念:
函数是一段代码的表示
-函数是一段具有特定功能的、可重复的语句组
-函数是一种功能的抽象,一般函数表达特定功能
-两个作用:降低编程的难度和代码复用

表示:
def <函数名> (<参数(0个或者多个)>)
<函数体>
return <返回值>

2、定义:
-函数定义时,所指定的参数是一种占位符
-函数定义后,如果不经过调用,不会被执行
-函数定义时,参数是输入、函数体是处理、结果是输出

3、函数的调用
Python 慕课学习06
Python 慕课学习06

4、函数的参数传递
函数可以有参数,也可以没有,但必须保留括号

def <函数名> ():
    <函数体>
  return <返回值>

Python 慕课学习06
Python 慕课学习06
Python 慕课学习06
Python 慕课学习06
Python 慕课学习06
5、函数的返回值
-return保留字用来传递返回值
-函数可以有返回值也可以没有,可以有return ,也可以没有。

6、全局变量和局部变量
Python 慕课学习06
Python 慕课学习06
局部变量和全局变量是不同的变量
-局部变量是函数内部的占位符,与全局变量可能重名但不同。
-函数运算结束后,局部变量被释放。
-可以使用global保留字在函数内部使用全局变量。

7、lambda函数
lambda函数返回函数名作为结果。
-lambda函数是一种匿名函数,即没有名字的函数。
-使用lambda保留字定义,函数名是返回结果。
-lambda函数用于定义简单的、能够在一行内表示的函数。

Python 慕课学习06
如:

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 ()

运行结果:
Python 慕课学习06

上一篇:[LeetCode] 967. Numbers With Same Consecutive Differences 连续差相同的数字


下一篇:C语言文法