Python 初心者が知っておくべきこと
#1. はじめに##「Python 上級」コラムへようこそ!ここに来る学生は皆、Python の基礎知識を大体習得しており、成長の途中にあるはずです。この間、私は多くの戸惑いに遭遇し、今後の学びの方向性について迷いを感じたことと思います。あなたが直面している状況はよく理解しています。私は 2007 年からプログラミング言語 Python に触れるようになり、2009 年から今日まで、すべての開発作業にのみ Python を使用してきました。自分の学習過程を振り返ってみると、数え切れないほどの困難に遭遇し、戸惑い、混乱することもありました。このコラムは、当時私と同じように混乱していた Python 初心者が悩みから抜け出し、早く成長できるようにするために作成されました。私の経験が本当に役立つことを願っています。
2. 学習目標を明確にし、成功を急がず、目標を高すぎないようにしましょう今は騒がしく勢いのある時代です。私たちは日常生活の中で数多くのホットな話題に常に目を奪われ、深く読んだり考えたりする時間や機会がほとんどありません。私は、学習には集中力とゆっくりとした学習が必要であり、長期にわたるものであると同時に、学習に功利主義を与えすぎるべきではないと常々思っています。 Python プログラマーの成長ロードマップは次のようになります: 基本文法 –> 言語感覚トレーニング –> プロジェクト演習 –> さまざまな方向で学習を継続 –> 中級プログラマー –> 深さと幅を拡大 –> 上級プログラマー。 しかし、多くの初心者の学習ロードマップは次のようなものです。基本的な構文を学習した後、http プロトコルと Ajax 非同期リクエストを理解せずに興奮してクローラーを学習するか、基本的な構文を学習した後、私は次のようなものに進みます。視覚認識をするのにOpenCVのデータ構造すら理解できず、基礎的な文法を学んだ後もニューラルネットワークを直接勉強し、始めてから挫折するまでを繰り返しました。
初心者へのアドバイスは、成功を急がず、目標を高くしすぎず、一歩ずつ着実に取り組んでいけば、成功は自然にやってくるということです。成功を急がなければ回り道を避けることができ、成長を遅らせないだけでなく、実際に時間を節約することもできます。目標を高くしすぎず、1 つの目標を達成してから次の目標を設定し、継続的な成功と進歩を通じて自信を築き、学習への強い関心を刺激することができます。
3. Python の学習を始める前に、いくつかの準備をする必要があります
Now is better than never,
Although never is often better than *right* now.
これは、Python の禅からの文を翻訳したものですつまり、何かをすることは、やらないよりは良いかもしれませんが、何も考えずに行うことは、やらないより悪いということです。実際、Python の学習を始める前に、背景を理解し、いくつかの選択をし、コンピューターを準備する必要があります。
2.1 Python のさまざまなディストリビューション
Python は亀おじさんの一人息子ですが、有名なものを含む多くのいとこがいます。どちらが自分にとってよりフレンドリーであるかわからない場合は、直接 Python を選択することをお勧めします。将来、他のいとこを扱う必要がある場合でも、Python の方が使いやすいでしょう。初心者が AnacondaPython と ActivePython を選択することはお勧めできませんが、私の意見では、これらが提供する利便性は、ユーザーが学習するのにそれほど苦労するものではありません。
CpythonCPython は Python リファレンス実装であり、他のすべての Python 派生ディストリビューションの標準化されたバージョンとみなすことができます。 CPython は、Python 言語の最高意思決定レベルにある多数の主要人物によって C で書かれています。 CPython は、最適化に関しては最も保守的です。もちろん、これは欠点ではなく、設計上の方向性です。 Python の管理者は、CPython を最も広く互換性があり、標準化された Python の実装にしたいと考えています。 CPython は、Python 標準との高い互換性と一貫性を必要とするユーザーに最適です。さらに、CPython は、最も基本的な方法で Python を使用したいが、そのために利便性をある程度犠牲にすることをいとわない専門家にも適しています。
アナコンダ Python
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) コンパイルを利用して実行を高速化する CPython インタープリターの代替です。 Python プログラム。実行される実際のタスクによっては、パフォーマンスが大幅に向上する可能性があります。 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 (ダイナミック言語ランタイム) を利用して、CPython と同等のダイナミクス レベルで Python プログラムを実行できるようにします。 Jython と同様に、IronPython は現在 Python 2.x バージョンのみをサポートしています。ただし、IronPython 3.x の実装はすでに集中的な開発が行われています。
2.2 Python のインストール
Python 公式 Web サイトからダウンロードする場合は、正しいバージョンを選択するように注意してください。学習用であれば最新版をダウンロードしても問題ありませんが、本番用であれば、開発に必要なサードパーティモジュールが最新版のPythonに対応しているかどうかを考慮する必要があります。インストールするときは、下の 2 つのチェックボックスをオンにすることを忘れないでください。オンにしないと、その後のモジュールのインストールで問題が発生します。デフォルトのインストール方法を使用することをお勧めします。
2.3 便利な開発ツールを選ぶ
プログラミング言語を学ぶには、まず適切な統合開発ツールを見つける必要があります。自然な考え。なぜだめですか? IDE はタスクを自動的に完了し、ワンクリックで実行し、ブレークポイントを使用してデバッグできます。 IDE を使用してプロジェクトを開発することは、豪華なインテリアを備えた車を運転するようなものです。運転の楽しさを楽しんでください。ボンネットの下でエンジンがどのように動作するかなど誰が気にするでしょうか。私の若い同僚も IDE のファンで、最初は pycharm を使用していましたが、後に人気の vscode を使用しました。
しかし、私は常に、プログラミングは運転のようなものだと信じています。プログラマーは運転手であり、運転を通勤スキルとみなすホワイトカラーやゴールドカラーの労働者ではなく、プロの運転手です。プロのドライバーですから、蝶ネクタイと白手袋を着用して豪華な内装と高級仕様の車を運転するだけでは満足できず、修理やメンテナンスのためにエンジンフードを開ける能力が必要です。
この観点から、初心者が最初から統合開発ツールを使用することはお勧めしません。少なくとも最初の 1 週間は IDE を使用しないでください。 Python のようなインタープリタ型スクリプト言語の場合は、便利なエディターで十分です。 Linux プラットフォームでは、vim または emacs は両方とも十分に適しています (両方またはいずれかに精通している場合は、敬意を受け入れてください) が、Windows プラットフォームでは、メモ帳を使用することをお勧めします。 Python 初心者が IDE の代わりにエディターを使用する利点は次のとおりです。
- 专注于python本身,而不是被工具使用问题所困扰。君不见,知乎上关于pycharm和vscode的使用说明、常见问题的解决方案,多得几乎超过了讨论python本身
- 手工运行代码,可以更直观、更深刻地了解脚本的解释执行过程
- 手工调试代码,有助于代码优化,提高代码把控能力
- 可以更好地使用pip安装和管理第三方模块
3. 习惯使用IDLE,这是学习python最好的方式
解释型语言的优势,就是可以写一句执行一句,想到哪儿写到哪儿,不必像编译型语言那样得把程序全部写完,编译成功后才能运行。我特别喜欢使用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脚本文件,可以编辑、运行和调试。
4. 严格遵从编码规范
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()
5. 代码的运行、调试
如果你使用的集成开发工具,那么代码的运行和调试,就完全依赖于工具了。如果你使用编辑器开写代码,那就需要手工运行和调试代码。运行代码分成两步:
第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 调试,坚信没有比它更好的了。
5. 模块管理
在python语言的发展过程中,安装和管理第三方模块的方法也历经变化。现在,我们终于等来了pip这个近乎完美的工具。pip除了安装(install)和删除(uninstall)这两大功能,还可以指定模块的安装版本(无需预先删除当前已安装版本),可以显示所有已安装的模块,还可以通过 upgrade 自主升级。
很多同学在使用pip时会遇到各种各样稀奇古怪的问题,我在这里解释一下:
5.1 同时安装了py2/py3
同时安装了py2/py3,将会存在多个版本的pip.exe,你如果直接运行:
pip install <模块名>
则有可能因为pip.exe版本不对而出错。正确的做法是指定python版本,-m是python解释器的参数,意思是把pip模块做为脚本运行,完整命令如下:
py -3 -m pip install <模块名>
5.2 使用Anaconda,或者通过IDE来安装模块
如果你使用的是Anaconda Python,或者你是通过IDE来安装模块,则需要检查它们的配置和设置,情况各有不同,没有统一的解决方案。
5.3 仅安装了py2 或 py3
如果你的计算机只安装了py2 或者 py3,那么上面两种安装方法应该都没有问题。如果你的电脑找不到pip.exe文件,则可以使用这个命令生成:
python -m ensurepip
5.4 pip应用演示
下面,就以同时安装了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教程》
以上がPython初心者が知っておくべきことの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

