初心者のためのPython:はじめに

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


Pythonは、高水準で汎用のインタープリタ型スクリプト言語です。言語’s設計は、コードの可読性に加えて、柔軟性と使いやすさを重視しています。.

ほとんどの類似した言語(RubyやPerlなど)と同様に、Pythonはあらゆる種類のアプリケーションのあらゆるものに使用できます。 Pythonを使用して構築された少数のWebアプリと、いくつかの優れたWeb開発フレームワークがあります。 Py2Exeなどのツールを使用すると、Pythonスクリプトをスタンドアロンのデスクトップアプリケーションとしてパッケージ化できます.

しかし、Pythonが本当に輝いていて、そのほとんどが使用されているのは、データ分析、数値計算、科学研究、ハッキング、スクリプト作成、およびタスク自動化のためのツールです。 Pythonは、科学者、数学者、侵入テスター、スパイ、暗号学者、ミュージシャン、株式ブローカー、およびネットワーク管理者がさまざまなアプリケーションで使用しています.

優れたWebアプリケーションの構築方法を学びたい場合は、Rubyまたは(もし’WordPressに戻る)、PHP。しかし、コンピュータを使用して興味深い新しいことを行う方法を学びたい場合は、Pythonが最適です。.

Contents

オンラインPythonリソース

ウェブには多くのPython資料があり、一部は無料で、一部は有料です。これらは、Pythonの学習に最適なリソースの一部です.

Pythonの学習

推奨コースとチュートリアル
  • 公式のPythonサイト
  • 初心者’s Pythonガイド—学習を開始する公式の場所.
    • 非プログラマー向け
    • Pythonが初めてのプログラマー向け
  • 難しい方法でPythonを学ぶ—近道をせずに本当に言語を学びたい人のための優れたPythonコース.
  • グーグル’s Pythonクラス— Googleは多くのプロジェクトでPythonを使用しています。彼らが教える方法を学びたいですか?あなたはできる.
  • 標準ライブラリのガイド
  • Python Koans —テスト駆動開発の使用を通じて、Pythonプログラミングへの驚くべき哲学的アプローチと開発者のように考える.
その他の素晴らしいPythonチュートリアルと学習リソース

Pythonを学習するための非常に優れたリソースを以下に示します。 “オススメ” リスト。誰もが異なる学習スタイルを持っているので、おそらくこれらのいずれかが上記のチュートリアルよりもあなたに適しています.

  • Pythonビデオ—あらゆる種類のPythonトピックに関するビデオの膨大なリスト
  • 初心者のためのPythonプログラミング— Linux Journalのベアボーンチュートリアル.
  • Pythonブック— Pythonの開始、高度なトピック、および練習問題を網羅した詳細なオンラインブック.
  • Pythonコース— Python用の無料の広範なチュートリアルセット.
  • Pythonでのスキルの構築—設計されたPythonエクササイズの42の章
  • ひばり’■Pythonの舌ガイド— Pythonの概念に関する簡単なプロジェクトベースのチュートリアルのセット.
  • Python 101 — Pythonの紹介.
    • Python 201 —中級Python.
  • 10分でPythonを学ぶ—言語の非常に簡単な紹介.
  • Checkio —ゲームでコードを改善する方法を学びます。ゲームを書くのではなく、プレイする.
  • PythonプログラミングWikiブック
追加のPythonチュートリアル

これらは “名誉ある言及” Pythonの開始に関するチュートリアル。私たちはしました’t私たちの(非常に高い)基準にかなり一致するものを見つけますが、それらはすべてかなり人気があります。そのため、おそらくそのうちの1つがうまく機能します.

  • Pythonspot
  • Pythonの紹介
  • Pythonの紹介
  • インスタントPython
  • Pythonのヒント
  • Pythonチュートリアル

Python開発ツール

ライブラリ、プラグイン、アドオン

