PyInstaller库概述

将.py源代码转换成无需源代码的可执行文件

意思就是将.py文件转换为.exe文件

PyInstaller库是第三方库

- 官方网站:http://www.pyinstaller.org

- 第三方库:使用前需要额外安装

- 安装第三方库需要使用pip工具

PyInstaller库的安装

(cmd命令行) pip install pyinstaller

PyInstaller库的说明

pyinstaller库安装之后,它会安装生成一个文件,也是一个命令叫做PyInstaller,通过这样一个命令将一个源文件打包生成一个可执行文件

 它会生成三个目录, __pycache__和build可以安全删除掉,而我们想要的可执行文件就在dist文件夹中        

 PyInstaller库常用参数

科赫雪花小包裹

科赫曲线,也叫雪花曲线;科赫曲线是一种用于分形的曲线

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 = 3      # 3阶科赫雪花,阶数koch(400,level)turtle.right(120)koch(400,level)turtle.right(120)koch(400,level)turtle.hideturtle()
main()

这段代码是用Python中的turtle库实现了科赫雪花的绘制。主要思路是采用递归的方式来绘制雪花的每一个分支,直到达到指定的阶数。

首先定义了一个koch函数,它的参数包括size和n,分别表示每个分支的长度和绘制的阶数。如果当前阶数为0,就直接绘制一条直线,否则就递归地绘制当前分支的三个子分支。

在绘制子分支的过程中,每次都要先左转或右转60度,然后继续递归绘制子分支。递归结束后,再左转或右转120度,继续递归绘制下一个子分支,直到绘制完整个雪花。

然后在main函数中,先进行一些初始化的操作,包括设置窗口大小、将画笔移动到指定的起点、设置画笔粗细等。接着设置阶数为3,然后分别绘制三个顶点处的雪花分支,最后隐藏画笔,完成绘制。

总之,这段代码实现科赫雪花的主要思路是使用递归,将雪花的每一个分支分解为三个子分支,然后依次绘制这些子分支,最终完成整个雪花的绘制。

举一反三

我们使用康托尔集做一个类似效果

康托尔集是一种无限长的、自相似的分形集合。类似于科赫雪花,我们可以使用递归的方式来绘制康托尔集。

#!/usr/bin/env python
# -- coding: utf-8 --
# @Time : 2023/3/25 16:35
# @File : 康托尔集.py
import turtledef cantor(length, depth):if depth == 0:turtle.fd(length)else:turtle.down()cantor(length/3, depth-1)turtle.up()turtle.fd(length/3)turtle.down()cantor(length/3, depth-1)turtle.up()turtle.fd(length/3)turtle.down()cantor(length/3, depth-1)turtle.up()def main():turtle.setup(800, 400)turtle.speed(0)turtle.penup()turtle.goto(-350, 0)turtle.pendown()turtle.pensize(2)cantor(700, 5)turtle.hideturtle()turtle.done()main()

在上述代码中,我们定义了一个cantor函数,它的参数包括length和depth,分别表示当前分支的长度和绘制的深度。

如果当前深度为0,就直接绘制一条长度为length的直线;否则就递归地绘制三个子分支,分别为长度为length/3的cantor(length/3, depth-1)。

在绘制子分支的过程中,我们首先将画笔降下,然后递归地绘制子分支。递归结束后,我们将画笔抬起,向前移动length/3的距离,再将画笔降下,继续绘制下一个子分支。

最后,在main函数中,我们先进行一些初始化的操作,包括设置窗口大小、将画笔移动到指定的起点、设置画笔粗细等。接着设置深度为5,然后绘制一条长度为700的康托尔集,最后隐藏画笔,完成绘制。

运行上述代码,我们可以看到一个康托尔集的图形,它由一系列越来越短的线段组成,非常具有美感。