PythonまたはCの選択は、プロジェクトの要件に依存します。1)迅速な開発、データ処理、およびプロトタイプ設計が必要な場合は、Pythonを選択します。 2)高性能、低レイテンシ、および緊密なハードウェアコントロールが必要な場合は、Cを選択します。

毎日2時間のPython学習を投資することで、プログラミングスキルを効果的に改善できます。 1.新しい知識を学ぶ:ドキュメントを読むか、チュートリアルを見る。 2。練習:コードと完全な演習を書きます。 3。レビュー:学んだコンテンツを統合します。 4。プロジェクトの実践:実際のプロジェクトで学んだことを適用します。このような構造化された学習計画は、Pythonを体系的にマスターし、キャリア目標を達成するのに役立ちます。

2時間以内にPythonを効率的に学習する方法は次のとおりです。1。基本的な知識を確認し、Pythonのインストールと基本的な構文に精通していることを確認します。 2。変数、リスト、関数など、Pythonのコア概念を理解します。 3.例を使用して、基本的および高度な使用をマスターします。 4.一般的なエラーとデバッグテクニックを学習します。 5.リストの概念を使用したり、PEP8スタイルガイドに従ったりするなど、パフォーマンスの最適化とベストプラクティスを適用します。

Pythonは初心者やデータサイエンスに適しており、Cはシステムプログラミングとゲーム開発に適しています。 1. Pythonはシンプルで使いやすく、データサイエンスやWeb開発に適しています。 2.Cは、ゲーム開発とシステムプログラミングに適した、高性能と制御を提供します。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Pythonはデータサイエンスと迅速な発展により適していますが、Cは高性能およびシステムプログラミングにより適しています。 1. Python構文は簡潔で学習しやすく、データ処理と科学的コンピューティングに適しています。 2.Cには複雑な構文がありますが、優れたパフォーマンスがあり、ゲーム開発とシステムプログラミングでよく使用されます。

Pythonを学ぶために1日2時間投資することは可能です。 1.新しい知識を学ぶ:リストや辞書など、1時間で新しい概念を学びます。 2。練習と練習:1時間を使用して、小さなプログラムを書くなどのプログラミング演習を実行します。合理的な計画と忍耐力を通じて、Pythonのコアコンセプトを短時間で習得できます。

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール
