-
Python関数をオーバーロードするにはどうすればよいですか?
Pythonでは、メソッドを呼び出す方法が複数あるようにメソッドを定義できます。関数の定義に応じて、0、1、2、またはそれ以上のパラメーターを使用して呼び出すことができます。これはメソッドのオーバーロードとして知られています。 与えられたコードには、sayHello()という1つのメソッドを持つクラスがあります。以下のように書き直します。このメソッドの最初のパラメーターはNoneに設定されています。これにより、パラメーターの有無にかかわらず呼び出すオプションが提供されます。 オブジェクトはクラスに基づいて作成され、ゼロと1つのパラメーターを使用してそのメソッドを呼び出します。メソッドのオー
-
Python関数でグローバル変数を使用するにはどうすればよいですか?
グローバルおよびローカルという用語は、スクリプトまたはプログラム内の変数の到達範囲に対応します。グローバル変数は、どこからでもアクセスできる変数です。ローカル変数には、そのフレーム内でのみアクセスできます。ローカル変数にグローバルにアクセスすることはできません。 グローバル変数は、関数の外部で定義および宣言され、どこでも使用できる変数です。 同じ名前の変数が関数のスコープ内で定義されている場合、その変数は関数内で指定された値のみを出力し、グローバル値は出力しません。 指定されたコードは、関数fooの内部と外部の両方でグローバル変数にアクセスする方法を示すように書き直されています。 例 #
-
Pythonオブジェクトからソースコードを取得する方法は?
inspectモジュールのgetsource()メソッドを使用して、関数のソースコードを取得します。 inspect.getsource(object) オブジェクトのソースコードのテキストを返します。引数は、モジュール、クラス、メソッド、関数、トレースバック、フレーム、またはコードオブジェクトです。ソースコードは単一の文字列として返されます。ソースコードを取得できない場合、IOErrorが発生します。 関数が文字列からコンパイルされているか、ストリームであるか、コンパイルされたファイルからインポートされている場合、そのソースコードを取得することはできません。 次のように、検査モジュールを
-
実行時にPython関数をどのように定義できますか?
タイプモジュールをインポートし、その関数types.FunctionType()を次のように使用することで、Python関数を定義し、実行時に実行できます。 このコードは、示されているようにPythonプロンプトで機能します。まず、typesモジュールをインポートします。次に、コマンドdynf=…;を実行します。次に、関数dynf()を呼び出して、次のような出力を取得します >>> import types >>> dynf = types.FunctionType(compile('print "Really Works"
-
Python関数はどのようにして関数を返すことができますか?
Pythonはファーストクラスの関数をサポートしています。実際、Pythonのすべての関数はファーストクラスの関数です。 Pythonは関数から関数を返し、リストなどのコレクションに関数を格納し、通常は変数やオブジェクトと同じように扱います。 他の関数で関数を定義し、関数を返すことはすべて可能です。 指定されたコードは次のように作り直されています。関数内で関数を定義し、これらを返します。 例 def f2(c, d): return c, d def f1(a, b): c = a + 1 d = b +
-
Python関数を関数の引数として渡す方法は?
Pythonは、最初のパラメーターが関数である次のメソッドを実装します- map(function、iterable、...)-iterableのすべてのアイテムに関数を適用し、結果のリストを返します。 関数を引数として渡すことができるカスタム関数を作成することもできます。 指定されたコードを書き直して、mapメソッドを使用して関数sqr(x)を関数の引数として渡します。 例 s = [1, 3, 5, 7, 9] def sqr(x): return x ** 2 print(map(sqr, s)) We can as well use lambda function to get s
-
階乗を見つけるために再帰的なPython関数を書く方法は?
次のコードは、n=6およびn=15の階乗を計算します 例 def factorial(n): if n == 1: return 1 else: res = n * factorial(n-1) return res print ("factorial(6) = %d" %factorial(6)) print ("factorial(15) = %d" %fact
-
Python関数はオブジェクトですか?
Pythonは、defステートメントを使用するとき、またはラムダ式を使用するときに、関数オブジェクトを作成します。 次のように、関数オブジェクトに属性を割り当てて取得できます 例 def foo(): pass foo.score = 20 print(type(foo)) print(foo.score) print(type(lambda x:x)) 出力 次の出力が得られます C:/Users/TutorialsPoint1/~.py <type 'function'> 20 <type 'function'> はい、Python
-
一部のPython関数の前後にアンダースコア__が付いているのはなぜですか?
上記のように先頭と末尾に2つのアンダースコアが付いた名前は、基本的にPython組み込み関数用に予約されていることに注意してください。同様の名前を使用しない方がよいでしょう。
-
コマンドラインからPython関数を実行する方法は?
コマンドラインからこの関数を実行するには、次のように-c(コマンド)引数を使用できます。 $ python -c 'import foobar; print foobar.sayHello()' または、次のように書くこともできます: $ python -c 'from foobar import *; print sayHello()' またはこのように $ python -c 'from foobar import sayHello; print sayHello()' 出力 Hello
-
コマンドラインからPythonモジュールを呼び出す方法は?
モジュールとして使用されるPythonスクリプトを作成している場合は、この関数の呼び出しを下部に追加することで、このモジュールをテストできます。 def fubar(): #does something useful fubar() 次のようなコマンドプロンプトで実行します: ~$ python fubar.py
-
Python関数はjavascriptのようにhtmlで実行できますか?
Pythonインタープリターが含まれていないため、最新のブラウザーでPythonを実行することはできません。 Javascriptは、FlashやActiveXなどのプラグインなしでブラウザで実行される唯一の言語です。 ブラウザで実行されるPythonコードを作成する1つの方法は、「トランスパイラー」を使用することです。これは、PythonコードをJavascriptにコンパイルするツールです。したがって、ブラウザは最終的にはそれが知っている言語を実行していますが、あなたはPythonを書いています。 CoffeeScript、TypeScript、さらには生のjavascriptにコンパイ
-
Pythonのグローバル変数とローカル変数の違いは何ですか?
グローバル変数は、グローバルにアクセスできる変数です。ローカル変数は、単一の関数定義で使用される一時変数など、現在のスコープにのみアクセスできる変数です。 例 指定されたコード内 q = "I love coffee" # global variable def f(): p = "Me Tarzan, You Jane." # local variable print p f() print q 出力 出力は次のとおりです Me Tarzan, You Jane. I love cof
-
PythonでLambda関数を使用する方法は?
これらは基本的に実行時に作成される匿名の1行関数であり、関数の名前にバインドされていません。 それらはその場で関数の定義を返します。 Lambda関数にはreturnステートメントは含まれていません。常に、式を返します。 関数が期待される場所ならどこにでもラムダ定義を置くことができます。 1回だけ使用され、1つの場所からのみ呼び出される関数があるとすると、ラムダ関数を使用できます。 したがって、名前を付ける必要はなく、そこで機能を定義することができます。したがって、関数の使用を排除し、Lambda式を使用します。 構文 lambda argument: manipulate(argu
-
Pythonの無名関数とは何ですか?
Pythonでは、無名関数は名前なしで定義される関数です。通常の関数はdefキーワードを使用して定義されますが、Pythonでは無名関数はlambdaキーワードを使用して定義されます。したがって、無名関数はラムダ関数とも呼ばれます。 指定されたコードを実行すると、次の出力が得られます C:/Users/TutorialsPoint1/~.py [(13, -3), (4, 1), (1, 2), (9, 10)]
-
Pythonで*argsと**kwargsを使用するにはどうすればよいですか?
Pythonでは、単一アスタリスク形式の* argsをパラメーターとして使用して、キーワード以外の可変長引数リストを関数に送信できます。ここではアスタリスク(*)が重要であり、argsという単語とともに、キーワード以外の引数の可変長リストがあることを意味します。 例 *argsの特定のコードは次のように書き直されます def multiply(*args): y = 1 for i in args: y = y * i print y multiply(
-
Python関数で変数スコープはどのように機能しますか?
Pythonの変数は、それに値を割り当てるときに定義されます。 Cや他の言語のように、事前に宣言することはありません。使い始めたばかりです。 x = 141 ファイルまたはモジュールのトップレベルで宣言する変数はすべてグローバルスコープにあります。関数内でアクセスできます。 変数は、その仕事をするために必要な最も狭い範囲を持つ必要があります。 例 与えられたコードで x = 141 def foo(): x = 424 #local variable print x foo() print x 出力 424 141 説明 foo内の
-
Pythonでreturnステートメントを使用するのはなぜですか?
print()関数は、コンソールに文字列または数値を書き込みます。つまり、「印刷」します。 returnステートメントは、関数が呼び出されたときに返す値を出力しません。ただし、関数の最後のステートメントでなくても、関数はすぐに終了または終了します。 値を返す関数は、実りある関数と呼ばれることもあります。他の多くの言語では、値を返さない関数はプロシージャと呼ばれます。 指定されたコードでは、関数foo()が呼び出されたときに返される値(つまり2)が関数bar()で使用されます。これらの戻り値は、以下に示すようにprintステートメントが使用された場合にのみコンソールに出力されます。 例 def
-
Python関数の引数の数を見つけるにはどうすればよいですか?
次のようなスクリプトqux.pyがあるとします #qux.py def aMethod1(arg1, arg2): pass def aMethod2(arg1,arg2, arg3, arg4, arg5): pass このスクリプトの内容にアクセスできないと仮定すると、次のように、指定された関数の引数の数を見つけることができます Python関数内のパラメーター名のリストを見つけるには、inspectモジュールをインポートし、指定されたスクリプトqux.pyもインポートします。 inspect.getargspec(
-
Pythonで関数を定義する方法は?
関数は、名前で呼び出されるコードの一部です。操作するデータ(つまり、パラメーター)を渡すことができ、オプションでデータ(戻り値)を返すことができます。関数に渡されるすべてのデータは明示的に渡されます。 関数を定義する構文 def function_name(): #do something 関数は、スペースに続くキーワードdefと、括弧とコロンを含むfunction_nameを使用して定義されます。次の行には、何かを行うためのインデントされたコードブロックが含まれています メソッドは、オブジェクトに関連付けられている関数です。 Pythonでは、メ