ホームページ  >  記事  >  バックエンド開発  >  Python_python を始めるために知っておくべき 11 の知識ポイント

Python_python を始めるために知っておくべき 11 の知識ポイント

不言
不言オリジナル
2018-04-04 16:39:411750ブラウズ

この記事では、Python をより深く理解するために、Python を始めるために知っておくべき 11 の知識ポイントを主に紹介します。興味のある友人は参考にしてください。 Python は世界で最も効率的なプログラミング言語として知られています。 「Glue 言語」はなぜこれほど人気が​​あるのでしょうか? Python を使い始めるための 11 の重要な知識ポイントについてお話しましょう。これが人気の理由です。

Python 入門


Python は高レベルです。解釈、コンパイル、対話性、オブジェクト指向を組み合わせたスクリプト言語。

Python は他の言語と比べて、英語のキーワードや句読点が多く使用され、他の言語よりも独特な文法構造を持っています。

Python はインタープリター型言語です。これは、開発プロセスにコンパイル リンクがないことを意味します。 PHP や Perl 言語に似ています。

Python は対話型言語です。つまり、Python プロンプトで直接対話的にプログラムを作成できます。

Python はオブジェクト指向言語です。これは、Python がコードをオブジェクトにカプセル化するオブジェクト指向スタイルまたはプログラミング手法をサポートしていることを意味します。

Python は初心者向けの言語です: Python は初心者のプログラマーにとって優れた言語であり、単純なワードプロセッサから WWW ブラウザ、ゲームに至るまで、幅広いアプリケーション開発をサポートしています。

Python 開発の歴史


Python は、1980 年代後半から 1990 年代前半に、オランダの国立数学コンピューターサイエンス研究所の Guido van Rossum によって設計されました。

Python 自体は、ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix シェル、その他のスクリプト言語など、他の多くの言語から開発されました。

Perl 言語と同様に、Python ソース コードも GPL (GNU General Public License) 契約に従います。
現在、Python はコア開発チームによって保守されており、Guido van Rossum は依然としてその進歩を導く上で重要な役割を果たしています。

Python の特徴


1. 学習が簡単: Python はキーワードが比較的少なく、構造が単純で、構文が明確であるため、学習が容易です。

2. 読みやすい: Python コードがより明確に定義されています。

3. 保守が簡単: Python の成功の理由は、ソース コードの保守が非常に簡単であることです。

4. 広範な標準ライブラリ: Python の最大の利点の 1 つは、クロスプラットフォームであり、UNIX、Windows、Macintosh と互換性のある豊富なライブラリです。

5. インタラクティブ モード: インタラクティブ モードのサポートにより、コードを実行する言語を入力し、ターミナルから結果を取得し、インタラクティブなテストとコード スニペットをデバッグできます。

6. ポータブル: Python は、オープンソースの性質に基づいて、多くのプラットフォームに移植されています (つまり、動作するように作られています)。

7. 拡張可能: 迅速に実行する重要なコード部分が必要な場合、またはオープンしたくないアルゴリズムを作成したい場合は、C または C++ を使用してプログラムのその部分を完成させてから、 Python プログラムから取得します。

8. データベース: Python は、すべての主要な商用データベースへのインターフェイスを提供します。

9.GUI プログラミング: Python は、作成して多くのシステム コールに移植できる GUI をサポートしています。

10. 埋め込み可能: Python を C/C++ プログラムに埋め込むことができ、プログラムのユーザーは「スクリプト化可能性」機能を得ることができます。


1. Python はどのようなアプリケーション シナリオに適していますか?

これに対する明確な答えはありません。Python は GUI プログラムの開発には適していないと多くの人が言いますが、Python 独自の IDE (IDEL) とサードパーティの IDE (Eric) は Python で書かれています。

現在、Django、web.py、そしてもちろん、Flask などのフレームワークを使用して Web 用に書いている人が増えています。

Python は、特定のソフトウェア機能を共同で完了するために、接着剤として使用される場合もあります。


私は個人的に Python を使用してポート転送や DNS サービスなどをシミュレートしたことがあります。そのため、それがどのように使用できるかではなく、どのように動作するかに大きく依存します。

さらに、Python はビッグデータ分析にも適しており、ロードから分析、結果の保存に至るまで、それに対応するための完全なモジュールセットを備えています。


2. Python はビッグデータを処理できますか?

Python は、ビッグデータ関連の分析に非常に適しています。組み込みの C コンパイルされたモジュールは、一部の極端なアルゴリズムについては、関連するモジュールを C で書き直すことをお勧めします。

Python 自体の特徴は、より効率的な開発と簡単なメンテナンスです。スピードは C に任せましょう。実際、より多くの問題は、コードを書く人が十分に効率的でないというよりも、コードをうまく使用していないことに起因します。たとえば、ソートに関しては、Python にはもともと非常に効率的な C コンパイルされたモジュールが組み込まれていますが、アルゴリズムを自分で書かなければならないため、結果が遅くならないのは不思議です。

