python python 초보자가 알아야 할 어느 것들을 알아야하는지
2. 학습 목표를 명확하게 하고, 성공을 위해 서두르지 말고, 너무 높은 목표를 세우지 마세요
지금은 시끄럽고 성급한 시대입니다. 우리는 항상 우리 삶의 수많은 뜨거운 주제에 매료되어 깊이 있는 독서와 사고를 위한 시간과 기회를 거의 남겨 두지 않습니다. 저는 배움에는 집중력과 느린 학습이 필요하며, 동시에 장기적으로 배움에 너무 많은 공리주의를 가해서는 안 된다고 믿습니다. Python 프로그래머의 성장 로드맵은 다음과 같습니다. 기본 문법 –> 프로젝트 연습 –> 중급 프로그래머 –> .그러나 많은 초보자의 학습 로드맵은 다음과 같습니다. 기본 구문을 학습한 후 http 프로토콜 및 Ajax 비동기 요청을 이해하지 못한 채 크롤러를 신나게 연구하거나 기본 구문을 학습한 후 인식을 위한 시각적 엔지니어링 작업을 시작합니다. , OpenCV의 데이터 구조도 이해하지 못하고, 기본 문법을 배워도 신경망을 직접 공부했고, 결과적으로 시작부터 포기까지의 과정을 반복해야 했습니다.초보자에게 드리는 조언은 성공을 위해 서두르지 말고, 너무 높은 목표를 세우지 말고, 한 번에 한 걸음씩 나아가고, 꾸준히 노력하면 성공은 저절로 찾아온다는 것입니다. 성공을 위해 서두르지 않으면 우회를 피할 수 있으며 성장이 느려지지 않을 뿐만 아니라 실제로 시간도 절약됩니다. 너무 높은 목표를 세우지 말고 하나의 목표를 달성한 후 다음 목표를 설정하세요. 지속적인 성공과 발전을 통해 자신감을 키우고 학습에 대한 더 강한 관심을 자극할 수 있습니다.
3. Python을 배우기 전에 몇 가지 준비가 필요합니다
Now is better than never, Although never is often better than *right* now.
Python의 Zen에 있는 문장입니다. '하는 것이 안 하는 것보다 낫다'라는 뜻입니다. 생각하지 않는 것은 하지 않는 것보다 더 나쁘다. 실제로 Python을 배우기 전에 몇 가지 배경 지식을 알고, 몇 가지 선택을 하고, 컴퓨터를 준비해야 합니다.
Python은 거북이 삼촌의 외아들이지만 유명한 사람을 포함하여 사촌이 많습니다. 어느 것이 당신에게 더 친숙한지 확신할 수 없다면 직접 Python을 선택하는 것이 좋습니다. 나중에 다른 사촌을 상대해야 하더라도 익숙할 것입니다. 초보자가 AnacondaPython과 ActivePython을 선택하는 것은 권장하지 않습니다. 제 생각에는 그들이 제공하는 편리함은 사용자가 학습하게 만드는 것만큼 문제가 되지 않습니다.
Cpython
Anaconda는 Anaconda Company(이전의 Continuum Analytics)에서 시작되었으며 상용 공급업체의 지원이 필요하고 엔터프라이즈 지원 서비스를 제공하는 Python 개발자를 위해 설계되었습니다. Anaconda Python의 주요 사용 사례에는 수학, 통계, 엔지니어링, 데이터 분석, 기계 학습 및 기타 관련 애플리케이션이 포함됩니다. Anaconda는 SciPy, NumPy, Numba 등 Python의 상업 및 과학 사용 시나리오에서 일반적으로 사용되는 다양한 라이브러리를 번들로 제공하고 맞춤형 패키지 관리 시스템을 통해 더 많은 라이브러리 액세스 기능을 제공합니다.
ActivePython
Anaconda와 마찬가지로 ActivePython도 영리 회사인 ActiveState Corporation에서 만들고 유지 관리합니다. 이 회사는 또한 다국어 Komodo IDE뿐만 아니라 다국어 런타임도 판매합니다. ActivePython은 주로 Python 언어를 사용하고 싶지만 Python의 어셈블리 및 관리에 많은 에너지를 낭비하고 싶지 않은 기업 사용자 및 데이터 과학자를 대상으로 합니다. ActivePython은 Python의 일반 pip 패키지 관리자를 사용하지만 인증된 압축 패키지 형태로 수백 개의 공통 라이브러리와 Intel Math Core Library와 같은 타사 종속성을 갖춘 기타 공용 라이브러리도 제공합니다.
PyPy
PyPy는 JIT(Just-In-Time) 컴파일을 활용하여 Python 프로그램 실행 속도를 높이는 CPython 인터프리터의 대안입니다. 수행되는 실제 작업에 따라 성능이 크게 향상될 수 있습니다. Python, 특히 CPython에 대한 불만은 주로 속도에 관한 것입니다. 기본적으로 Python은 C보다 훨씬 느리게 실행됩니다. 그 차이는 수백 배 더 빠를 수도 있습니다. PyPy JIT는 Python 코드를 기계어로 컴파일하여 평균 실행 속도가 CPython의 7.7배에 이릅니다. 일부 특정 작업에서는 속도 향상 효과가 50배에 이를 수 있습니다.
Jython
JVM(Java Virtual Machine)은 Java를 제외한 여러 언어에 대한 런타임 옵션으로 사용할 수 있습니다. 긴 목록에는 Groovy, Scala, Clojure, Kotlin, Python은 물론 Jython도 포함됩니다. Jython의 가장 큰 단점은 Python 2.x 버전만 지원한다는 것입니다. Python 3.x에 대한 지원은 현재 개발 중이지만 여전히 상당한 시간이 걸립니다. 현재로서는 관련 버전이 출시되지 않았습니다.
IronPython
Jython이 JVM에서 Python 구현 솔루션을 포지셔닝하는 것과 유사하게 IronPython은 .Net 런타임 또는 CLR(공용 언어 런타임)을 기반으로 하는 Python 구현 솔루션 세트입니다. IronPython은 CLR의 DLR(동적 언어 런타임)을 활용하여 Python 프로그램이 CPython과 동일한 수준의 동적 수준으로 실행될 수 있도록 합니다. Jython과 유사하게 IronPython은 현재 Python 2.x 버전만 지원합니다. 그러나 IronPython 3.x 구현은 이미 집중적으로 개발되고 있습니다.
Python 공식 웹사이트에서 다운로드할 때 올바른 버전을 선택하도록 주의하세요. 학습용으로 사용한다면 최신 버전을 다운로드하는데 문제가 없으며, 프로덕션용으로 사용한다면 개발에 필요한 타사 모듈이 최신 버전의 Python을 지원하는지 고려해야 합니다. 설치할 때 아래 두 개의 확인란을 선택하는 것을 잊지 마십시오. 그렇지 않으면 후속 모듈 설치에 문제가 발생할 수 있습니다. 기본 설치 방법을 사용하는 것이 좋습니다.
프로그래밍 언어를 배울 때 먼저 적합한 통합 개발 도구를 찾는 것이 자연스러운 것 같습니다. 왜 안 돼? IDE는 작업을 자동으로 완료하고, 한 번의 클릭으로 실행하고, 중단점을 사용하여 디버그할 수 있습니다. IDE를 사용하여 프로젝트를 개발하는 것은 고급스러운 인테리어를 갖춘 자동차를 운전하는 것과 같습니다. 엔진이 내부에서 어떻게 작동하는지 누가 신경 쓰나요? 내 젊은 동료들도 처음에는 pycharm을 사용했고 나중에는 인기 있는 vscode를 사용했습니다.
그러나 나는 항상 프로그래밍은 운전과 같고, 프로그래머는 운전사이며, 운전을 출퇴근 기술로 여기는 사무직이나 골드컬러 근로자가 아닌 전문 운전자라고 믿는다. 전문 운전자이기 때문에 고급스러운 인테리어와 고급스러운 구성을 갖춘 자동차를 운전하려면 나비넥타이와 흰색 장갑을 착용하는 것만으로는 만족할 수 없습니다. 대신 수리 및 유지 관리를 위해 엔진 후드를 열 수 있는 능력이 있어야 합니다.
이러한 관점에서 저는 초보자가 처음부터 통합 개발 도구를 사용하는 것을 권장하지 않습니다. 적어도 첫 주에는 IDE를 사용하지 마십시오. Python과 같은 해석된 스크립트 언어의 경우 편리한 편집기이면 충분합니다. Linux 플랫폼에서는 vim이나 emacs가 모두 좋습니다(둘 중 하나에 익숙하신 경우 양해해 주시기 바랍니다). Windows 플랫폼에서는 notepad++를 사용하는 것이 좋습니다. Python 초보자가 IDE 대신 편집기를 사용하면 다음과 같은 이점이 있습니다.
解释型语言的优势,就是可以写一句执行一句,想到哪儿写到哪儿,不必像编译型语言那样得把程序全部写完,编译成功后才能运行。我特别喜欢使用python的IDLE,甚至拿它当计算器用。很多时候,我用IDLE验证代码的写法是否正确,查看模块是否安装成功以及版本号。IDLE支持tab键自动补齐,我经常用这个功能查看某个对象的方法和属性。
>>> import numpy as np>>> np.__version__'1.17.0'>>> np.hypot(3,4)5.0>>> def factorial(n): # 计算n的阶乘 if n == 0: # 递归出口 return 1 return n*factorial(n-1) # 向递归出口方向靠近的自身调用>>> factorial(5)120>>> _*2-100140
小技巧
- tab键自动补齐
- 光标移动到执行过的语句上敲击回车,可以重复这个命令
- 下划线(_)可以获取最后一次执行结果
实际上,IDLE就是一个IDE,你可以用它来创建或打开.py脚本文件,可以编辑、运行和调试。
Linux 平台上,一个 python 源码文件应该以下部分组成。Windows 平台上,可以省略第一项。
解释器声明
编码格式声明
模块注释或文档字符串
模块导入
常量和全局变量声明
顶级定义(函数或类定义)
执行代码
附上一个 demo,仅供参考。更详细的编码规范,请参考拙作《我的 Python 编码规范》。
#!/usr/bin/env python# -*- coding: utf-8 -*-"""通常这里是关于本文档的说明(docstring),须以半角的句号、 问号或惊叹号结尾! 本行之前应当空一行,继续完成关于本文档的说明 如果文档说明可以在一行内结束,结尾的三个双引号不需要换行;否则,就要像下面这样 """import os, timeimport datetimeimport mathimport numpy as npimport xlrd, xlwt, xlutilsimport youth_mongodbimport youth_curl BASE_PATH = r"d:\YouthGit"LOG_FILE = u"运行日志.txt"class GameRoom(object): """对局室""" def __init__(self, name, limit=100, **kwds): """构造函数! name 对局室名字 limit 人数上限 kwds 参数字典 """ passdef craete_and_start(): """创建并启动对局室""" passif __name__ == '__main__': # 开启游戏服务 start()
如果你使用的集成开发工具,那么代码的运行和调试,就完全依赖于工具了。如果你使用编辑器开写代码,那就需要手工运行和调试代码。运行代码分成两步:
第1步,打开一个命令行窗口,路径切换到脚本所在的文件夹。我习惯在脚本所在窗口的空白位置(确保没有选中任何对象),按下shift键点击鼠标右键,在弹出的菜单中选择打开Powershell窗口。如下图所示。
第2步,输入python+空格+脚本文件名,回车即可运行。输入脚本文件名时,按tab可以自动补齐。脚本的运行信息、错误信息、运行结果等,都可以显示在这个窗口中。这是最原始的信息。你在其他开发工具中看到信息,都是对这些信息的再加工。
当然,很多编辑器也支持自定义运行命令,可以实现一键运行python脚本。以Notdpan++为例,点击“运行”->“运行”菜单,在弹出的窗口中输入:
cmd /k cd /d “$(CURRENT_DIRECTORY)” & python “$(FULL_CURRENT_PATH)” & echo. & pause & exit로그인 후 복사
因为转义缘故,复制该命令的话,请检查$符号前面是否有\符号,如有,请删除。接下来,点击“保存”按钮,在弹出的窗口中输入新增命令的名称,比如PyRun,定义快捷键,最后点击“确定”按钮。
完成以上设置后,就可以在Notepad++中使用菜单命令或者快捷键运行Python代码了。
手工调试代码的手段不多,除了 print 信息,几乎只有把调试信息写成调试文件了。听起来,好像问题很严重,其实只是理念和取向不同而已。反过来想,手段单一,不恰好意味着简单、简明吗?十几年来,我一直使用 print 调试,坚信没有比它更好的了。
在python语言的发展过程中,安装和管理第三方模块的方法也历经变化。现在,我们终于等来了pip这个近乎完美的工具。pip除了安装(install)和删除(uninstall)这两大功能,还可以指定模块的安装版本(无需预先删除当前已安装版本),可以显示所有已安装的模块,还可以通过 upgrade 自主升级。
很多同学在使用pip时会遇到各种各样稀奇古怪的问题,我在这里解释一下:
同时安装了py2/py3,将会存在多个版本的pip.exe,你如果直接运行:
pip install <模块名>로그인 후 복사
则有可能因为pip.exe版本不对而出错。正确的做法是指定python版本,-m是python解释器的参数,意思是把pip模块做为脚本运行,完整命令如下:
py -3 -m pip install <模块名>로그인 후 복사
如果你使用的是Anaconda Python,或者你是通过IDE来安装模块,则需要检查它们的配置和设置,情况各有不同,没有统一的解决方案。
如果你的计算机只安装了py2 或者 py3,那么上面两种安装方法应该都没有问题。如果你的电脑找不到pip.exe文件,则可以使用这个命令生成:
python -m ensurepip로그인 후 복사
下面,就以同时安装了py2/py3的计算机为例(如果只安装了py2或py3,需要将下面演示中的py -3替换成python),演示pip模块的用法。不管任何情况,我都建议使用-m参数调用pip模块,而不是直接使用 pip.exe 安装模块。
# 虽然可以这样使用pip安装模块(以numpy为例)PS D:\XufiveGit\wxgl> pip install numpy# 但我建议这样使用pipPS D:\XufiveGit\wxgl> py -3 -m pip install numpy# 删除模块PS D:\XufiveGit\wxgl> py -3 -m pip uninstall numpy# 安装模块,指定版本PS D:\XufiveGit\wxgl> py -3 -m pip install numpy=1.15.0# 自主升级PS D:\XufiveGit\wxgl> py -3 -m pip install --upgrade pip# 显示已安装的模块PS D:\XufiveGit\wxgl> py -3 -m pip list Package Version ----------------- ----------- -pencv-python 4.1.1 argh 0.26.2 attrs 19.1.0 Automat 0.7.0 basemap 1.2.0 beautifulsoup4 4.6.3 bleach 3.1.0 cefpython3 66.0... ...
pip也用来安装本地whl文件:
PS D:\PyPackage\py3> py -3 -m pip install .\basemap-1.2.0-cp37-cp37m-win_amd64.whl
感谢大家的阅读,希望大家收益多多。
推荐教程:《python教程》
위 내용은 파이썬 초보자가 알아야 할 것의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!