Pythonの長所の大部分は、言語でさまざまな種類のタスクを実行するための優れたツールのエコシステムです。グラフィック処理から数学的分析まで、’おそらく、作業しているほぼすべてのドメイン用のPythonモジュール.

  • Shrapnel —大量の同時実行のためのPythonライブラリ.
  • MatPlotLib —グラフィックスとデータの可視化.
  • Mako — Webテンプレートエンジン.
  • PIL — Python Imaging Library
    • 枕— PILのフォーク。 (PILは活発な開発を中止したようです。枕はこの人気のあるプロジェクトのたるみを取り戻しています。)
  • Pyx — Pythonグラフィックパッケージ
  • Beautiful Soup —画面をキャプチャして、解析ツリーとコンテンツを処理するためのツール.
  • Scrappy — Webスクレイピングツール.
  • Gooey —コマンドラインPythonプログラムにGUIを提供するツール.
  • Peewee — PythonアプリケーションをMySQL、PostgreSQL、またはSQLiteに接続するための最小限のSQL ORM.
  • SQL Alchemy —より完全な機能を備えたSQL ORM.
  • PyGame — Pythonでビデオゲームを構築するためのプラットフォーム.
  • SciPy — Python用の科学および数学ツール。科学計算にとって非常に重要.
  • パンダ—データ分析ツール.
  • sh — Pythonスクリプト内から他のプログラムを呼び出すためのライブラリ.

Python wikiには、最も有用で人気のあるPythonモジュールのリストも含まれています。.

IDE

IDEは、大規模または複雑なアプリケーションの開発を管理するためのツールである統合開発環境です。ほとんどのPythonユーザーはシンプルなコードエディターで作業する傾向がありますが、大規模なプロジェクトでPythonを使用しているユーザー向けに、Pythonに特化した優れたIDEが多数用意されています.

  • PyDev — Eclipse用Python IDE.
  • コモド— Python IDE
  • PyCharm — Python IDE
  • Wing IDE —商用Python IDE.
  • Spyder —科学と数学のためのPython IDE.
  • NetBeans
  • PyScripter
  • µ.dev — Microdev、Sakuraスタジオの奇妙な小さなIDE.

こちらのPythonエディタのリストもご覧ください。.

リファクタリングとコードチェック

Python開発者には、クリーンで効率的なコードを好む傾向がある文化があります。同時に、速度も重視し、多くの場合、差し迫った問題を解決するためにすばやくコーディングします。 Pythonプログラマーがコードをチェックするタスクを自動化し、コードをより効率的にするのを助けるために、多くのツールが開発されました.

  • PyChecker —コードチェッカー(リンター).
  • ロープ
  • 自転車修理
ビルドツール

Pythonはタスクの自動化に優れているため、それを行うためのツールや、ビルドとデプロイのサイクルを高速化するためのツールが数多くあることは驚くに値しません。.

このリストには、Pythonアプリのパッケージ化と配布に使用される専用の開発ツールも含まれています.

  • 呼び出し–タスク実行およびスクリプトツール.
  • Microbuild —軽量ビルドツール.
  • Paver —タスクスクリプト.
  • Pynt —ビルドツール.
  • VirtualEnv —分離されたPython環境を構築するためのツール.
  • Bitten — PythonおよびTracの継続的統合ツール.
  • iPython —インタラクティブなPythonシェルと開発ライブラリ。リストするには多すぎるクールな機能.
  • Py2Exe — PythonスクリプトをWindows実行可能ファイルにコンパイルする.
Webフレームワーク

Pythonを使用してWebアプリケーションを構築する場合は、多数の低レベルのタスクがあります。’最初に対処する必要があります—または、ステップ10から始めて、Webアプリケーション開発フレームワークを使用することもできます.

  • Django —断然、Pythonで最も人気のあるWebアプリケーションフレームワーク。概念的にはRuby on Railsに似ています。 Djangoの紹介をご覧ください
  • Python Paste —フレームワークではなく、 “フレームワークのためのフレームワーク.” Python Webフレームワークを構築するための低レベルのツールを提供します.
  • CherryPy —シンプルなPythonウェブフレームワーク.
  • ターボギア
  • Web2Py
  • CubicWeb
  • ジョット
  • レアール
  • フィージー

Pythonで構築されたアプリケーション

Pythonは多くの人がさまざまなタスクや目的で使用しますが、コードをコンシューマやエンドユーザーに配布するアプリを構築するのにそれほど人気はありません(たとえば、PHPのように)。それでも、この目的で使用されることがあります。 Pythonで構築されたいくつかのアプリケーションの例を以下に示します.

  • SchoolTool —学生情報システム.
