【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()
二.PyInstaller库的使用
将Python源代码 转化为可执行文件 无需在计算机上安装Python环境
安装
打开Window OS 下的CMD命令或相应系统的命令行 输入:
pip intall pyinstaller
可能会出现异常 更新pip
安装完成后,依然使用CMD命令:
pyinstaller -F <文件名.py>
默认文件路径是在C盘的登录用户的根目录下 文件路径大家可以自行修改
然后找到用户目录里有一个dist文件夹
里面就有可以转化后的可执行文件了
一些pyinstaller常见命令
上一篇: 模板方法模式:C++实现
下一篇: 009---路径
推荐阅读
-
【Python入门】——函数和Pyinstaller打包程序
-
pyinstaller打包python(py)脚本为exe文件时的坑(os和sys)
-
利用pyinstaller将python程序打包成exe文件,以及解决过程中遇到的问题
-
python两种打包方式--py2exe和pyinstaller
-
PyInstaller将python脚本打包成exe可执行程序
-
使用pyinstaller打包python程序为exe却不能执行的解决办法
-
pyinstaller 将python程序打包为可执行文件exe
-
关于如何使用pyinstaller把python脚本打包成windows exe 可执行程序(相关程序内附有网盘)
-
python 调用C程序的结构体和函数
-
使用pyinstaller打包python PyQt5程序