55

私はパリ大学で大学院レベルのPythonクラスを教えていますが、学生は標準ライブラリを紹介する必要があります。最も重要な標準モジュールのいくつかについて彼らと話し合いたいと思います。

どのモジュールが絶対に必要だと思いますか?応答はおそらくあなたの分野(ウェブプログラミング、科学など)によって異なりますが、いくつかのモジュールが一般的に必要であると感じています:、、、、、、、…そして多分:、、math… </ p> sysreosos.pathloggingcollectionsstruct

1時間または2時間の時間枠で、どのモジュールを提示することをお勧めしますか?

4

16 に答える 16

41

1 ~ 2 時間のスロットでカバーするモジュールは、聴衆の興味や関心に完全に依存します。彼らは他にどのようなクラスを取っていますか? 彼らは何をすぐに利用する準備ができていますか?

math、 、 、decimalおよびdatetimeを必ず言及してtimeくださいre

ファイル指向の作業を行う IT タイプの場合: globfnmatchosos.pathtempfileおよびshutil

データベース関係者は と について聞いておく必要がsqliteありjsonます。

シミュレーションの聴衆は、 について聞きたいと思うかもしれませんrandom

Web 開発者はurllib2、クライアントの視点から話を聞く必要があります。また、美しいスープと、選択した XML パーサー。

Web 開発者は、サーバーの観点から、loggingそしてwsgirefサーバーの観点から耳を傾ける必要があります。

于 2009-09-21T14:21:47.080 に答える
33

私が提供itertoolsしたいと思いますfunctools。これらのモジュールは、プログラミングのいたるところに見られる抽象化を介して動作するため、学習するのに役立つと思います。より実用的なものの中で、xmlモジュール(xml.domxml.sax)は非常に便利です。

于 2009-09-21T10:57:58.513 に答える
18

PyMOTW(Python Module Of The Week)をご覧ください。厳密にはstdlibではありませんが、Pythonstdlibの明白でそれほど明白ではない宝石の優れたリソースです。さらに、導入されたモジュールの優れたドキュメントとしても機能します。

于 2009-09-21T11:00:38.280 に答える
7

典型的なコンピュータータスクを実行する典型的なコンピューターユーザー/プログラマーにとって最も意味のあるいくつかのモジュールを選びます。そうすれば、彼らが自分の時間に実際に Python を使用する可能性が最大になります。

私の意見では、ほとんどの人が実行する可能性が高い操作はファイル操作です。たとえば、ディレクトリ内のすべてのファイルを調べて、何らかのアクションを実行します。

したがって、モジュールos と os.pathがおそらく最も重要であり、glob 、 fnmatch 、および shutilについても言及しています。また、上記のコンテキストで使用される傾向があるため、サブプロセスも非常に役立つ場合があります。

最後に、optparseを使用します。これにより、プログラマーが使いやすく、プログラマーにとって使いやすいプログラムを非常に迅速に作成できるようになります。これにより、他の人が使用したいプログラムを実際に作成することも促進されることが期待されます。

于 2009-09-21T19:42:58.173 に答える
6

それは、彼らが何をするか、そして彼らがどのレベルにあるかによって少し異なります。私が始めたときに誰かに指摘してもらいたいいくつかのモジュールは次のとおりです。

  • StringIO - 彼らが再実装するのを止めます。
  • ロギング - デバッグ出力に関しては、それらを正しいパスに置くため
  • pickle - どこでも XML を使用しようとするのを阻止します。
  • xml.etree.ElementTree - 実際に XML を操作する必要があるときに、DOM モデルからそれらを保存します。
  • pprint - Python でネストされた構造を威圧的にする.
于 2009-09-21T14:39:57.503 に答える
6

私は非常に実用的なモジュールを覚えています: copy.
そこから deepcopy() を頻繁に使用します。

于 2011-03-09T21:07:00.363 に答える
5

わずか 1 ~ 2 時間のスロットで、easy_installPyPI リポジトリを紹介します。それらが標準ライブラリに含まれていなくても、他の多くの外部モジュールをインストールできます。標準ライブラリにはありません。

それとは別に、numpy、re、doctest/unittest、そしておそらく pickle を紹介します。

于 2009-09-21T13:02:44.407 に答える
5

リストに urllib2 を追加します。

于 2009-09-21T11:30:12.853 に答える
4

operator、すでに述べたものの横。

于 2009-09-21T13:55:19.873 に答える
3

datetime、weakref、pickle、StringIO、heapq がスレッド化されている可能性があることを忘れないでください。

また、numpy も言及する価値がありますが、標準ライブラリからのものではありません。

于 2009-09-21T13:45:27.880 に答える
3

os と os.path: これらは、Python でプラットフォームに依存しないコードを記述するために必要なコア モジュールであり、os と os.path を学習した後、学生はシェル スクリプトから python スクリプトに切り替えることができるためです。

于 2009-09-21T20:19:37.907 に答える
2

ここのみんなは、を除いてすべての重要なものを手に入れたと思いますsys。実際のPythonコードを見ると、sysおそらく最も一般的に使用されているモジュールの1つです(通常はsys.version)。

また、それは実際にはモジュールではありませんが、私は言及し__future__ます。

そして、誰もPythonを使わずにPythonを使うべきではありませんimport this

于 2010-06-16T22:57:58.490 に答える
1

理系の学生にとっては、めったに聞かないが強力なモジュール「networkx」は価値があります。ただし、最初にインストールする必要があります。このモジュールは十分に文書化されています: http://networkx.lanl.gov/index.html

于 2011-03-08T23:31:53.233 に答える
1

あなたが言及したものとは別に、subprocess と sqlite3 モジュールが特に役立つことがわかりました。しかし、学生には、標準ライブラリ モジュール自体のリストを確認することをお勧めします。また、標準ライブラリ以外のモジュールからは、numpy (または numarray) と pyparsing について言及します。

于 2009-09-21T11:19:43.267 に答える
1

モジュールに重りを置きdecimalます。彼らがプログラミングの初心者である場合、浮動小数点の精度の意味を認識していないことは確かです。このdecimalモジュールは、いくつかの数学演算を通じて正確な小数精度を保持する必要がある通貨またはその他の単位を使用する場合に非常に役立ちます。

もちろん、それほど正確である必要がない状況にも触れたいと思うでしょう 。

于 2009-09-21T11:23:32.957 に答える
1

時間がないと生きづらい

>>> # Python shell usage
... import timeit
>>> tt = timeit.Timer("foo = 'time this'", "print 'setup with this arg'")
>>> tt.timeit(number=1000)
setup with this arg
0.00021100044250488281
>>>

[mpenning@Bucksnort ~]$ # Bash shell usage
[mpenning@Bucksnort ~]$ # 5 runs with 1000 samples each.
[mpenning@Bucksnort ~]$ python -m timeit -n 1000 -r 5 -s "print 'setup w/ this arg'" \
    "foo = 'time this'"
setup w/ this arg
setup w/ this arg
setup w/ this arg
setup w/ this arg
setup w/ this arg
1000 loops, best of 5: 0.173 usec per loop
[mpenning@Bucksnort ~]$
于 2011-05-02T10:43:55.320 に答える