コンテンツ管理システム
  • Plone —最も人気のあるPythonベースのCMS.
  • Django CMS — CMSのPloneほど人気が​​ありませんが、最も人気のあるPythonフレームワークの上に構築されています.
  • MoinMoin — Python wikiを強化するPython wikiエンジン。 (他のPythonベースのWiki CMSについては、このページを参照してください。)
  • CPS-CMS
  • シルバ
  • ZMS

オンラインPythonリファレンス

これらは、最も重要な単一ソースのPythonリファレンスサイトの一部です。ブックマークする必要があります。.

  • Pythonドキュメント
  • Python Wiki
  • 人気のPythonレシピ
  • Pythonパッケージインデックス

Pythonの始まり

印刷された本を使用して学習したい場合は、優れた本を入手できます。初心者向けの最高のPythonの本をいくつか紹介します。あなたがしない場合’本を好む(またはドン’お金を払うのを好む)オンラインリソースセクションまでスクロールして、優れたオンライン(ほとんど無料)チュートリアルのリストを表示します。.

  • Pythonを難しい方法で学ぶ:驚くほど美しいコンピューターとコードの世界への非常に簡単な紹介
  • 子供向けPython
  • Pythonクラッシュコース:実践的なプロジェクトベースのプログラミング入門
  • 初心者のためのPythonプログラミング:Pythonコンピュータ言語とコンピュータプログラミングの概要
  • Pythonプログラミング:コンピュータサイエンスの概要
  • Pythonで退屈なものを自動化する:初心者向けの実用的なプログラミング
  • Pythonの学習
  • こんにちは!パイソン

上級

Pythonプログラミングのより高度な概念の多くはオンラインチュートリアルではカバーされておらず、印刷された本でしか見つけることができません.

  • エキスパートPythonプログラミング
  • Python高性能プログラミング
  • Python並列プログラミングクックブック
  • Pythonの実際:並行性、ライブラリー、パターンを使用してより良いプログラムを作成する
  • 高度なPython 3プログラミング手法
  • オブジェクト指向のPythonをマスターする
  • 効果的なPython:より良いPythonを書くための59の特定の方法
  • Python機械学習
  • Pythonを考える
  • プロのPython
  • 高性能Python:人間向けの実用的なパフォーマンスプログラミング
  • PythonによるWebスクレイピング:最新のWebからデータを収集する
  • Pythonを使用したテスト駆動開発
  • 流暢なPython
  • Python Playground:好奇心旺盛なプログラマのためのギークプロジェクト
  • Pythonネットワークプログラミングの基礎:Pythonでネットワークアプリケーションを構築するための包括的なガイド
  • ガイド:Pythonでの反復とジェネレータの学習
数学、科学、データのためのPython

Pythonは、少なくともいくつかの理由で数学と科学で広く使用されています。– SciPyやNumPyなど、言語には優れた数学および科学ツールがあります。 –言語は迅速なプログラミングタスクに適しているため、完全な機能を備えたアプリを構築しなくても、アドホックデータ分析にPythonを簡単に使用できます。.

一般的な高度なトピックと同様に、高度なPythonプログラミングの専門的なトピックに関する情報を探している場合は、無料のWebサイトやオンラインチュートリアルよりもはるかに優れた書籍が見つかります。.

  • Pythonで数学をする
  • データ分析のためのPython:Pandas、NumPy、IPythonによるデータラングリング
  • Python Data Science Essentials
  • ゼロからのデータサイエンス:Pythonの第一原理
  • Pythonによるデータマイニングの学習
  • 生物学者のための高度なPython
  • Python for Finance:ビッグファイナンシャルデータの分析
  • Pythonでのデータ構造とアルゴリズム的思考:データ構造とアルゴリズム的パズル
  • Python for Informatics:情報の探索
  • Pythonによるデリバティブ分析
  • ArcPyとArcGIS:Pythonを使用した地理空間分析
  • パンダの学習– Pythonデータの発見と分析を簡単に
  • Pythonを使用した地理空間分析の学習
  • 天文学における統計、データマイニング、機械学習:調査データ分析のための実用的なPythonガイド
ハッキングのためのPython

