Python 2.6がリリースされた今、すべてのプログラマーが現在言語で使用しているモジュールについて知っておくべきことは何ですか?

StackOverflow https://stackoverflow.com/questions/168727

質問

Pythonの便利な機能の多くは、やや「隠された」ものです。内部モジュール。たとえば、名前付きタプル( Python 2.6 の新機能)は、コレクションモジュール。

ライブラリドキュメントページは、言語のすべてのモジュールを提供しますが、Pythonの初心者「ああ、Pythonを使用してこのようにできたとは知らなかった!」言語の重要な機能が経験豊富な開発者によって指摘されていない限り。

私は Python 2.6の新しいモジュールを特に探しているのではありません。しかし、この最新リリースにあるモジュールを探しています。

役に立ちましたか?

解決

必須ライブラリ

別の言語からPythonに移行する経験豊富なプログラマーの主な課題は、ある言語が別の言語にどのようにマッピングされるかを把握することです。いくつかの重要なライブラリと、それらがJavaの同等物とどのように関係するかを以下に示します。

os, os.path 

java.io.File、java.lang.Processなどの機能があります。しかし、Unix風味の、よりクリーンで洗練されたものです。高レベルの機能を使用するには、osの代わりにos.pathを使用します。

sys 

sys.path(クラスパスのような)を操作し、終了ハンドラー(java Runtimeオブジェクトのような)を登録し、java.lang.Systemのように標準I / Oストリームにアクセスします。

unittest 

非常によく似た(およびベースの)jUnit、テストフィクスチャと実行可能なハーネス。

logging 

ログレベルとロガーを備えたlog4jとほぼ同じ機能。 (ロギングは標準のjava.util.Loggingライブラリにもあります)

datetime  

java.text.DateFormat、java.util.Dateおよび関連のように、日付と時刻の解析とフォーマットを許可します。

ConfigParser  

javaプロパティファイルのように永続的な構成を許可します(ただし、ネストも許可します)。これは、XMLやデータベースバックエンドの複雑さが不要な場合に使用します。

socket, urllib 

ソケットの操作、またはURL / URIを介したコンテンツの取得のためのjava.netの機能と同様の機能。

また、ファイルの読み取りやコレクションの操作など、基本的な機能の多くはpythonコア言語にありますが、Javaではパッケージに含まれていることに注意してください。

他のヒント

最も印象的な新しいモジュールは、おそらく multiprocessing モジュールです。 1つ目は、 threading モジュールとほぼ同じAPIを使用して、新しいプロセスで関数を簡単に実行できるためです。しかし、より重要なのは、プロセス間で通信するための優れたクラスが多数導入されていることです。たとえば、 Queue クラスや Lock クラスは、これらのオブジェクトと同じように使用されますマルチスレッドコード、およびプロセス間でメモリを共有するためのその他のクラス。

ドキュメントは http://docs.python.org/library/multiprocessingにあります。 .html

新しい json モジュールは本当に有益ですWebプログラマーに!! (標準ライブラリにマージされる前は、 simplejson として知られていました。 )

これはとてつもなく使いやすい: json.dumps(obj)は組み込み型のPythonオブジェクトをJSON文字列にエンコードし、 json.loads(string) JSON文字列をPythonオブジェクトにデコードします。

本当に便利です。

PEP 0631 および 2.6の新機能は、答えの要素を提供できます。この最後の記事では、2008年10月1日にリリースされたPython 2.6の新機能について説明します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top