ホームページ  >  記事  >  バックエンド開発  >  Python クイック チュートリアル (補足 02): Python のヒント

Python クイック チュートリアル (補足 02): Python のヒント

黄舟
黄舟オリジナル
2016-12-21 17:16:571045ブラウズ

Import module

Import ステートメントは、Python で他のモジュール (つまり、他の .py ファイル) で定義されたオブジェクトを使用するためによく使用されます。

1) __name__ を使用します

Python ライブラリ モジュールを作成するとき、いくつかのテスト ステートメントを実行することがよくあります。このプログラムをライブラリとしてインポートする場合、これらのテスト ステートメントを実行する必要はありません。解決策の 1 つは、インポートする前にモジュール内のテスト ステートメントをコメント アウトすることです。 Python には、__name__ を使用する、より洗練された解決策があります。

以下は簡単なライブラリプログラムTestLib.pyです。 TestLib.pyを直接実行する場合、__name__は「__main__」になります。インポートされた場合、__name__ は「TestLib」になります。

Python

1

2

3

4

5

6

7

8

9

def lib_func (a):

return a + 10

def lib_func_another(b):

return b + 20

if __name__ == '__main__':

test = 101

PRint(テスト))

上記の TestLib を user.py にインポートします。

Python

1

2

import TestLib

print(TestLib.lib_f) unc(120))

試してみることもできますTestLib.py で if __name__=='__main__' を使用し、実行結果を比較します。

2) import を使用するその他の方法

import TestLib as test # TestLib モジュールを参照し、名前を t に変更します

例:

例:

パイソン

1

2

import TestLib as t

print(t.lib_func(120))

from TestLib import lib_func # lib_のみを参照TestLib の func オブジェクトを使用し、TestLib をスキップします参照フィールド

これの利点は、参照されるモジュールのメモリ フットプリントを削減できることです。

例:

Python

1

2

from Test Lib import lib_func

print (lib_func(120))

from TestLib import * # TestLib 内のすべてのオブジェクトを参照し、TestLib 参照フィールドをスキップします

例:

Python

1

2

TestLib よりimport *

print(lib_func(120))

Query

1) 関数のパラメータをクエリします

関数が受け取るパラメータを知りたい場合は、次のメソッドを使用できます。問い合わせてください。

Python

1

2

import Inspection

print (inspect.getargspec(機能))

2)オブジェクトの属性をクエリする

dir() を使用してオブジェクトの属性をクエリすることに加えて、次の組み込み関数を使用してオブジェクトに特定の属性があるかどうかを確認できます:

hasattr(obj, attr_name) # attr_name は文字列です

例:

Python

1

2

a = [ 1,2,3]

print( hasattr( a,'append'))

2) オブジェクトが属するクラスとクラス名をクエリします

Python

1

2

3

a = [1, 2, 3]

print a.__class__

print a.__class__.__name__

3) __base __を使用できますクエリするプロパティ特定のクラスの親クラス:

cls.__base__

例:

Python

1

print(list.__base__)

中国語 (およびその他の非 ASCII エンコーディング) を使用します

Python プログラムの最初の行に #coding=utf8 を追加します。例:

1

2

#coding=utf8

print("How are you?")

は次の方法でも使用できます:

Python

1

2

#-*- コーディング: UTF-8 -*-

print("元気ですか?")

は2進数、8進数、16進数を表します

バージョン2.6以降では、次のように表されます

Python

1

2

3

print(0b1110) # 2 進数、0b で始まります

print(0o10) # 8 進数、0o で始まります

print(0x2A) # 16 進数、0x

で始まります

「はい」の場合、以前のバージョンでは、次のメソッドを使用できます。 print(int("1110", 2))

print (int("10", 8))

print(int("2A", 16))

コメント

1 行のコメントは #

で始めることができます 複数行 コメントはで始めることができます"' で終わり、

Python

1

2

3

4

5など

6

7

8

9

10

'''

これはデモです

'''

def func():

print("Hello world!" ) # print() 関数を使用します

# main

func()

コメントは、それが配置されているプログラム ブロックと整列する必要があります。

検索パス

インポートするとき、Python は検索パスでモジュールを探します。たとえば、上記のインポート TestLib では、TestLib.py が検索パスに存在する必要があります。

次のメソッドで検索パスを表示できます:

Python

1

2

import sys

print(sys.path)

Python の実行中に sys.path 内の要素を追加または削除できます。一方、シェルに PYTHONPATH 環境変数を追加することで、Python の検索パスを増やすことができます。

ここで、/home/vamei/mylib を検索パスに追加します:

$export PYTHONPATH=$PYTHONPATH:/home/vamei/mylib

コマンドの先頭行を ~/.bashrc に追加できます。このようにして、長期的には探索経路を変更します。

スクリプトとコマンドラインの組み合わせ

スクリプトの実行が完了したら、次の方法を使用して Python コマンドラインを実行できます。この利点は、スクリプト オブジェクトがクリアされず、コマンド ラインから直接呼び出すことができることです。

$python -i script.py

非標準パッケージをインストールする

Python の標準ライブラリは Python とともにインストールされます。標準以外のパッケージが必要な場合は、最初にそれらをインストールする必要があります。

1) Linux リポジトリを使用します (Linux 環境)

これは、Python アドオン パッケージをインストールするための良い開始点です。 Linux リポジトリで使用可能な Python パッケージを検索できます (たとえば、Ubuntu ソフトウェア センターで matplot を検索します)。

2) pip を使用します。 pip は Python 独自のパッケージ管理プログラムで、Python リポジトリに接続し、そこに存在する可能性のあるパッケージを検索します。

たとえば、web.py をインストール、アンインストール、またはアップグレードするには、次の方法を使用します。

$pip install web.py

$pip uninstall web.py

$pip install –upgrade web.py

/home/vamei/util/python/bin などの非標準パス (Python 実行可能ファイルのパスを確認するには $what python を使用) にインストールされている場合は、次の方法を使用してそのパスを設定できます。 pip インストール パッケージ:

$ pip install –install-option=”–prefix=/home/vamei/util/” web.py

3) ソース コードからコンパイルします

上記の方法のいずれでもライブラリが見つからない場合は、必要な場合は、ソース コードのコンパイルから開始する必要がある場合があります。多くの場合、Google から始めるのが最適です。

上記は、Python クイック チュートリアル (補足 02): Python のヒントの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。