アドホックプログラミングやタスクの自動化に適しているため、Pythonは、物事に侵入したい人や、それを止めようとする人にもかなり使われています。 (もちろん、あなたは善人の一人だと思います。)

  • Violent Python:ハッカー、法医学アナリスト、侵入テスター、セキュリティエンジニア向けのクックブック
  • Black Hat Python:ハッカーとペンテスターのためのPythonプログラミング
  • シークレットエージェントのPython

参照

そのようなものが好きな人のために、Pythonの優れたデスクリファレンスをいくつか紹介します。上記の高度なトピックの一部は書籍のみですが、ここでの基本的な参照資料のほとんどは、優れた検索エンジンを使用してオンラインで簡単に見つけることができます。.

  • Python Essential Reference
  • Pythonクックブック
  • Python Pocketリファレンス

Pythonの例外

例外はPythonプログラミングに非常に重要であるため、次のチュートリアルを提供します。これにより、Pythonのこの側面を素早く理解できます。.

Pythonプログラムの実行で問題が発生した場合、どうなりますか?さて、次に起こることが例外ではない場合… 2つのことが間違っています.

Pythonは、あらゆる種類のエラー条件に対応して例外を発生させます。 Python開発者として、例外はコードのどこに問題があるかを通知します。独自の例外を定義して発生させることもできます.

この記事では、Pythonの組み込み例外を確認し、例外処理を探ります。.

例外の作成方法

オブジェクト指向プログラミングの原則に従って、例外は例外クラスで定義されます。これらのクラスは、継承階層で編成されています。たとえば、IndentationErrorはSyntaxErrorのサブクラスです。.

例外が発生すると、特定の例外クラスのインスタンスが作成されます。エラーをキャッチした場合(以下のexcept節で行われているように)、それを調べることができます.

>>> 試してください:
… ValueErrorを発生させる
… ValueErrorをeとして除く:
… print(str(type(e)) + "ん" + str(dir(e)))

[‘__cause __’、 ‘__ class __’、 ‘__ context__’,
「__delattr __」、「__ dict __」、「__ dir__」,
「__doc __」、「__ eq __」、「__ format __」、「__ ge__」,
「__getattribute __」、「__ gt __」、「__ hash__」,
「__init __」、「__ le __」、「__ lt __」、「__ ne__」,
「__new __」、「__ reduce __」、「__ reduce_ex__」,
「__repr __」、「__ setattr __」、「__ setstate__」,
「__sizeof __」、「__ str __」、「__ subclasshook__」,
‘__suppress_context __’、 ‘__ traceback__’,
‘args’、 ‘with_traceback’]

コードサンプルに関する注意: コードサンプル >>> プロンプトは、インタラクティブインタープリタを使用して試すことができます。ターミナルにpython3と入力するだけです。前にないすべて >>> または…それらが出力されます。プロンプトのないコードサンプルは、実際に.pyモジュールに記述できるコードの例です.

抽象例外

これらの例外クラスは、他の例外の基本クラスとして使用されます.

BaseException

これは、他のすべての例外が派生する基本クラスです.

例外

システムに存在しない組み込みの例外はすべて、このクラスから派生します。すべてのユーザー定義の例外もこのクラスから派生する必要があります.

クラスMyNewException(Exception):

def __str __(self):
返す "MyNewExceptionが発生しました."

ArithmeticError

演算に関連する例外によって継承されます:

  • OverflowError
  • ZeroDivisionError
  • FloatingPointError

BufferError

バッファ関連の操作を実行できない場合に発生します.

LookupError

無効なキーまたはインデックスに関連する例外によって継承されます。たとえば、辞書の不正なキーまたはリストの範囲外のインデックス.

具体的な例外

AssertionError

失敗したアサーションで発生.

>>> アサート1 > 2
アサーションエラー

AttributeError

属性の参照または割り当ての失敗時に発生します.

>>> x = 1

>>> x.name
AttributeError: ‘int’オブジェクトに属性 ‘name’がありません

>>> x.name = "1"
AttributeError: ‘int’オブジェクトに属性 ‘name’がありません

EOFError

input()がデータを読み取らずにファイルの終わり(EOF)に到達すると発生します.

FloatingPointError

浮動小数点演算が失敗したときに発生します。この例外は通常、構成されない限り発生しません。また、浮動小数点例外の処理は、ほとんどの非専門家ユーザーには推奨されていません。..

GeneratorExit

