第五天---函数和代码复用

本文深入探讨了Python中的函数定义与使用,包括无参与有参函数、可选参数、可变参数的传递方式,以及局部变量与全局变量的区别。此外,还介绍了如何利用PyInstaller将Python脚本打包成独立的可执行文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def  <函数名>  (参数[一个或多个]):
    <函数体>
    return  <返回值>   #函数的定义

函数可以有参数,也可以没有,但是必须保留括号;函数定义的时候可以为某些参数指定默认值,构成可选参数

def  <函数名>  (非可选参数,可选参数):
    <函数体>
    return  <返回值>   #可选参数必须放在非可选参数的前面
def  fact(n,m=1):
    s=1
for  i  in range(n):
    s*=i
return  s//m       #m为可选参数

可变参数传递

def  <函数名>  (<参数>,*b):
    <函数体>
    return  <返回值>   #可变参数传递

函数调用时,参数可以按照位置或名称方式传递,函数的可以有返回值,也可以没有,可以返回多个结果,

 全局变量和局部变量,局部变量可以和全局变量一样,但是他们是不一样的,局部变量在函数运行完之后会被释放。

使用global保留字,在函数中使用global保留字,表示这个变量是全局变量

局部变量为组合数据类型且未创建且没有用global保留字,等同于同名的全局变量。

<函数名>=lambda<参数> :<表达式>
f=lambda x,y:x+y
f=lambda :"hehie"   #用于定义简单的能在一行内表达的函数
import  turtle   #八段数码管
import  time
def  drawgap():
    turtle.penup()
    turtle.fd(5)
def  drawline(draw):
    drawgap()
    turtle.pendown() if draw  else turtle.penup()
    turtle.fd(40)
    drawgap()
    turtle.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)
    turtle.left(90)
    drawline(True) if digit in [0,4,5,6,8,9]  else  drawline(False)
    drawline(True) if digit in [0,2,3,5,6,7,8,9]  else  drawline(False)
    drawline(True) if digit in [0,1,2,3,4,7,8,9]  else  drawline(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)
def  drawdate(date):
    turtle.pencolor("red")
    for  i  in date:
        if i=="-":
            turtle.write('年',font=("Arial",18,"normal"))
            turtle.pencolor("green")
            turtle.fd(40)
        elif i=='=':
            turtle.write('月',font=("Arial",18,"normal"))
            turtle.pencolor("blue")
            turtle.fd(40)
        elif i=='+':
            turtle.write('日',font=("Arial",18,"normal"))          
        else:
            drawdigit(eval(i))
def  main():
    turtle.setup(800,350)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawdate(time.strftime('%Y-%m=%d+',time.gmtime()))
    turtle.hideturtle()
    turtle.done()
main()

PyInstaller库的使用:这个库可以把.py源代码转换成无需源代码的可执行文件

安装第三方库用pip指令

pip  install pyinstall  #PyInstaller库的安装
pyinstaller  -F  <文件名>.py    #把.py文件打包为exe可执行程序

递归

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值