Pythonのパッケージとは何ですか?効果は何ですか? Python のパッケージの紹介
この記事では、Python のパッケージとは何ですか?効果は何ですか? Python でのパッケージの紹介はある程度の参考になるので、困っている友達は参考にしていただければ幸いです。
1. パッケージとは何ですか?
パッケージとは、Python モジュールの名前空間を「.モジュール名」で整理する方法です。
#ただし、python2 で指定されていることに注意してください。パッケージ内に __init__.py ファイルが存在する必要があります。
目的パッケージの作成は実行することではなく、インポートして使用することです。パッケージは単なる形式であり、パッケージの本質はモジュールです。2. パッケージの役割は何ですか?パッケージ 本質的にはフォルダーであるため、フォルダーの唯一の機能はファイルを整理することです。関数が増えるにつれて、#すべての関数を 1 つのフォルダーに入れることはできなくなります。モジュールを組織機能に使用します。モジュールが増えるにつれて、プログラムの構造と保守性を向上させるために、フォルダーを使用してモジュール ファイルを整理する必要があります。
次へ 後で学習するためにいくつかのパッケージを作成します。パッケージは簡単です。必要なのは __init__.py を含むフォルダーだけです。
import os os.makedirs('glance/api') os.makedirs('glance/cmd') os.makedirs('glance/db') l = [] l.append(open('glance/__init__.py','w')) l.append(open('glance/api/__init__.py','w')) l.append(open('glance/api/policy.py','w')) l.append(open('glance/api/versions.py','w')) l.append(open('glance/cmd/__init__.py','w')) l.append(open('glance/cmd/manage.py','w')) l.append(open('glance/db/__init__.py','w')) l.append(open('glance/db/models.py','w')) map(lambda f:f.close() ,l)
ディレクトリ構造を作成します
各フォルダーにいくつかのメソッドを追加します。#policy.py def get(): print('from policy.py') #versions.py def create_resource(conf): print('from version.py: ',conf) #manage.py def main(): print('from manage.py') #models.py def register_models(engine): print('from models.py: ',engine)
test.py でパッケージの内容を使用でき、パッケージをインポートするときに import または from xxx を使用できます。インポートの形式 xxx
import glance.db.models glance.db.models.register_models('mysql') from glance.api.policy import get get()
3 __init__.py は何をしますか?
パッケージのインポートにどの方法を使用しても、それが初めてインポートされる限り、パッケージまたはパッケージの他の部分が最初にインポートされます。 __init__.py ファイルを実行します。このファイルは空でも構いませんが、初期化コードを保存することもできます。
以前に使用した Can from xxx import * be used in package call?はい、__init__.py ファイルに __all__ を指定して * インポートされたコンテンツを決定する必要があります。print("我是glance的__init__.py⽂件. ") x = 10 def hehe(): print("我是呵呵") def haha(): print("我是哈哈") __all__ = ['x', "hehe"]
from glance import * print(x) # OK hehe() # OK haha() # 报错. __all__⾥没有这个⻤东⻄
# 在glance/api/version.py #绝对导⼊ from glance.cmd import manage manage.main() #相对导⼊ # 这种情形不可以在versions中启动程序. # attempted relative import beyond top-level package from ..cmd import manage manage.main()
# 在policy.py import versions
理由は、ポリシー設定時に外部からアクセスするとエラーが発生するためです。 , .sys.path のパスが外部にあるため、versions モジュールを直接見つけることができません。したがって、必ずエラーが報告されます:
ModuleNotFoundError: No module named 'versions'
# 在test.py中 import glance
以上がPythonのパッケージとは何ですか?効果は何ですか? Python のパッケージの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

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

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

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

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...