要件が CPU 集中型か IO 集中型かによっても異なります。CPU 集中型の場合、操作のこの部分を C で実装することをお勧めします。IO 集中型の操作の効率はあまり変わりません。パイソンのせいで。

C は高効率ですが、フレームワークを構築するのが難しいため、Python はグルー言語と呼ばれます。

3. Python はシェルを完全に置き換えることができますか?

確かに、Python は、より少ないコード、より優れた構造、より優れた読みやすさで、シェルのすべての機能を実装できます。ただし、Socket モジュールなど、Python が実装できる機能は、シェルでは実現できない可能性があります。ネットワーク通信用の Django フレームワーク、WEB 用の Django フレームワーク、パフォーマンス収集用の psutil モジュールなど、シェルはオペレーティング システムのコマンドに強く依存していますが、Python ではこれを大幅に回避できます。

シェル IDE の使用は大きな問題です。Python のネイティブ IDE はあまり優れていませんが、Microsoft の Virtual Studio と比較することはできませんが、Python の開発ニーズを十分に満たすことができます。

Python の効率について話しましょう。Python はマルチプロセス、マルチスレッド、コルーチン (スレッドより 1 レベル小さい) をサポートしており、プログラムの同時実行性はシェルよりも高くなります。 Python のコア モジュールは基本的に C で実装されているため、より効率的です。必要に応じて、Python で実装する必要がある Python モジュールを C で書き換えて効率を高めることもできます。もちろん、完全に C で直接実装された Python インタープリターである C Python を直接使用することもできます。

4. Python は一般的なデータベースにアクセスできますか?

はい、Python は Oracle、MySQL、Vertica、SQLServer などのさまざまな一般的なデータベースにアクセスできます。対応するモジュールのリストは次のとおりです:
Oracle: cx_Oracle
MySQL: MySQLdb

5 , Python 開発はプロセス指向なのか、関数指向なのか、それともオブジェクト指向なのか?

Python はインタプリタ型言語ですが、Python では設計の当初からすべてがオブジェクトです。このため、Python でクラスとオブジェクトを作成するのは非常に簡単です。もちろん、Python でプロセス指向または関数指向の記述に慣れている場合は、厳しい制限を課すこともできません。

Python のオブジェクト指向機能は次のとおりです:

カプセル化

オブジェクト指向プログラミングにおけるオブジェクト (Object) という用語は、基本的にデータ (プロパティ) と、アクセスおよびアクセスできる一連のデータとみなすことができます。これらのデータを操作するメソッドの集合。従来の意味では、「プログラム = データ構造 + アルゴリズム」はカプセル化され、「隠蔽」され、「プログラム = オブジェクト + メッセージ」に単純化されます。オブジェクトはクラスのインスタンスであり、クラスの抽象化をカプセル化する必要があります。カプセル化により、呼び出し元はオブジェクトの構築方法を気にせずにオブジェクトを直接使用できるようになります。

継承

クラス継承:

継承の直接的な感覚は、コードを再利用する動作であるということです。継承は、通常のクラスに基づいて特別なクラス オブジェクトを確立することとして理解できます。サブクラスは、継承する親クラスと IS-A 関係を持ちます。

多重継承:

C# とは異なり、Python は複数のクラスの継承をサポートしています (C# は複数のインターフェイスから継承できますが、クラスは 1 つまでです)。多重継承メカニズムは便利な場合もありますが、状況が簡単に複雑になる可能性があります。

ポリモーフィズム

ポリモーフィズムとは、異なるオブジェクトに対して同じ操作を使用できるが、結果が複数の形式で表示される可能性があることを意味します。 Python では、オブジェクトの型が不明だが、そのオブジェクトで何かを行う必要がある場合に、ポリモーフィズムが使用されます。メソッドは多態性であり、演算子も同様です。

6. Python を早くマスターするにはどうすればよいですか?

日常のニーズに合わせて公式ドキュメントを読んでください。公式ドキュメントは中国語に翻訳されているため、学習が容易です。ただし、これらは基本的な構文と共通のモジュールです。Python を学習する上で最も重要なことは、モジュールを適用することで、時間と労力を大幅に節約できることです。

しかし、Python を学ぶ上で最も重要なことは、実際には構文そのものではなくモジュールを学ぶことです。Python の構文は、大学で C やデータ構造のコースを学んだことがあれば、それを学んだことがない人でも簡単です。まったく簡単にマスターできます。構文をマスターすればすでにシェルの機能を実現できますが、運用保守担当者がよく使用するモジュールの学習を改善することが不可欠です:

psutil: パフォーマンス情報の取得

socket: 基本的なネットワーク通信

IPy : IPアドレス関連の処理

dnsptyhon: ドメイン名関連の処理

difflib: ファイル比較

pexpect: 自動化によく使われる画面情報取得

paramiko: SSHクライアント

XlsxWriter: Excel関連の処理

他にも数多くの機能モジュールがあり、Java とのブリッジ用の PythonJS など、新しいモジュール、フレームワーク、コンポーネントが毎日絶えず作成されており、Python でさえも Map と Reduce を作成できます。