PyInstaller库的使用(py文件转exe文件)及Koch曲线及推广,绘制康托尔集相关推荐

  1. 用 Pyinstaller 模块将 Python 程序打包成 exe 文件(全网最全面最详细)

    目录 打包前置知识 一.什么是exe可执行文件? 二.为什么要将 Python 程序打包为 exe 可执行文件? 三.为什么 Python 程序不能直接运行呢? 四.我们用什么来打包 Python 文 ...

  2. Python将py文件生成exe文件

    使用PyCham软件运行生成可执行文件后,最完美的就是将py文件生成exe文件,这样可以任意复制移植到其他电脑上,供他人共享. 由于新手初步尝试,自己一个人摸索,遇到了很多坑.这里先给出最简单有效的方 ...

  3. 潇洒郎:用cxfreeze打包py文件为exe文件全过程——呕心吐血经验——安装、调试、解决KeyError: 'TCL_LIBRARY'问题、最终成功、打包方便技巧

    用cxfreeze打包py文件为exe文件全过程:必须全部看完,正确在后面 注意:当前环境是Play_Craw, pip install cx-freeze 时自然安装到了C:\Users\xiaos ...

  4. 系统中的obj文件、dll文件、so文件、lib文件、exe文件、vcproj文件、sln文件

    1. 源代码(.c等)要经过编译器的编译得到目标代码(.obj),再经过链接器使目标代码和库函数及启动代码合并成一个文件,即可执行文件exe. 2. 生成可执行文件时的链接过程又可根据链接库(动态链接 ...

  5. com文件与exe文件

    COM文件是一种可执行程序的内存映象文件,它与只有16位地址线的8位机上的CP/M操作系统下的可执行程序结构相似.在COM程序执行过程中,除了调用DOS功能和 ROM BIOS 功能,以及用户特意安排 ...

  6. Java小工具-猜数字游戏(exe版)另附Java文件转exe文件教程

    游戏效果: 系统会随机生成一正整数(1~100),猜测该数字,猜的次数越少,得分越高,6次猜不中,游戏结束.在这之前你将无法退出程序! 程序部分截图: 没有很复杂的逻辑,就直接上代码了(可以直接跑): ...

  7. Matlab.m文件生成.exe文件之旅

    Matlab.m文件生成.exe文件之旅 Matlab中.m文件生成.exe文件之旅 作为算法工程师,有时需要测试人员帮忙测试算法模型,故需要向其发布一个算法工具,也是就是.exe文件.由于近期有利用 ...

  8. exe4j 打包 jar 文件为 exe 文件(GUI程序)

    exe4j 打包 jar 文件为 exe 文件(GUI程序) 1.资源分享 2.把项目打包成 exe 文件 2.1 把项目打包成 jar 包(用 fatjar 打包项目) (1) 把 net.sf.f ...

  9. python3.5把py文件转换为exe文件(by PyInstaller)

    配置系统变量 下载PyInstaller 安装PyInstaller 使用PyInstaller生成exe文件 可能遇到的问题 1.配置系统变量 安装需要用到pip工具,该工具在3.5版本的pytho ...

最新文章

  1. iOS 数组中的模型去重
  2. 丢弃Transformer,FCN也可以实现E2E检测
  3. 自定义时间格式 返回年月日
  4. 使用 detours 框架 hook 函数
  5. 软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结...
  6. LeetCode每日一题 142. 环形链表 II
  7. mysqli模块的安装
  8. 怎么在数据库服务器解压文件,数据库服务器9怎么解压
  9. 角度控制_手机拍剪影,选择拍摄角度,还要控制画面亮度
  10. HTML5 的输入类型(input type)
  11. GIMP教程 4 图层
  12. ab 测试工具(Linux Windows)
  13. PHP UTF-8转GBK
  14. STM32驱动步进电机测试
  15. python爬取皮肤_如何用Python爬取LOL官网全英雄皮肤
  16. C#数据Encrypt加密Encrypt解密的算法使用
  17. Service与Android系统设计-- libbinder 转载
  18. 用户需求不等于产品需求
  19. 佛说,是我们自己苦了自己~
  20. ssh登录极路由后台_十八聊智能 篇一百一十:搭建个人云盘,蒲公英企业级路由G5评测:个人私有云+企业异地组网两大杀手锏_路由器...

热门文章

  1. NC6报销单外部交换平台报错“表头总金额与财务页签金额合计不一致“
  2. C++坑人游戏(加更)
  3. 小程序数据为何传不到服务器上,小程序真机调试,发送不到数据到后台
  4. python的数据类型包括内置的_python基础(三)-数据类型与内置方法1
  5. C++设计模式 | 四种创建型模式——简单工厂模式、工厂方法模式、抽象工厂模式、单例模式...
  6. 一文搞懂Typescript
  7. 信息学奥赛一本通T1453:移动玩具
  8. 快手切入蓝领招聘,58同城准备好了吗?
  9. docker 运行异常处理(持续更新)
  10. Matlab 计算年积日