python学習ノート3.1-関数
6433 ワード
データ構造を理解した後、関数を書く必要があります.関数は最もよく使われるパッケージコードの方式で、特殊な機能を持つコードを1つの関数にカプセル化し、何度も繰り返し呼び出し、プログラミング量を減らすだけでなく、私たちのコードをより簡潔にすることができます.開発者が関数を適切に使用できることは、彼のレベルを測定する基準の一つです.python言語で関数を定義、呼び出す方法について説明します.
1関数の定義
python関数で定義される標準フォーマットは、次のとおりです.
defは関数定義のキーワードであり、同時に末尾の:必ず失わないでください.returnキーワードは需要に応じて選択され、ある関数は出力されていないので、returnは必要ありません.例:
関数にreturnが含まれている場合は、returnの後ろに操作があるのではなく、関数がreturnに実行された後に関数を終了するので、return以降の操作は実行されません.
2関数の呼び出し
ほとんどのプログラミング言語と同様に、関数の定義は必ず関数の呼び出しの前にしなければならない.python呼び出し関数は特に便利です.
3関数のパラメータ
関数のパラメータは関数インタフェースの最も重要な部分であり、一般的に関数のパラメータを位置パラメータ、可変パラメータ、キーワードパラメータに分け、デフォルトのパラメータを合理的に利用することもできます.-3.1位置パラメータ
ここでのパラメータx,yは位置パラメータであり,位置パラメータについてはその位置でパラメータ名に対応するので,使用する際には注意が必要である.
位置パラメータを使用する場合、あるパラメータにデフォルト値がある場合は、デフォルトパラメータを使用できます.
最後の2つの例では、関数を呼び出すときにパラメータ名インデックスパラメータが値すると固定位置がないことを示します. 3.2可変パラメータとキーワードパラメータ プログラミングの時、私たちはいつも1種の有無のパラメータの問題に出会って、pythonは私たちに2種類の解決策を提供しました:*argsと**kwargs、まずどんな意味を説明します.
次に、いくつかの例を示します. 3.3 lambda式 C言語では、マクロ定義の方法で匿名関数を実現することができ、pythoner freshmanとしてPythonでどのように匿名関数を実現するかを探求するに違いない.Pythonの開発者は、lambdaというキーワードを提供しています.
Lambdaの意味:lambdaを使用すると、関数を定義することなく直接使用することができます.例えば、
画面出力:55例から分かるように、lambdaの構文は:
Lambdaの使い方は簡単ですが、とても便利で、よく使われるキーワードで、同時に任意の位置で使用できます.
1関数の定義
python関数で定義される標準フォーマットは、次のとおりです.
def ( ):
return
defは関数定義のキーワードであり、同時に末尾の:必ず失わないでください.returnキーワードは需要に応じて選択され、ある関数は出力されていないので、returnは必要ありません.例:
# return
def get_add(x,y):
return x+y+x*y
# return
def show(show_data):
print(show_data)
関数にreturnが含まれている場合は、returnの後ろに操作があるのではなく、関数がreturnに実行された後に関数を終了するので、return以降の操作は実行されません.
# return print()
def get_add(x,y):
return x+y+x*y
print(x+y)
2関数の呼び出し
ほとんどのプログラミング言語と同様に、関数の定義は必ず関数の呼び出しの前にしなければならない.python呼び出し関数は特に便利です.
= ( )
:
s = get_add(10,15)
show('res')
3関数のパラメータ
関数のパラメータは関数インタフェースの最も重要な部分であり、一般的に関数のパラメータを位置パラメータ、可変パラメータ、キーワードパラメータに分け、デフォルトのパラメータを合理的に利用することもできます.-3.1位置パラメータ
def get_add(x, y):
return x+y+x*y
a = get_add(5, 10)
b = get_add(10,5)
# a b ,
ここでのパラメータx,yは位置パラメータであり,位置パラメータについてはその位置でパラメータ名に対応するので,使用する際には注意が必要である.
位置パラメータを使用する場合、あるパラメータにデフォルト値がある場合は、デフォルトパラメータを使用できます.
def get_add(x, y=10):
return x+y+x*y
a = get_add(5)
b = get_add(5, y=11)
def get_add(x, y=10):
return x + y + x * y
#
b = get_add(5, 11)
print(b)
b = get_add(x=1, y=2)
print(b)
b = get_add(y=2, x=1)
print(b)
最後の2つの例では、関数を呼び出すときにパラメータ名インデックスパラメータが値すると固定位置がないことを示します.
- (1)*argv (tuple), , : (tuple)。
- (2)**kwargv (dict), , : (dict)
, *args **kwargs, *args **kwargs 。
,args kwargs ,
, * **,* ** Python ,
* , Tuple 。
**
, dict 。
次に、いくつかの例を示します.
# noname args
def test_args(name,*noname):
print(name)
print(noname[0])
print(noname)
test_args('hello',4,63,44)
:
hello
4
(4 63 44)
#kwargs
def test_kwargs(name,**kwargs):
print('name')
print(kwargs)
test_kwargs('hello',a1=1,a2='5',a3='hell0 world')
:
name
{'a1': 1, 'a2': '5', 'a3': 'hell0 world'}
: * ** , args kwargs, * **
Lambdaの意味:lambdaを使用すると、関数を定義することなく直接使用することができます.例えば、
y = lambda x,z:5+9*x+8*z
print(y(2,4))
画面出力:55例から分かるように、lambdaの構文は:
lambda input : output expression
Lambdaの使い方は簡単ですが、とても便利で、よく使われるキーワードで、同時に任意の位置で使用できます.