検索
ホームページバックエンド開発Python チュートリアル知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

この記事ではPythonの書き方を6事例にまとめてみました。

1. ルート モジュールをインポートしないでください

Python を使用する場合、組み込みモジュールであってもサードパーティ モジュールであっても、モジュールのインポートは避けては通れません。場合によっては、モジュールの 1 つまたはいくつかの関数またはオブジェクトだけが必要な場合があります。この場合、ルートモジュールをインポートする代わりに、必要な関数またはオブジェクトのみをインポートするようにしてください。

これは簡単な例です。プログラム内でいくつかの数値の平方根を計算する必要があるとします。

遅い例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

悪い例では、数学モジュールをインポートし、 math.sqrt() を使用して関数にアクセスします。もちろん問題はありませんが、sqrt() 関数をインポートできればパフォーマンスは向上します。

より高速な例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

2. ドット/ドット チェーンの使用を避ける

ドットの使用は非常に直感的です。 Python でオブジェクトのプロパティまたは関数にアクセスします。ほとんどの場合、問題ありません。ただし、ドットの使用やドットのリンクさえ避けることができれば、実際にはパフォーマンスが向上します。

以下の例は、リストに数値を追加してから削除する方法を示しています。

遅い例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

速い例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

これが実際に同じことを行うとは信じられませんが、確認できます。

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

多くの Python 開発者が、この例のテクニックはちょっとばかげていると声を上げて言うでしょう。実際、私自身も上記のようなコードを書くことはほとんどありません。ただし、この方法でプログラムでき、さらに高速化できることを知るのは素晴らしいことです。

リストに追加したりリストから項目を何百万回も削除したりする場合は、おそらくこのトリックの使用を検討する必要があります。そのため、コードのパフォーマンスと読みやすさのバランスをとる必要があります。

3. 接続文字列を使用しないでください

文字列は Python では不変です。したがって、「 」を使用して複数の文字列を 1 つの長い文字列に連結すると、各部分文字列は個別に操作されます。

もっと遅い例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

具体的には、部分文字列ごとにメモリ アドレスを要求し、そのメモリ アドレスと組み合わせる必要があります。生の文字列が連結されます。それがオーバーヘッドになります。

より高速な例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

ただし、 join() 関数を使用すると、関数はすべての部分文字列を事前に認識しており、メモリ アドレスが割り当てられます。長さは最終的に連結された文字列に適しています。したがって、各部分文字列にメモリを割り当てるオーバーヘッドはありません。

可能な限り join() 関数を使用することを強くお勧めします。ただし、2 つの文字列を連結したい場合もあります。または、便宜上、「」を使用したいと思います。このような場合、「 」を使用すると、可読性が向上し、コード長が短くなります。

4. 値の交換に一時変数を使用しないでください

多くのアルゴリズムでは、2 つの変数の値の交換が必要です。他のほとんどのプログラミング言語では、これは通常、次に示すように一時変数を導入することによって行われます。

遅い例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

速い例

ただし、Python では、temp 変数を使用する必要はありません。 Python には、以下に示すように、この値交換を実装するための組み込み構文があります。

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

5. If 条件を使用してショートサーキットを行う

「ショートサーキット」評価は多くのプログラミング言語に存在し、同様のことが Python にも当てはまります。基本的に、最初の引数が式全体の値を決定するのに十分でない場合にのみ 2 番目の引数が実行または評価される、特定のブール演算子の動作を指します。

これを例で示してみましょう。次のようなリストがあるとします。

my_dict = [
{
'name': 'Alice',
'age': 28
},
{
'name': 'Bob',
'age': 23
},
{
'name': 'Chris',
'age': 33
},
{
'name': 'Chelsea',
'age': 2
},
{
'name': 'Carol',
'age': 24
}
]

私たちの仕事は、リストをフィルタリングして、名前が「C」で始まり、年齢が 30 歳以上であるすべての人々を見つけることです。

もっと遅い例

同時に満たす必要がある条件が 2 つあります:
  • 名前が「C」で始まる
  • 年齢≥ 30 したがって、次のコードを書くことができます。

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

###

より高速な例

前の例のコードには何も問題はありません。ただし、この架空の例では、「クリス」だけが 30 歳を超えています。

最初に名前をチェックする条件を書くと、3 つの名前 (Chris、Chelsea、Carol) が満たされます。次に、年齢に関する 2 番目の条件が 3 人全員について再度チェックされます。

ただし、短絡的な評価のため、年齢条件を最初に書くと、クリスの年齢だけが 30 歳以上となり、名前が「C」で始まるかどうかが再度チェックされます。

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

この場合、ほぼ 100% 高速になります。

6. For ループを使用できる場合は、while ループを使用しないでください。

Python では、パフォーマンスを向上させるために C を大量に使用します。つまり、CPython です。ループ ステートメントに関しては、Python の For ループのステップは比較的少なく、while ループよりも多くのステップが C コードとして実行されます。

したがって、Python では For ループを使用できますが、while ループは使用しないでください。これは、For-Loop が Python でより洗練されているだけでなく、パフォーマンスも優れているためです。

遅い例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

速い例

知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。

以上が知識をリフレッシュしましょう!私は常に Python プログラムの速度を低下させるこれら 6 つの悪い習慣を使用しています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの精度を改善する方法は?Apr 02, 2025 am 07:09 AM

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SublimeText3 英語版

SublimeText3 英語版

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境