ジェネレータまたはコルーチンが閉じたときに発生します。クローズは正常な動作なので、これは実際にはエラーではありません.

ImportError

インポート文が失敗したときに発生します.

>>> ModuleThatDoesNotExistのインポート
ImportError:ModuleThatDoesNotExistという名前のモジュールはありません

Python 3.6以降では、さらにサブクラスModuleNotFoundErrorがあります。.

IndexError

参照されたインデックスが無効な場合に発生します.

>>> l = ["ゼロ", "1", "二"]
>>> l [4]
IndexError:リストのインデックスが範囲外です

KeyError

辞書キーが見つからないときに発生します.

>>> d = {‘TOS’: ‘Kirk’、 ‘TNG’: ‘Picard’、 ‘DS9’: ‘Sisko’、 ‘VOY’: ‘Janeway’}
>>> d [‘ENT’]
KeyError: ‘ENT’

キーボード割り込み

割り込みキーが押されたときに発生します(CTRL-C).

>>> 真
… パス

^ C
キーボード割り込み

MemoryError

操作でメモリが不足すると発生します.

NameError

変数名が見つからない場合に発生します.

>>> Trueの場合:
… パス

^ C
キーボード割り込み

NotImplementedError

これはクラスに書き込むことを目的としています。組み込みの機能によって発生することはありません。これには2つの用途があります。

  • 抽象クラスによって生成され、派生クラスで上書きする必要があることを示します.
  • 派生クラスによって発生し、実装を追加する必要があることを示します。これにより、例外を発生させることなくクラスをロードできます.

OSError

システムエラーが返されたときに発生します。 OSErrorの詳細については、以下を参照してください.

OverflowError

数学演算の結果が大きすぎる場合に発生します.

RecursionError

最大再帰深度を超えたときに発生します.

ReferenceError

オブジェクトがガベージコレクションされた後で、弱参照プロキシを使用してオブジェクトにアクセスすると発生します。.

ランタイムエラー

他のどのカテゴリにも該当しないエラーが検出されたときに発生します.

StopIteration

イテレータがこれ以上アイテムを生成しない場合に、next()および__next __()によって発生します。.

StopAsyncIteration

によって調達する必要があります 次の ()反復を停止する非同期反復子オブジェクトのメソッド.

これはバージョン3.5の新機能です.

構文エラー

構文エラーが発生した.

>>> 1 = 2
SyntaxError:リテラルに割り当てることはできません

IndentationError

インデントエラーで発生.

>>> 1 == 1の場合:
… x = 1
IndentationError:インデントされたブロックが期待されます

TabError

IndentationErrorのサブクラス。インデントがタブとスペースを一貫して使用しない場合に発生します.

システムエラー

重大ではない内部エラーで発生.

SystemExit

sys.exit()関数によって発生.

TypeError

操作または関数が不適切なタイプのオブジェクトで呼び出されたときに発生します.

>>> 1 > "1"
TypeError:順序付けできない型:int() > str()

ユーザーコードは、不適切に型付けされた関数入力に対してTypeErrorを発生させる必要があります.

UnboundLocalError

ローカル変数が関数またはメソッドで参照されているが、変数が定義されていない場合に発生します.

UnicodeError

Unicode文字列の処理中に発生するエラーに使用される基本クラス。これには3つのサブクラスがあります。

  • UnicodeEncodeError
  • UnicodeDecodeError
  • UnicodeTranslateError

ValueError

より具体的なエラーが適用されない限り、関数または操作が正しい型の引数で不適切な値で呼び出されたときに発生します。 (たとえば、範囲外のインデックスはIndexErrorを発生させます。)

>>> f = open("ファイル名.txt", "メートル")
ValueError:無効なモード: ‘m’

ZeroDivisionError

ゼロによる除算が試行されたときに発生します.

>>> 1/0
ZeroDivisionError:ゼロによる除算

>>> 1.0 / 0
ZeroDivisionError:ゼロによる浮動小数点除算

>>> 1%0
ZeroDivisionError:整数除算またはゼロによるモジュロ

OSErrorの詳細

OSErrorはPython 3.3で作り直されました。 OSErrorの3つのエイリアスと、さまざまなエラーの場合の派生クラスがいくつかあります.

