从Scratch到Python——Python生成二维码
# Python利用pyqrcode模块生成二维码
import pyqrcode
import sys
number = pyqrcode.create('从Scratch到Python——Python生成二维码',encoding='utf8')
number.png('d:\\a.png',50)


我相信,将来Python一定会走进中小学生的教材,像Scratch一样成为编程入门语言;至于人手一把游标卡尺,我觉得是无脑黑,毕竟学汉字还要用个四线方格呢,设计这个针对Python的练习本可比作文本容易多了.
我强烈的相信Python一定会走进中小学的教材,为此我一直在努力.
Python有什么好?
试图向没有接触Python的人解释Python的好处是比较困难的,对于Python Turtle来说,跟Logo语言辣么相似,学logo就好了,干嘛学习Python呢?
我竟然无言以对,毕竟Python的种种强大对小学生来说是感知不到的.
今天看自己安装的Python模块的文档,无意中发现了竟然安装了pyqrcode模块,跟二维码相关的嘛,于是尝试了一下,抛开两行导入,只要两行就可以生成一个二维码真的超简单的.
# Python利用pyqrcode模块生成二维码
import pyqrcode
import sys
number = pyqrcode.create('从Scratch到Python——Python生成二维码',encoding='utf8')
number.png('d:\\a.png',50)
实际上这段代码是很简单的,但是呢可以跟Python turtle很好的结合起来.
logo语言在国外编程教育历史中曾经扮演过很重要的角色,然而其历史地位已经被Scratch所取代,采用兼容Logo语言的Python turtle绝不是为了开倒车,利用Python turtle掌握编程基本概念之后,可以利用Python的简洁强大开发出属于自己的小工具.
Scratch虽然很强大,scratch利用自带的绘图功能也并非不能绘制二维码,只是对于小孩子来说难以理解,而Python因为有着丰富的代码库,所以只需要引入对应的库,然后调用相关的指令就好了.
我们知道Scratch中有询问命令,同时可以获取到询问的回答,在Python turtle中也有类似的功能.
那么我们就可以用Python turtle构建一个可以生成包含指定文字的二维码.
如今,二维码在日常生活中随处可见,能够自己生成二维码真是件让人开心的事情呢.
这两天一直在分析Python turtle的源代码,也增加了许多功能,当然因为Tkinter的限制,获取鼠标的坐标需要很多复杂的工作;有人说Python turtle能做的Pygame,pyglet,pyqt都能做,为什么非得用Python turtle呢,因为这是最简单用文本编程构建图形化界面的工具,门槛很低,没有的功能二次开发加上就是了.
但是这种能够跟交互式命令行完美兼容的特点,是pygame也好,pyglet也好,pyqt也好,所不具备的,而这就是scratch成功的低门槛的特性,虽然Python已经足够简单易学,但是对于小孩子来说,尽量降低学习成本是有必要的,尽量符合孩子的认知特点.
同样scratch还具有个性化多样性的特点,允许使用自己的图像,照片,绘制的图画,这对Python来说完全不是问题,况且Python有各领域丰富的代码库,来完成各种稀奇古怪的任务.
至于scratch的无极限,据说有人用scratch来做光线追踪程序,这不是不可以的,这个特点强调随着对scratch掌握程度的加深可以开发出复杂的作品,但是scratch本身的性能是有限制的,这点在官方的paper中也有所体现;而Python完全不存在这个问题,只有你想不到,Python能够完成的任务超乎你的想象.
以上是我坚定不移的推崇Python的原因中的一些,欢迎大家留言,探讨.
对了,之前有老师留言问,Python能否跟arduino交互,可以的.跟scratch类似,写入一个固件,然后Python就可以跟arduino互动的,但是不能编译,这点比较遗憾;其实硬要编译也是可以的,不过需要把Python转换成c语言的代码,然后调用相关的命令上传程序到arduino,也有人在做这方面的工作,初期的话,我们使用Python+固件的方式交互比较好一些.后面会介绍
从Scratch到Python——Python生成二维码的更多相关文章
- 一次使用Python连接数据库生成二维码并安装为windows服务的工作任务
最近有一个需求,在现有生产系统上的人员库中增加一个此人员关键信息的二维码,支持文字版和跳转版两种方式,与报表工具关联,可打印.以windows服务方式,定时检查,只要发现某人员没有此二维码信息,就生成 ...
- 使用 Python 生成二维码
在“一带一路”国际合作高峰论坛举行期间, 20 国青年投票选出中国的“新四大发明”:高铁.扫码支付.共享单车和网购.其中扫码支付指手机通过扫描二维码跳转到支付页面,再进行付款.这种新的支付方式,造就二 ...
- 第三百二十节,Django框架,生成二维码
第三百二十节,Django框架,生成二维码 用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qr ...
- 使用MyQR生成二维码
from MyQR import myqr # 主要用到以下几个参数 # words:文本,可以是一个链接,或者你想说的话 # picture:你用到的图片,作为背景,不然只是一个光秃秃的二维码 # ...
- 十八 Django框架,生成二维码
用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qrcode img = qrcode.make ...
- Python 创建本地服务器环境生成二维码
一. 需求 公司要做一个H5手机端适配页面,因技术问题所以H5是外包的,每次前端给我们源码,我们把源码传到服务器让其他人访问看是否存在bug,这个不是很麻烦吗?有人说,可以让前端在他们的服务器上先托管 ...
- Python使用QRCode模块生成二维码
QRCode官网https://pypi.python.org/pypi/qrcode/5.1 简介python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode ...
- Python将文本生成二维码
#coding:utf-8 ''' Python生成二维码 v1.0 主要将文本生成二维码图片 测试一:将文本生成白底黑字的二维码图片 测试二:将文本生成带logo的二维码图片 ''' __autho ...
- python生成二维码
1.python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode 库. 首先,我们要安装三个模块,qrcode,image,PIL. pip install q ...
随机推荐
- DHCP服务器 出现的故障
系统版本:Windows Server 2008 R2 Standard 故障现象:近段时间,我们核心网络DHCP服务器,总是发现有掉线重起现象,大约每10分钟至30分钟不定时会重起. 故障代码:关键 ...
- PHP----------linux下如何安装redis扩展。安装redis可以在我的博客redis里面寻找。
1.扩展下载地址:wget https://github.com/phpredis/phpredis/archive/develop.zip 2.下载完了以后解压压缩包 解压以后切换到 cd phpr ...
- [阿里云] 云数据库mongodb外网连接
原教程,https://www.alibabacloud.com/help/zh/doc-detail/55253.htm 但按照这里的教程,还是连不上mongdb,甚至在ECS上也ping不通mon ...
- Java 多线程之Timer与ScheduledExecutorService
1.Timer管理延时任务的缺陷 a.以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗:然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只 ...
- 使用gulp构建一个项目
gulp是前端开发过程中自动构建项目的工具,相同作用的还有grunt.构建工具依靠插件能够自动监测文件变化以及完成js/sass/less/html/image/css/coffee等文件的语法检查. ...
- webdriver保存验证码截图
element = wait.until ( EC.visibility_of_element_located((By.CSS_SELECTOR,'.quc-main .quc-field-captc ...
- 【SparkStreaming学习之三】 SparkStreaming和kafka整合
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...
- 2018-2019-20175205 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告
2018-2019-20175205 实验三敏捷开发与XP实践<Java开发环境的熟悉>实验报告 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...
- vue配置手机通过IP访问电脑开发环境
vue配置手机通过IP访问电脑开发环境config/index.js// Various Dev Server settings host: '0.0.0.0', // can be overwrit ...
- eclipse发布到tomcat
1.用maven集成的工程,在发布的时候,发现其中的变量没有改变,类似${}不存在之类 解决方式:这个类问题是由于缓存导致,基本方法就是clean一下,重启eclipse,最后不行重启电脑 2.今天遇 ...