ディレクトリ
4つの形式のモジュール
1.1モジュールとは何ですか
これは、機能モジュールアセンブリのシリーズであり、関数は、集合の関数であり、したがって、モジュールは、骨材のパイルの関数として見ることができます。ファイル内のPyが、あなたは、機能の束を置くことができるので、PYファイルがモジュールとして見ることができます。このファイルはPY命名されている場合はmodule.py
、モジュール名ですmodule
。
1.2モジュラー形式:
1、カスタムモジュールは:あなたが作成したPYファイルは、ファイルがカスタムモジュール、書かれたPythonのの.pyファイルのすなわち使用と呼ばれ、機能の束を書き込む、です。
2、サードパーティ製のモジュール:自分自身、ある13万サードパーティのライブラリをインストールする必要があり、全能
3は、ビルトインモジュール:パイソンインタプリタは、インストールする必要が来ません
4、パッケージ:含まれてい__inti__
たファイルの.pyフォルダ、特別なモジュールを(問題を解決)
1.3なぜ使用モジュール
- 第三者または組み込みモジュールはISMがあると、それは大幅に開発効率を高めることができます。
- カスタムモジュール、私たち自身のパブリック関数で使用される手順は、Pythonのファイルを作成し、その後、プログラムの構成部品は、インポートの方法によってモジュールをカスタマイズする機能を参照することができます。
二、インポートとから...インポート...
2.1インポートモジュール名
携帯電話などのpython、ピップは、家政婦のアプリケーションである、時間のアプリケーションは、家庭でのアプリケーション管である、それをインポートを使用
import time
time.time()
3つの物事が起こるインポートする初めてのモジュールをインポートします。
1、メモリに時間と呼ばれる名前空間を生成し、
2、時間空間でtime.py名にスペースにファイルの名前、その後、time.pyファイルを実行します
3、時点インポート名前空間とから... import.py(タイムモジュールに現在のファイル)の名前空間
モジュールファイルを繰り返さないでください、あまりにも良いの創出への直接の参照を追加しますインポートモジュールを繰り返す前
使用インポート時のインポート時、時刻のみを使用する。メソッド名()、メソッド名が直接することはできません
2.2から...インポート...モジュール名
このメソッドは推奨されません
from time import gmtime
print(gmtime())
...インポート...物事が起こるの3モジュールをインポートする初めて。
1、メモリに時間と呼ばれる名前空間を生成し、
2、時間空間でtime.py名にスペースにファイルの名前、その後、time.pyファイルを実行します
3、からポインティング方法のgmtimeはインポート...とimport.py(時間モジュールに現在のファイル)の名前空間、メソッドは直接使用する任意のプレフィックスを追加することはできません
- 長所:より合理接頭コードを追加しません
- 短所:現在のネームスペースを使用してファイル名に名前の競合を実行するのは簡単
インポートファイル内のすべてのコンテンツを備えています:
__all__
モジュール名の両方における差
from test import * # __all__限制了 from test import *(导入全部)
from test import f3 # __all__不会限制
import test # __all__ 不会限制
2.3インポートとから...輸入の類似点と相違点...
同じポイント:
両方のモジュールは、名前空間を持つことになり、対応するファイル・モジュールを実行することができ、どちらも1、
2、2つのコールが、あなたは関係なく、呼び出し元の場所の、関係の範囲を定義行く時間を見つける必要があります
違い:
インポートは、プレフィックスを追加する必要はありません。から...インポート...接頭辞を追加する必要が
第三に、循環輸入質問
#m1.py
from m2 import y
x = 10
#m2.py
from m1 import x
y = 20
プロセス: m1.py - > m2.py - > m1.py ...無限ループ循環輸入を入力します
結果: X / Yは、このプロセスで生成されていません
解決策1:一番下の行に書かれたimport文
#m1.py
x = 10
from m2 import y
#m2.py
y = 20
from m1 import x
プロセス: m1.py - > X = 10 - > m2.py - > 20であり、Y = - > m1.py - > X = 10
結果: X = 10 - > X = 10 - > 20は、Y =あり
解決方法2:内部機能に書かれたimport文
#m1.py
def f1():
from m2 import y
print(y)
x = 10
#m2.py
def f1():
from m1 import x
y = 20
処理: F1() - > m2.py - > Y = 20であります
結果: Y = 20れます
第四に、モジュール検索パス
1、メモリを探し始めます
from m2 import y
print(y)
import time
time.sleep(10) # 10s内删除了m2
from m2 import y
print(y)
2、その後、内蔵のモジュールから見ました
from time import time
print(time)
3、その後、カスタムモジュールを見つけます
それはあなたがモジュールを作成し、ファイルを見つけること、です
図4は、最終的には、環境変数を見つけました(プロジェクトファイルの将来の実装では、リンク変数を取得する必要があります)
import sys
print(sys.path) # 环境变量,模块就是在某个路径中,需要添加路径,在这里找
sys.path.append(r'D:\上海Python11期视频\python11期视频\day 16')
# del sys.path[1]
print(sys.path)
import testt
testt.f1()
二人は5、Pythonのファイルを使用しています
1は、モジュールファイル(m1.pyコールm2.py、あなたがm1.pyを実行すると、m2.pyは、テンプレートファイルである)として、あなたは複数のモジュールを持つことができます
図2に示すように、実行可能ファイル(現在実行中のファイル)として、唯一の実行可能ファイル
3、実行可能ファイル、ファイル・モジュールは、相対的です
# m1.py
x = 10
if __name__ == '__main__':
print(x)
# m2.py
import m1
m1.py、実行ファイルとして、すなわちm1.pyので、実行している場合 __name__ __ == メイン、プリントxを
m2.py、テンプレートファイルとして、すなわちm1.py、この時点で実行する場合 __name__ __ == M1 、条件が満たされていない場合は、エラーを
if __name__ == '__main__':
それは実際にif
判決、またはフィルタ。あなたはすぐ+メインアウトを打つためにTabキーを使用することができます
六、ランダムモジュール
randomモジュールの使用
把握
図1に示すように、ランダムに生成されたツリーとの間はrandom.Random()0--1
import random print(random.random()) #随机生成一个大于0小于1之间的小数 ------------------------------------------------------------ 0.6331352272344526
2、random.randint() :値の範囲内でランダムに生成された整数は、二つを含みます
import random print(random.randint(1,5)) #随机生成一个大于等于1且小于等于5之间的整数 ------------------------------------------------------------ 5
3、random.shuffle():動揺コンテナクラス要素--->リストや辞書
import random list = [1,3,5,7,9] random.shuffle(list) #打乱list的顺序,相当于“洗牌” print(list) ------------------------------------------------------------ [9, 5, 3, 7, 1]
理解します
1、random.randrange():指定された範囲(かかわらず、尾のケア)のランダムな整数を生成
import random #随机生成一个大于等于1且小于3之间的整数 # print(random.randrange(1,3)) ------------------------------------------------------------ 1
2、random.uniform():ランダムに(頭と尾の両方にもかかわらず)所定の範囲内で生成された分数
import random #随机生成一个大于1小于3的小数 print(random.uniform(1,3)) ------------------------------------------------------------ 2.7201432742975458
3、random.choice():ランダム削除、リスト内の任意の要素
import random #随机生成列表内的任意一个元素 print(random.choice([1,'23',[4,5]])) ------------------------------------------------------------ 1
4、random.sample():n個の要素のリストをランダムに採取要素の任意の組み合わせ
import random #随机生成列表元素任意n个元素的组合 print(random.sample([1,'23',[4,5]],3)) #这个3就代表n ------------------------------------------------------------ [[4, 5], '23', 1]