当前位置: 首页 > 后端技术 > PHP

致Python初学者

时间:2023-03-30 03:49:24 PHP

文章目录前言明确学习目标,不要急于求成,不要志存高远在开始学习Python之前,你需要做一些准备2.1Python的各种发行版2.2安装Python2.3选择一个方便的开发工具习惯使用IDLE,这是学习python最好的方式。严格按照代码运行和调试代码。同时安装模块管理5.1。py2/py35.2使用Anaconda,或者通过IDE安装模块。4pip应用demo5.5模块仓库5.4发布自己的模块安装包前言欢迎来到“Python进阶”专栏!每一个来到这里的同学,应该都已经大致学习了很多Python的基础知识,正处在成长的过程中。在这期间,我一定遇到了很多困惑,对以后的学习方向感到迷茫。我完全理解你所面临的情况。我从2007年开始接触编程语言python,从2009年到今天所有的开发工作都是单独使用python。回顾自己的学习历程,遇到过无数困难,也曾迷茫迷茫。本专栏旨在帮助像我当年一样迷茫的Python初学者走出困境,快速成长。希望我的经验真的能帮到大家。明确学习目标,不要急于求成,也不要志存高远。现在是一个喧嚣浮躁的时代。我们总是被生活中大量的热点所吸引,几乎没有时间和机会去深入阅读和思考。我始终认为,学习是需要静下心来慢慢钻研的,是长期的;同时,学习也不能被赋予太多的功利色彩。一个Python程序员的成长路线图应该是这样的:基础语法-->语感训练-->学科练习-->继续不同方向的学习-->中级程序员-->拓展深度和广度-->高级程序员。然而,很多新手的学习路线是这样的:学完基本语法,不懂html协议和Ajax异步请求,就兴冲冲的去研究爬虫;或者,在学习了基本语法之后,他们开始学习视觉识别。连OpenCV的数据结构都看不懂;甚至,学完基本语法后,直接研究神经网络,结果就是从入门到放弃的反复。我给初学者的建议是,不要急于求成,不要志存高远,一步一个脚印,踏踏实实做事,自然而然就成功了。如果不急于求成,就可以少走弯路。它不仅不会减慢你的成长速度,反而会节省你的时间。目标不要太高,完成一个目标,再定下一个目标。在不断的成功和进步中,树立自信,激发更浓厚的学习兴趣。在你开始学习Python之前,你需要做一些准备现在总比没有好,虽然从来没有比现在更好。最好不要这样做。事实上,在开始学习Python之前,您需要了解一些背景知识,做出一些选择,并为在您的计算机上工作做好准备。2.1Python的各种发行版Python是贵叔的独生子,但是他有很多堂兄弟,比较有名的还有几个。如果你不确定哪一个对你更友好,我建议你选择后代Python——即使你以后需要和他的其他堂兄弟打交道,它也很熟悉。不建议初学者选择AnacondaPython和ActivePython。在我看来,它们提供的便利并没有给用户学习带来多少麻烦。CPythonCPython是Python参考实现,是所有其他Python派生发行版的标准化版本集。CPython是用C语言编写的,其编写者包括数名Python语言最高决策层的核心人员。CPython在优化方面是最保守的。当然,这不是缺点,而是一种设计取向。Python的维护者希望使CPython成为Python最广泛兼容和标准化的实现。CPython最适合需要高度兼容性和符合Python标准的用户。此外,CPython也适合那些希望以最基本的方式使用Python并愿意为它放弃一些便利的专业人士。AnacondaPythonAnaconda起源于Anaconda公司(前身为ContinuumAnalytics),其设计目标是为需要商业厂商支持的Python开发者提供企业支持服务。AnacondaPython的主要用例包括数学、统计、工程、数据分析、机器学习和其他相关应用程序。Anaconda捆绑了Python商业和科学使用场景中的各种常用库——包括SciPy、NumPy和Numba等,同时通过自定义包管理系统提供对更多库的访问。ActivePython与Anaconda类似,ActivePython也是由一家营利性公司——ActiveStateCorporation创建和维护的。该公司还销售多语言运行时以及多语言KomodoIDE。ActivePython主要面向希望使用Python语言,但又不想在Python组装和管理上浪费大量精力的业务用户和数据科学家。ActivePython使用Python中的普通pip包管理器,但也在经过认证的tarball中提供了数百个公共库,以及一些其他具有第三方依赖项的公共库,例如IntelMathKernel库。PyPyPyPy是CPython解释器的替代品,它利用即时(JIT)编译来加速Python程序的执行。根据正在执行的实际任务,性能提升可能非常显着。对Python——尤其是CPython——的抱怨主要围绕着它的速度。默认情况下,Python的运行速度远不及C——可能快数百倍。PyPyJIT将Python代码编译成机器语言,平均速度是CPython的7.7倍。在某些特定任务中,其提速效果可达50倍。JythonJVM(Java虚拟机)可以作为Java以外的多种语言的运行时选项。长长的列表包括Groovy、Scala、Clojure、Kotlin、Python,当然还有Jython。Jython的最大缺点是它只支持Python2.x版本。对Python3.x的支持目前正在开发中,但这需要相当长的时间。目前没有发布相关版本。IronPython类似于Jython对Python实现在JVM上的定位。IronPython属于一组基于.Net运行时或CLR(公共语言运行时)的Python实现。IronPython利用CLR的DLR(动态语言运行时)允许Python程序以相当于CPython的动态级别运行。与Jython类似,IronPython目前仅支持Python2.x版本。但是,IronPython3.x实施已经在密集开发中。2.2安装Python从Python官网下载时,请注意选择正确的版本。如果是为了学习,下载最新版是没有问题的。如果是生产,需要考虑开发需要的第三方模块是否支持最新版本的Python。安装时不要忘记勾选最下面的两个复选框,否则会给后续的模块安装带来一些麻烦。推荐使用默认安装方式。2.3选择方便的开发工具学习一门编程语言,首先要找到合适的集成开发工具似乎是很自然的想法。为什么不?IDE可自动补全,一键运行,断点调试。使用IDE开发项目就像开着豪华内饰的汽车,享受驾驶的乐趣,谁关心引擎盖下的引擎是如何工作的?我的年轻同事也是IDE的粉丝。他们一开始用的是pycharm,后来是流行的vscode。不过,我一直认为编程就像开车,程序员就是司机,而且是职业司机,而不是各种把开车当成通勤技能的白领金领。既然是职业车手,就不能满足于打着领结、戴上白手套去开一辆内饰豪华、配置高档的车,而是要有打开引擎盖进行维修保养的能力.基于这个观点,我不建议初学者开始使用IDE——至少,第一周不要使用IDE。对于像python这样的解释型脚本语言,一个方便的编辑器就足够了。在linux平台上,vim或者emacs就够用了(如果你两者都懂或者其中之一,请接受我的尊重);在windows平台上,我推荐使用notepad++。python初学者使用编辑器代替IDE的好处是:专注于python本身,而不是被工具使用问题所困扰。君不见,知乎上关于pycharm和vscode的使用说明,常见问题的解决方法,几乎??超过了python本身手动运行代码的讨论,可以更直观的理解脚本的解释和执行过程,手动调试代码。有助于代码优化,提高代码控制能力。您可以使用pip安装和管理第三方模块。你习惯于闲置。这是学习python的最好方法。解释型语言的好处是写一句话就可以执行,想到哪里就到哪里,不用像编译型语言那样把所有的程序都写出来,编译成功后才能运行。我特别喜欢用python的IDLE,甚至把它当作计算器来用。很多时候,我都是用IDLE来验证代码是否写对了,检查模块是否安装成功,以及版本号。IDLE支持tab键自动补全。我经常使用这个函数来查看一个对象的方法和属性。importnumpyasnpnp.__version__'1.17.0'np.hypot(3,4)5.0deffactorial(n):#计算n的阶乘ifn==0:#递归退出return1returnn*factorial(n-1)#调用factorial(5)120_*2-1001401234567891011121314向递归退出方向移动。提示tab键自动完成光标。移动到执行的语句并按Enter。您可以重复此命令。下划线(_)可以得到上次执行的结果其实IDLE就是一个IDE,你可以用它来创建或打开.py脚本文件,可以编辑、运行和调试。严格遵循编码标准在Linux平台上,一个python源代码文件应该由以下部分组成。在Windows平台上,第一项可以省略。解释器声明编码格式声明模块注释或文档字符串模块导入常量和全局变量声明顶层定义(函数或类定义)执行代码附上demo,仅供参考。更详细的编码规范可以参考我的作品《我的 Python 编码规范》。!/usr/bin/envpython--coding:utf-8--"""通常是这个文档的描述(docstring),必须以半角句号、问号或感叹号结尾!应该有在这一行之前空一行,继续完成对这个文档的描述。如果文档描述可以在一行结束,末尾的三个双引号就不需要包起来;否则应该像下面这样"""importos,timeimportdatetimeimportmathimportnumpyasnpimportxlrd,xlwt,xlutilsimportyouth_mongodbimportyouth_curlBASE_PATH=r"d:YouthGit"LOG_FILE=u"runninglog.txt"classGameRoom(object):"""游戏室"""def__init__(self,name,limit=100,**kwds):"""构造函数!name游戏房间名称limit最大人数kwds参数字典"""passdefcraete_and_start():"""创建并启动一个游戏房间"""passifname=='__main__':#启动游戏服务start()代码运行调试如果使用集成开发工具,则代码的运行和调试完全依赖于工具。如果使用编辑器编写代码,则需要手动运行和调试代码。运行代码分为两步:第一步,打开命令行窗口,将路径切换到脚本所在的文件夹。我习惯在脚本所在窗口的空白位置按住shift键并点击鼠标右键(确保没有选中任何东西),在弹出的菜单中选择OpenPowershellwindow。如下所示。第二步,输入python+空格+脚本文件名,回车运行。输入脚本文件名时,按tab键自动补全。脚本运行信息、错误信息、运行结果等都可以在此窗口显示。这是最原始的信息。你在其他开发工具中看到的信息,都是对这些信息的再加工。手动调试代码的方法不多。除了打印信息外,几乎只将调试信息写入调试文件。听起来问题很严重,其实只是理念和取向的不同而已。反过来想想,方法单一不就意味着简洁明了吗?我用print进行调试已有十多年了,而且我相信它不会变得更好。模块管理在python语言的发展过程中,安装和管理第三方模块的方法也发生了变化。现在,我们终于等到了pip这个近乎完美的工具。除了安装(install)和删除(uninstall)两个功能外,pip还可以指定模块安装的版本(不需要提前删除当前安装的版本),可以显示所有安装的模块,还可以升级本身通过升级。很多同学在使用pip的时候都会遇到各种奇怪的问题。这里解释一下:5.1同时安装py2/py3同时安装py2/py3,会有多个版本的pip.exe,你如果直接运行:pipinstall,可能会有是由于pip.exe版本错误导致的错误。正确的方法是指定python版本。-m是python解释器的参数,表示将pip模块作为脚本运行。完整的命令如下:py-3-mpipinstall5.2使用Anaconda,或者使用IDE安装模块如果你使用的是AnacondaPython,或者你是通过IDE安装模块,你需要检查它们配置和设置,情况不同,没有统一的解决办法。5.3只安装了py2或py3如果你的电脑只安装了py2或py3,那么以上两种安装方式应该没问题。如果你的电脑找不到pip.exe文件,可以用这个命令生成:python-mensurepip5.4pip应用演示下面以一台同时安装了py2/py3的电脑为例(如果只有py2或者py3已安装,需要将后面演示中的py-3替换为python),以演示pip模块的使用。无论如何,我建议使用-m参数调用pip模块,而不是直接使用pip.exe安装模块。虽然你可以像这样使用pip来安装模块(以numpy为例)PSD:XufiveGitwxgl>pipinstallnumpy,但是我推荐这样使用pipPSD:XufiveGitwxgl>py-3-mpipinstallnumpy来删除模块PSD:XufiveGitwxgl>py-3-mpipuninstallnumpyinstallmodule,指定版本PSD:XufiveGitwxgl>py-3-mpipinstallnumpy=1.15.0自行升级PSD:XufiveGitwxgl>py-3-mpipinstall--upgradepip显示已安装模块PSD:XufiveGitwxgl>py-3-mpiplistPackageVersion-pencv-python4.1.1argh0.26.2attrs19.1.0Automat0.7.0basemap1.2.0beautifulsoup44.6.3bleach3.1.0cefpython366.0pip也用于安装本地whl文件:————————————————版权声明:本文为CSDN博主“天元浪子”原创文章,遵循CC4.0BY-SA版权协议,转载请注明出处附上原文出处链接和转载声明。