python MOOC-1函数

函数

1函数定义和使用

1.1定义

函数可以理解为:IPO的实现和一代完整代码封装。
在这里插入图片描述
在这里插入图片描述

1.2 调用

实际参数替换函数中的形式参数。定义不执行,调用才执行。

1.3参数传递

参数传递指的是在函数调用的时候,怎么将实际的值给定到参数上。可以按照位置或明称方式传递。
在这里插入图片描述
在这里插入图片描述
!可选参数必须放在非可选参数之后。
在这里插入图片描述

1.4返回值

在这里插入图片描述
在这里插入图片描述
元组类型:(,)
列表类型: [,]

1.5局部变量和全局变量

局部变量是函数内部变量。
在这里插入图片描述
里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.6 lambda函数

在这里插入图片描述
在这里插入图片描述

1.7小结

尤其注意组合数据类型和基本数据类型

2 七段数码管实例

在这里插入图片描述

#七段数码管实例
import turtle , time
def drawGap():#绘制间隔
    turtle.penup()
    turtle.fd(5)
def drawline(draw):#单段数码管
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.right(90)
def drawDigit(d):#根据数字绘制数码管
    drawline(True) if d in [2,3,4,5,6,8,9]     else drawline(False)
    drawline(True) if d in [0,1,3,4,5,6,7,8,9] else drawline(False)
    drawline(True) if d in [0,2,3,5,6,8,9]     else drawline(False)
    drawline(True) if d in [0,2,6,8]           else drawline(False)
    turtle.left(90)
    drawline(True) if d in [0,4,5,6,8,9]       else drawline(False)
    drawline(True) if d in [0,2,3,5,6,7,8,9]   else drawline(False)
    drawline(True) if d in [0,1,2,3,4,7,8,9]   else drawline(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)
def drawDate(date):#获得输出的数字
    turtle.color("red")
    for i in date:
        if i == "-":
            turtle.write("年", font=("Arial",18,"normal"))
            turtle.color("green")
            turtle.fd(40)
        elif i == "=":
            turtle.write("月", font=("Arial",18,"normal"))
            turtle.color("blue")
            turtle.fd(40)
        elif i == "+":
            turtle.write("日", font=("Arial",18,"normal"))
        else:
            drawDigit(eval(i))#注意:通过eval()函数将数字变为整数
def main():
    turtle.setup(800,350,200,200)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate(time.strftime("%Y-%m+%d+",time.gmtime()))
    turtle.hideturtle()
    turtle.done
main()

3 代码复用与函数递归

3.1代码复用与模块化设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
高内聚低耦合

3.2递归

在这里插入图片描述
在这里插入图片描述

4 PyInstaller

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 科赫雪花

#科赫雪花
import turtle
def koch(size,n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0,60,-120,60]:
            turtle.left(angle)
            koch(size/3,n-1)
def main():
    turtle.setup(600,600)
    turtle.penup()
    turtle.goto(-200,100)
    turtle.pendown()
    turtle.pensize(2)
    level = 2
    koch(400,level)
    turtle.right(120)
    koch(400, level)
    turtle.right(120)
    koch(400, level)
    turtle.right(120)
    turtle.hideturtle
    turtle.done()
main()

(仅为嵩天老师慕课的听课笔记,侵删)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值