OSErrorのエイリアス

  • EnvironmentErrorは、もともとOSErrorおよびIOErrorの基本クラスでした.
  • IOErrorはもともと、ファイルの印刷や読み取りなど、I / O操作中に発生したエラーのために発生しました.
  • WindowsErrorは、もともとはWindows固有のエラーに対して発生しました.

これら3つはすべて互換性の目的でのみ保持されていましたが、実際にはOSErrorのエイリアスです.

OSErrorサブクラス

これらはすべてOSErrorから派生し、オペレーティングシステムから返されたエラーコードに応じて発生します。各説明の下に、関連するシステムerrnoがあります。.

BlockingIOError

操作が非ブロッキング用に設定されたオブジェクトでブロッキングを引き起こす場合に発生します.

  • EAGAIN
  • すでに
  • EWOULDBLOCK
  • EINPROGRESS
ChildProcessError

子プロセスの操作が失敗したときに発生します.

  • エキルド
接続エラー

接続に関連するエラーの基本クラス.

サブクラス:

  • BrokenPipeError、閉じたパイプまたはソケットで書き込みが試行されたときに発生します.
    • EPIPE; ESHUTDOWN
  • ConnectionAbortedError、発生し、試行された接続はピアによって中止されます.
    • ECONNABORTED
  • ConnectionRefusedError、試行された接続がピアによって拒否されたときに発生します.
    • ECONNREFUSED
  • ConnectionResetError、接続がピアによってリセットされたときに発生します.
    • ECONNRESET
FileExistsError

すでに存在するファイルまたはディレクトリを作成しようとすると発生します.

  • EEXIST
FileNotFoundError

要求されたファイルまたはディレクトリが存在しない場合に発生します.

  • ENOENT
InterruptedError

着信信号がシステムコールを中断したときに発生します.

  • EINTR

Python 3.5以降では、シグナルハンドラーが例外を発生させない限り、中断されたシステムコールが再試行されます。.

IsADirectoryError

ファイルのみの操作(os.remove()など)がディレクトリで試行されたときに発生します。.

  • EISDIR
NotADirectoryError

ディレクトリのみの操作(os.listdir()など)がファイルまたはその他の非ディレクトリオブジェクトに対して試行されたときに発生します。.

  • ENOTDIR.
PermissionError

十分な権限なしで操作を実行しようとすると発生します.

  • EACCES
  • EPERM
ProcessLookupError

参照されるプロセスが存在しない場合に発生します.

  • ESRCH
TimeoutError

システム関数がタイムアウトしたときに発生します.

  • ETIMEDOUT

警告

これらの例外クラスは、警告例外の基本クラスとして使用されます.

警告

すべての警告サブクラスによって継承されます.

UserWarning

ユーザーコードによって生成された警告によって継承されます.

DeprecationWarning

非推奨の機能に関する警告によって継承されます.

PendingDeprecationWarning

将来廃止される予定の機能に関する警告によって継承されます.

SyntaxWarning

問題のある構文に関する警告によって継承されます.

RuntimeWarning

問題のあるランタイム動作に関する警告によって継承されます.

FutureWarning

将来変更される構成に関する警告によって継承されます.

ImportWarning

パッケージとモジュールのインポートで起こり得る間違いについての警告によって継承されます.

UnicodeWarning

Unicodeに関連する警告によって継承されます.

BytesWarning

バイトおよびバイト配列に関連する警告によって継承されます.

ResourceWarning

リソースの使用に関連する警告によって継承されます.

コードの組み込み例外を発生させる

さまざまなユーザーアクションに応じて例外を発生させたい場合があります。これはレイズを呼び出すのと同じくらい簡単です。ユーザーに表示する文字列を渡すことができます.

def ObnoxiousFavoriteColorAssigner(color):
type(color)がstrではない場合:
TypeError("紐が必要.")
["赤", "緑", "青い"]:
favorite_color = color
そうしないと:
ValueError("それは「本当に」色ではありません.")

例外の処理

コードを実行したときに発生する例外は、tryおよびexceptを使用して処理できます。.

def EverybodyLovesRed():
Trueの場合:
試してください:
ObnoxiousFavoriteColorAssigner(input())
ブレーク
TypeErrorをerrとして除く:
print(err)
ValueErrorを除く:
ObnoxiousFavoriteColorAssigner("赤")

