2023-12-26 12:43:58 | 我爱编程网
Python作为一个整体可以用于任何软件开发领域。下面来看看Python可以应用在哪些领域的开发。
基于控制台的应用程序
基于音频或视频的应用程序
3DCAD应用程序
.Web应用程序
企业级应用
图像应用
python该如何学习?
1.起步阶段
任何一种编程语言都包含两个部分:硬知识和软知识,起步阶段的主要任务是掌握硬知识。
(1)硬知识
“硬知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一种语法,实际是建立了一种思维。例如:让一个Java程序员去学习Python,他可以很快的将Java中的学到的面向对象的知识map到Python中来,因此能够快速掌握Python中面向对象的特性。
如果你是刚开始学习编程的新手,一本可靠的语法书是非常重要的。它看上去可能非常枯燥乏味,但对于建立稳固的编程思维是必不可少。
下面列出了一些适合初学者入门的教学材料
?「笨方法学Python」:
L,文本编码,JSON一无所知,你能做好这部分的工作么?而你在起步阶段的基础知识也同样重要,如果你连循环递归怎么写都还要查文档,连BFS都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。
在这个阶段,不可避免要接触大量类库,阅读大量书籍的。
(1)类库方面
「AwesomePython项目」
这里列出了你在尝试解决各种实际问题时,Python社区已有的工具型类库,如下图所示:
你可以按照实际需求,寻找你需要的类库。
至于相关类库如何使用,必须掌握的技能便是阅读文档。由于开源社区大多数文档都是英文写成的,所以,英语不好的同学,需要恶补下。
(2)书籍方面
这里我只列出一些我觉得比较有一些帮助的书籍,详细的请看豆瓣的书评:
科学和数据分析:
?「集体智慧编程」
?「数学之美」
?「统计学习方法」
?「PatternRecognitionAndMachineLearning」
?「数据科学实战」
?「信息检索导论」
爬虫:
?「HTTP权威指南」
Web网站:
?「HTML&CSS设计与构建网站」
...
列到这里已经不需要继续了。
聪明的你一定会发现上面的大部分书籍,并不是讲Python的书,而更多的是专业知识。
事实上,这里所谓“跳出Python,拥抱世界”,其实是发现Python和专业知识相结合,能够解决很多实际问题。这个阶段能走到什么程度,更多的取决于自己的专业知识。
3.深入阶段
这个阶段的你,对Python几乎了如指掌,那么你一定知道Python是用C语言实现的。
可是Python对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开Python的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。
这里推荐一本书:「Python源码剖析」,这本书把Python源码中最核心的部分,给出了详细的阐释,不过阅读此书需要对C语言内存模型和指针有着很好的理解。
另外,Python本身是一门杂糅多种范式的动态语言,也就是说,相对于C的过程式、Haskell等的函数式、Java基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在Python中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到Python语言的根源。
这里推荐一门公开课「编程范式」(斯坦福大学公开课),编程范式讲师高屋建瓴,从各种编程范式的代表语言出发,给出了每种编程范式最核心的思想。
值得一提的是,这门课程对C语言有非常深入的讲解,例如C语言的范型和内存管理。这些知识,对阅读Python源码也有大有帮助。
Python的许多最佳实践都隐藏在那些众所周知的框架和类库中,例如Django、Tornado等等。在它们的源代码中淘金,也是个不错的选择。
4.最后的话
每个人学编程的道路都是不一样的,其实大都殊途同归。重要的是多练习,多实践,发布或者参与开源项目,与其他的开发者积极互动。
准备工作
使用python开发应用程序需要python模块kivy。Kivy是一个开源的跨平台Python开发框架,用于开发创新的应用程序。简而言之,这是一个python桌面程序开发框架。什么 的强大在于kivy支持linux、mac、windows、android和ios平台,这也是开发app需要这个模块的原因。一系列python教程,免费提供,遇到bug及时反馈,与按钮裙讨论交流60 61 15 02 7虽然kivy是跨平台的,但是如果要在不同平台上使用python代码,就需要将Python代码打包成相应平台的可执行程序。好在kivy project下面有一个打包工具项目——buildozer,这是官方推荐的打包工具。因为相对简单,自动化程度高,其他项目,比如python-for-android,也能起到类似的作用,所以我赢了 这里就不介绍了。基维
搭建kivy开发环境
kivy开发环境需要安装在pc上。这里 演示了在mac和linux下的安装过程。
为mac安装kivy
安装一些依赖包:
安装cython和kivy:
如果安装kivy时出现错误,请按照以下方式安装kivy:
安装后测试:
注意:如果导入kivy模块时没有报告错误,则安装成功。
为centos7安装kivy
首先安装依赖项:
安装cython和kivy:
Centos安装kivy参考:3359kivy.org/docs/installation/installation-linux.html #使用软件包
注:其他安装kivy的方式可以移动:
用kivy开发第一个python app
安装kivy后,就可以开发app程序了。这里 这是hello-world程序的演示。kivy更复杂的用法不是本文的重点,后面会以书面形式介绍。1)创建一个main.py文件,并编写:
2)创建一个hello.kv文件,并写入:
简单解释:main.py是入口函数,定义了一个HelloApp类,继承了kivy.app;Hello.kv文件是一个kivy程序,相当于定义了界面风格等。这个文件的命名规则是类名小写,app移除。
运行第一个python应用。
运行结果:
安装buildozer工具
通过上面的编码,我创建了我的第一个python app程序,可以直接在mac、linux、windows平台上运行。那么我怎么让它在安卓或者苹果手机上运行呢?我们知道要在android上运行,需要将其打包成apk安装程序,所以需要使用前面提到的buildozer工具,.buildozer的安装过程相对简单:
用buildozer工具将kivy程序打包成apk。
在python项目目录中运行:
成功运行将创建一个配置文件buildozer.spec。您可以通过修改配置文件来更改应用程序的名称,然后运行:
运行上面的命令会生成一个跨平台的安装包,可以应用于Android、ios等。如果是用于Android,那就是python-for-Android项目。
第一次运行上述命令时,系统会自动下载Android sdk等必要文件,如下图所示。
注:这里只把演示打包成apk文件,iso平台可以自己研究。参考文件:
python apk程序测试
如果上述所有步骤都成功运行,应该会在项目目录下的bin目录中生成一个apk文件,如下所示
然后下载apk到安卓手机安装。测试结果如下:
打开应用程序:
推土机制造说明
buildozer包装过程中的坑点
如果在打包过程中遇到错误,可以将buildozer.spec的配置文件中的log_level修改为2,然后重新运行。可以看到具体的错误信息。
错误:您可能错过了安装32位库
这个错误是我在centos7上运行Times的失误,大意是系统缺少一些32位的依赖文件。解决方案:
参考:3359 ask . fedora project . org/en/question/9556/how-do-I-install-32 bit-libraries-on-a-64 bit-fedora/我爱编程网
错误报告:编译Cython文件时出错
意思是cython文件中有一个错误。可能是没有安装cython模块,或者是版本有问题。解决方案:
错误:ioerror: 没有这样的文件或目录.
这是包装的最后一步。将apk文件复制到项目bin目录是错误的。这是buildozer的一个bug。解决方案:修改
/usr/local/lib/python 2.7/dist-packages/build dozer/Tagets/Android . py文件:在文件开头导入:
将第786行中的以下代码替换为:XXX发现apk名称实际上是如何根据标题构建的:
构建虚拟机
Kivy正式推出了buildozer的虚拟机镜像,已经安装了buildozer和一些依赖文件,为buildozer包测试提供平台。像我之前在mac上用buildozer打包,一直报错,后来换成centos,还是没有 我没有成功,所以我下载了这个虚拟机。测试结果如下:
虚拟机下载地址:
注:给能 如果不能解决依赖问题,您可以使用该虚拟机进行程序打包。开发环境还是建议用自己的机器。
王者之心2点击试玩
我爱编程网(https://www.52biancheng.com)小编还为大家带来Python初学者如何入门?的相关内容。
盲目自学只会毁了你正确方法学习Python可以让你少走两年弯路
学习Python真的会让人远离内耗!
第一周:熟悉Python
要积极探索Python的使用方法, 尽可能多的完成
下面这些任务:
第一天:基本概念(4小时) :print, 变量, 输入,
条件语句
第二天:基本概念(5小时) :列表, for循环,
while循环, 函数, 导入模块
第三天:简单编程问题(5小时):交换两个变量值,
将摄氏度转换为华氏温度,求数字中各位数之和,判
断某数是否为素数,生成随机数,删除列表中的重复
项等等
第四天中级编程问题(6小时):反转一个字符串(回
文检测),计算最大公约数,合并两个有序数组,猜
数字游戏,计算年龄等等
第五天:数据结构(6小时):栈,队列,字典,元组,
树,链表。
第六天:面向对象编程(0OP)(6小时):对象,类,
方法和构造函数,面向对象编程之继承
第七天:算法(6小时):搜索(线性和二分查找)、
排序(冒泡排序、选择排序)、递归函数(阶乘、斐
波那契数列)、时间复杂度(线性、二次和常量)
第二周:开始软件开发(构建项目)
实践是检验真理的唯一标准,实践才能出真知
第一天:熟悉一种IDE(5小时) :IDE是你在编写
大型项目时的操作环境, 所以你需要精通一个IDE。
在软件开发的初期, 我建议你在VS code中安装
Python扩展或使用J up y ter notebook。
第二天:Git hub(6小时) :探索Git hub, 并创建
一个代码仓库。尝试提交(Commit) 、查看变更
(Diff) 和上推(Push) 你的代码。另外, 还要学习
如何利用分支工作, 如何合并(merge) 不同分支
以及如何在一个项目中创建拉取请求(pull
request) 。
第三天:第一个项目—简单计算器(4小时):熟悉
Tkinter, 创建一个简单的计算器
第四、五、六天:个人项目(每天5小时):选定一
个项目并完成它。
第七天:托管项目(5小时):学习使用服务器和
hosting服务来托管你的项目。创建一个He roku
设置并部署你构建的应用程序。
第四周:认真考虑工作(实习)问题
第一天:准备简历(5小时):制作一份一页的简历。
把你的技能总结放在最上面,必须在写项目的同时附
上Git hub链接。
第二天:作品集网站(6小时):写几个博客,将它
们添加到你之前开发的作品集网站中。
第三天:Linked In简介(4小时) :创建一个
Linked In个人简介, 把简历上的所有内容都放到
Linked In上。
第四天:面试准备(7小时):准备一些谷歌常见的
面试问题,练习白皮书中的10个面试编程问题。在
Glass door、Career cup等网站中查看前人遇到的
面试问题。
第五天:社交(~小时):走出房门,开始参加聚会、
招聘会,与其他开发人员和招聘人员见面。
第六天:工作申请(~小时) :搜索「Python Job」,
查看Linked In Job和本地求职网站。选择3个工作
岗位并发送工作申请。为每个工作定制你的简历。在
每个工作要求中找出2到3件你不知道的事情,并在
接下来的3-4天里学会它们。
第七天在拒绝中学习(~小时):每次你被拒绝的时候,
找出两件为了获得这份工作你应该知道的事情,然后
花4-5天的时间来掌握它们。这样,每次拒绝都会
让你成为更好的开发人员。
学习Python,开发工具我们应该如何选择7款适合Python语言的开发工具,各位同学选择最适合自己项目的即可:一、PyCharm用户可以根据自己的需要下载任何Windows、Mac或Linux版本进行使用。可以说,PyCharm被认为是Python最好的IDE之一,并且是使用最广泛的IDE!另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持GoogleAp
学python,可以用哪些开发软件。用什么开发软件最好?学python,开发软件有Jupyter,nopad++,sublimetext,PyCharm。PyCharm开发软件最好。PyCharm用于一般IDE具备的功能,比如,调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持G
python写软件步骤?1、安装编译器,将工具双击打开,按照默认方式安装即可,安装完成后在开始程序中找到IDLE快捷方式,打开,可以新建一个窗口,保存为py的文件格式。2、如果要执行该文件,应该点击菜单Run下的RunModuleF5按钮即可。3、如果要调试,应该仔细的查看命令行回馈回来的信息,注意出错的位置,通过Alt加G命令迅速转到出错位置,仔细检出并改正。pytho
怎样用QtCreator编辑运行python脚本我们首先来看看QtCreator能不能编辑运行python脚本。可以看到新建项目的选项里并没有python相关的选项,看了并不能用QtCreator来管理python项目。我们来看看另一个方面,看看QtCreator能不能创建编辑python的相关文件吧。可以看到,有python的相关选项,点击左侧的Python标签,在中间部分可
学习Python可以做什么工作?1、web开发:Python拥有非常完善与web服务器交互的库,大量的免费网页模板,相对于更具有优势,同时还具有非常优秀的Django框架,功能齐全。目前国内的豆瓣网、果壳网等,国外的Google、YouTube等都采用Python作为部分功能的开发。2、系统运维:在运维的工作中,有大量重复性工作的地方,并需要做管理系统、监控系统、发布系统等。在很早之前都
夜曲编程的python坑不坑。夜曲编程就初学者入门而言是很不错的,主要有几个优势:课程设计:总体设计由浅入深,学习路径清晰,容易坚持。采用的是卡片模式,每日学习一课,只需花费20来分钟。且页面自带记忆卡片,复杂概念简单化。偶然在网上发现了夜曲编程这个软件。试着跟着学了一下,先是学习的免费课程。第一次学习的时候,这个教程惊艳了我。首先,夜曲编程的教程都是图文形式的教程,交互式的
想要学python,对编程一窍不通的人可以学习吗?Python适合哪些人学?没有基础能不能学Python?Python语言在时代的浪潮中崛起,速度之快,影响之巨大,影响力已经远远超出我们的想象。伴随着人工智能时代的到来,Python开始变得非常之火。那么,没有基础能学Python吗?下面来看看吧。首先,我们不得不要去了解一下Python到底适合哪些人学?1.编程菜鸟新手:非
如何学习PythonGUI编程在网页中下载python3解释器,我下载时候,版本是选择的是3.3,因为python3和python2语法上有些区别,所以大家就跟我一样都用python3吧,或许有朋友对于“语法”这个词不明白,没关系,后面小编会给大家讲到的。下好后,文件名为python-3.3.3.msi,当然因为我们下载时间不同,可能文件有所不同,比如你下的可能是python-3.4.0
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01