欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Python入门】——函数和Pyinstaller打包程序

程序员文章站 2024-02-07 16:46:52
...

一.函数


#定义一个参数
def function(n[,m]):
    <main>
    return ret
#例如
def fact(n, *b):
    s = 1
    for i in range(1,n+1):
        s *= i
    for item in b:
        s *= item
    return s,n  #返回一个元组(435456000,10)
print(fact(10,3,5,8)) #(10!*3*5*8 = 435456000,10)  
#lambda函数
#形式:<funcame> = lambda <var>:<main>
#例如
f = lambda x,y : x+y #定义一个函数:函数名为f 有两个参数x,y  运算时x+y
f(10,15) = 25

实例:七段数码管

#七段数码管绘制
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 DrawData(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)) #通过eval()函数进行数字转化
def main():
    turtle.setup(800,350,200,200) #初始化画布
    turtle.penup()
    turtle.pensize(5)
    turtle.fd(-300)
    DrawData(time.strftime('%Y-%m=%d+',time.gmtime()))#获取系统时间
    turtle.hideturtle() #隐藏海龟
    turtle.done()
main()
# 递归计算n!
def fact(n):
    if n == 0:
    	return 1
    return n*fact(n-1)
print(fact(5))

#字符串反转
def rvs(s):
    if s == "":
        return s
    return rvs(s[1:]) + s[0]
print(rvs("1234567"))


#汉诺塔
count = 0
def hanoi(n,src,dst,mid):
    global count
    if n == 1:
        print("{}:{}->{}".format(1,src,dst))
        count += 1
    else:
        hanoi(n-1,src,mid,dst)
        print("{}:{}->{}".format(1,src,dst))
        count += 1
        hanoi(n-1,mid,dst,src)
hanoi(3,"A","B","C")
print(count)

实例:科赫雪花

#实例:科赫雪花
import turtle
#绘制大小为size 的n阶Koch曲线
def Koch(size,n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0,60,-120,60]: #__/\__ 绘制Koch曲线
            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 = 3
    Koch(400,level) #3阶科赫曲线
    turtle.right(120)
    Koch(400,level) #3阶科赫曲线
    turtle.right(120)
    Koch(400,level) #3阶科赫曲线
    turtle.hideturtle()
    turtle.done()
main()

【Python入门】——函数和Pyinstaller打包程序

二.PyInstaller库的使用


将Python源代码 转化为可执行文件 无需在计算机上安装Python环境

安装

打开Window OS 下的CMD命令或相应系统的命令行 输入:

pip intall pyinstaller

【Python入门】——函数和Pyinstaller打包程序
【Python入门】——函数和Pyinstaller打包程序

可能会出现异常 更新pip
【Python入门】——函数和Pyinstaller打包程序

安装完成后,依然使用CMD命令:

pyinstaller -F <文件名.py>

默认文件路径是在C盘的登录用户的根目录下 文件路径大家可以自行修改

然后找到用户目录里有一个dist文件夹

里面就有可以转化后的可执行文件了

【Python入门】——函数和Pyinstaller打包程序

一些pyinstaller常见命令

【Python入门】——函数和Pyinstaller打包程序

相关标签: Python学习笔记