機能
これまでのところ、すべてのコードを app.py に書いてきましたが、プログラムが大きくなるにつれて、コードを整理するためのより良い方法が必要になります。 コードを、関数と呼ばれる、より小さく、管理しやすく、保守しやすいチャンクに分割する必要があります。 関数は、特定のタスクを実行する数行のコードのコンテナーです。
たとえば、Python のいくつかの組み込み関数についてはすでに学習済みです。 print()
& input()
. 各機能には目的があり、特定のタスクを実行する方法を知っています。 したがって、大規模で複雑なプログラムを作成するときは、コードを再利用可能な小さなチャンク、つまり関数に分割する必要があります。
挨拶メッセージを印刷するプログラムを作成して、この概念を理解しましょう。
print('Hi there!')
print('Welcome aboard!')
ここに、コードが XNUMX 行しかない単純なプログラムがあります。 さて、たとえば、再利用できる関数にそれらを配置するために、他のプログラムでそれらが必要になるとしましょう。
予約キーワードを紹介しましょう def
これは define の略で、関数の定義に使用されます。
def greet_user():
print('Hi there!')
print('Welcome aboard!')
このコードブロックは関数を定義します。greet_user
」 その後のコード行。 この関数が呼び出されるたびに、これらの XNUMX つの行が実行されます。 これを使用しましょう:
print('start')
greet_user()
print('finish')
プログラムは順次実行されます。つまり、関数をプログラムで呼び出す前に定義する必要があります。
計測パラメータ
定義済み関数は、Python の組み込み関数とは少し異なります。 たとえば、 print()
出力したい情報を受け取りますが、greet 関数は情報を受け取りません。 ここでユーザーの名前を渡して、「こんにちは」と言う代わりにユーザーの名前を出力できたらもっといいと思いませんか?
これを行うには、定義された関数の括弧内にパラメーターを追加します。 披露させて:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
今、「name
” は、ローカル変数のように機能し、呼び出すときにユーザーの名前を渡すことができます。
greet_user('Shahbaz')
これで name パラメータが「Shahbaz
」。 それを利用するためにプログラムを変更しましょう。
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
注意すべき重要なことは、最初の行の「名前」はパラメーターと呼ばれ、指定された名前、つまり Shahbaz は引数と呼ばれることです。
このプログラムを実行してみましょう。
したがって、これらのパラメーターを使用して、関数で情報を受け取ることができます。
では、面白いことをしましょう。 挨拶メッセージに別の名前を追加したいとしましょう。 それは簡単です。
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
関数にパラメーターがある場合、そのパラメーターの値を渡す義務があることに注意してください。 関数から名前を削除してプログラムを実行すると、エラーが発生します。 コンマで区切って、XNUMX つの関数で複数のパラメーターを使用することもできます。
たとえば、 greet_user(first_name, last_name):
. 引数も同様にフォーマットされます。
キーワード引数
これまでのところ、関数のパラメーターを定義するときは常に値を指定する必要があり、そうしないとエラーが発生することを学びました。 最後のプログラムでは、引数 'Shahbaz'
& 'Bhatti'
これらは位置引数と呼ばれ、プログラム内での位置または順序が重要であることを意味します。
Python には、キーワード引数と呼ばれる別の種類の引数があり、位置は関係ありません。 それらがどのように機能するかをお見せしましょう。
最後のプログラムを見てください。 次のように変更できます。
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
今すぐ first_name
& last_name
はキーワード パラメータです。 それらの場所を入れ替えることができ、結果は同じになります。
これは、常にキーワード引数を使用する必要があるという意味ではありません。 ほとんどの場合、位置引数を使用しますが、特定の状況では、これらのキーワード引数がコードの可読性を向上させるのに役立ちます。
キーワード引数について知っておくべきことがもう XNUMX つあります。 キーワード引数は常に位置引数の後に来る必要があります。
リターンステートメント
ここまでで、関数を作成し、パラメーターを使用して関数に情報を送信する方法を学びました。 それでは、値を返す関数を作成する方法を学びましょう。 これは、ある種の計算を行っていて、その関数を使用している人に結果を返したい場合に特に便利です。 披露させて。
数値の二乗を計算する関数を定義しましょう。
def square(number):
return number*number
return ステートメントを使用して、関数の外でこの数値を返しました。 さて、この関数を呼び出すと、 input()
関数。 ターミナルで印刷してみましょう。
return ステートメントを使用しなくても同じ結果が得られると主張できます。 それをチェックしよう。
9 という数字が XNUMX つ表示されますが、何も表示されません。 ここで何が起きてるの?
Python インタープリターがこのコードを実行すると、最初に square 関数が呼び出され、コントロールが関数に移動します。 ここでは、この与えられた数値の XNUMX 乗を計算し、それを端末に出力します。
現在、デフォルトでは、すべての関数が値 none を返します。 したがって、ここに return ステートメントがない場合、デフォルトでは Python は何も返しません。 None は、値がないことを表すオブジェクトです。 C、C++、Java、および Javascript では、何もないか null のようなものです。
要約!
関数の重要性が理解できたと思います。
コーディングのキャリアの中で大規模で複雑なプログラムを作成することを計画している場合、これらは Python 学習の重要な側面です。
コメントを残す