7. Python には専用の IDE ツールがありますか?

はい、IDEL は Python で実装された Python IDE ツールですが、正直に言うと機能はあまり良くありません。私が個人的によく使用する IDE は次のとおりです。

PyCharm

PyCharm は、JetBrains によって開発された Python IDE です。 PyCharm は、デバッグ、構文ハイライト、プロジェクト管理、コード ジャンプ、スマート プロンプト、オートコンプリート、単体テスト、バージョン管理など、一般的な IDE が持つ機能に使用されます。さらに、PyCharm は Django 用のいくつかの優れた機能も提供します。開発では Google App Engine もサポートされています。さらにすばらしいのは、PyCharm が IronPython をサポートしていることです。

ウィングIDE

Wingware の Python IDE は Python 2.x および 3.x と互換性があり、Django、matplotlib、Zope、Plone、App Engine、PyQt、PySide、wxPython、PyGTK、Tkinter、mod_wsgi、pygame、Maya、MotionBuilder、NUKE と組み合わせることができます、Blender、および他の Python フレームワークによって使用されます。 Wing はテスト駆動開発をサポートし、単体テスト、nose、Django フレームワークの実行およびデバッグ機能を統合します。 Wing IDE は起動および実行が非常に速く、Windows、Linux、OS X、Python のバージョンをサポートしています。

NotePad++

はシンプルで便利ですが、一時的な変更にのみ適しています。

その他には、Eclipse withPyDev、Sublime Text、Komodo Edit、Pyer、The Eric Python IDE、Interactive Editor for Python

8. Python を使用して自動システム監視を実現する一般的な方法は何ですか?

正確に言うと、どのようなモジュールが必要ですか? ヘルスモニタリングには、通信には psutil を使用する必要があり、ログインには Paramiko と telnetlib、ftp には ftplib も使用されます。

基本原則は、データを収集し、データをローカルで処理し、データを送信することです。データがより完全であれば、データのプレゼンテーションを作成したり、Zabbix などのオープンソース ツールにデータを送信したりできます。

スパイ行為にはオープンソースの監視ネットワークも使用しています。指定された回数を超えると、自動的にブロックされます。

9. Python はどのプラットフォームで実行できますか?クロスプラットフォームではどうですか?

AIX、HPUX、Solaris、Linux、Windows などの一般的なメインストリーム プラットフォームをサポートします。Windows を除く一般的な Unix および Linux プラットフォームにはすべてネイティブ Python がありますが、通常はバージョンが低くなります。クロスプラットフォームに関しては、他のクロスプラットフォーム言語と同様に、一部の個々のモジュールは単一のプラットフォームに固有ですが、全体的なクロスプラットフォームのパフォーマンスは依然として非常に優れていることに注意してください。複数のコードセットを記述する必要はありません。複数のプラットフォームに適応するため。

しかし、これはまったく制限がないという意味ではありません。第一に、同じバージョンの中間ファイル .py、.pyc、および .pyo はクロスプラットフォームです。第二に、PC と携帯電話やパッドなどのモバイル端末です。 、クロスプラットフォームにはできません (理由については次の記事を参照)。最後に、Intel と ARM、64 ビットと 32 ビットなどのプロセッサ アーキテクチャをまたがることはできません。

10. Python を使用して開発効率を向上させるにはどうすればよいですか?

Python で低レベルのものを多く書く必要がなく、モジュールのリソースが豊富なので、適切に使用すれば開発効率が向上するのはもちろん、さまざまなフレームワークも迅速な開発の基盤を提供します。

11. Python はどれくらいの速度で実行されますか?

通常、Java は Python よりも高速です。 C 拡張機能を呼び出す Python を除きます (CPython を直接使用することもできます)。
Python が遅すぎるという批判について、Python 言語の作者である Guido van Rossum 氏は次のように述べています:

開発したシステムでパフォーマンスのボトルネックが見つかった場合、通常、最も効率的な方法は、問題のあるコード ブロックを見つけて、Write などのより高速な言語を使用することです。ほとんどのコードでは言語の速度は無関係であるため、システム全体を C または C++ で書き直すのではなく、その関数またはモジュールを置き換える C または C++ のコードを使用します。

学習は人の最大の成果です。学習を通じて、自分の領域を向上させるだけでなく、将来の雇用のための基礎を築くことができます。結局のところ、Python を学ぶことは、自分自身を成長させる良い機会です。インテリジェンスが到来し、Python が人工知能時代の主力となることは非常に有望です。その夢はまだ衰えておらず、その道のりにはまだ汗があふれています。来て!

お勧めの書籍リスト:

あなたの目に映る Python の第一人者は、この書籍リストを手に入れるべきです

Python の書籍リストは無限です

見逃せない Python の良書 10 冊

関連するおすすめ:

一Python_python の優れた入門チュートリアル

Python_python を 1 時間で詳しく学べる Python 入門チュートリアル

Python を始めるプロセスを共有します

以上がPython_python を始めるために知っておくべき 11 の知識ポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。