カスタム例外の定義

組み込みの例外を拡張して、独自のカスタム例外を作成できます。これはほとんどの場合、大規模なフレームワークで行われます.

クラスColorError(ValueError):
"""
誰かが色があると示唆したときに発生します
赤、青、緑以外.
"""

def __str __():
返す "色はあなたの目にだけ存在します."

def ObnoxiousFavoriteColorAssigner(color):
type(color)がstrではない場合:
TypeError("紐が必要.")
["赤", "緑", "青い"]:
favorite_color = color
そうしないと:
ColorErrorを発生させます

独自のカスタム例外クラスを作成する場合は、例外が発生する時期または方法に関する関連情報をdocstringに含めることをお勧めします。それを超えて、しかし、このロジックは例外を定義するコードに含まれていません.

Python例外の詳細

  • エラーに関する公式ドキュメントと組み込みの例外の完全なリストを必ずお読みください.
  • Python開発者Julien DanjouがPython Exceptionsの最も信頼できるガイドを書いた.
  • Codementor.ioにはPythonでカスタム例外を記述して使用する.

Python FAQ

Pythonが “スクリプト言語”?

スクリプト言語は、バイナリ実行可能ファイルにコンパイルされるのではなく、実行時に解釈される言語です.

一部の人々はフレーズを使用します “スクリプト言語” 言語が特に短文を書くのが上手であることを示す “スクリプト,” またはタスクの自動化に使用されるミニチュアアドホックプログラム.

Pythonは両方の記述に適合します—これはインタープリター型言語であり、短いアドホックスクリプトの記述にも非常に役立ちます.

Pythonのようなスクリプト言語は、本格的なアプリケーションの作成に適していますか?

アプリケーション全体でのスクリプト/解釈言語の使用に偏見を抱く人々がいます。このバイアスの知恵は完全に個々の状況次第です.

スクリプト言語は、コンパイルされた言語よりも実行速度が少し遅くなる傾向があり、場合によっては、このパフォーマンスの違いが大きな問題になります。ただし、ほとんどの場合、それは無視できる程度の問題です.

Pythonは、あらゆる種類のアプリケーションの作成に完全に適しています。 Djangoまたは別のWebフレームワークを使用すると、Webベースのアプリケーションを構築できます。 Pythonには、本格的なアプリケーションを作成するために必要なツールと機能の点で欠陥はありません。実際、PythonはおそらくPHPやJavaScriptのどちらよりもこのような作業にはるかに適しています。どちらも大規模で複雑なWebアプリケーションで頻繁に使用されます.

Pythonを学ぶべきか?

それはあなたの目標に依存します.

一般的なWebアプリケーションを構築したい場合は、JavaScript、HTML、CSSとともに、PHPまたはRuby(およびRails)を学ぶ必要があります。そこ’この作業にPythonを使用できなかった理由はありませんが、そうすることは一般的ではありません。 PHPとRubyを使用すると、より多くの既存のWebアプリケーション、フレームワーク、およびWeb開発ツールにアクセスできます.

プログラミングスキルを使用して、自動化や分析などのタスクを直接実行することを考えている場合、Pythonはその種の作業に最適な言語であり、そのほとんどを使用します。.

数学、科学、金融、音楽、暗号などの専門分野やドメインでデータを操作する必要があるアプリを構築している場合、Pythonはこの種のプロジェクトにも最適な言語です.

参考資料とリソース

プログラミングと統計に関連するその他のガイド、チュートリアル、およびインフォグラフィックがあります。

  • C開発者向けリソース:この古典的な言語を使い始めるために必要なすべてのもの.
  • Ruby on Rails入門:この人気のあるスクリプト言語について学ぶ.
  • Stataプログラミング:Stataは、データ分析を行うための開発環境全体です.

どのコードを学ぶべきか?

あなたがコーディングするためにどのプログラミング言語を学ぶべきかについて混乱していますか?私たちのインフォグラフィックをチェックして、どのコードを学ぶべきですか?これは、言語のさまざまな側面について説明するだけでなく、「生活のためにJavaプログラミングを行うことでいくらお金を稼ぐことができるか」などの重要な質問に答えます。

どのコードを学ぶべきですか?
どのコードを学ぶべきか?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map