ホームページ  >  記事  >  バックエンド開発  >  関数の基本(Python)

関数の基本(Python)

不言
不言オリジナル
2018-04-04 15:54:051368ブラウズ

この記事の内容は Python 関数の基本的な知識ですので、必要な方は記事の内容を参照してください。

関数: プログラム開発時に特定のコードが何度も必要になるが、記述効率とコードの再利用を向上させるために、独立した機能を持つコードブロックを小さなモジュールにまとめたものです
これが関数です

関数定義とcall

<1>関数を定義する
関数を定義する形式は次のとおりです:

using using using


- コード、これらのコードを実行したい場合は、それを呼び出す必要があります

関数の呼び出しは非常に簡単です。関数名 () を使用して呼び出しを完了できます。関数を定義するときに、関数にデータを受信させることができます

定義 パラメータを持つ関数の例は次のとおりです。

def add2num(a, b):
c = a+b
print c

gt; パラメーターを指定して関数を呼び出します

add2num(a , b) 関数の例: 関数 DEF ADD2NUM (A , B):
C = A+B
Print C

Add2num (11, 22) #パラメーターを使用して関数を呼び出す場合、データを渡す & & lt; 小さな概要
;
小括弧内のパラメータは、「仮パラメータ」を呼び出すときに小括弧内のパラメータと呼ばれるパラメータを受け取るために使用され、それを関数に渡すために使用されます。「実パラメータ」と呼ばれます。

関数の戻り値 (1. )

<1> 「戻り値」の概要

いわゆる「戻り値」とは、プログラム内の関数が 1 つのことを完了した後に呼び出し元に与えられる最終結果です

<2>戻り値のある関数function関数の結果を発信者に返す場合は、関数で返品を使用する必要があります。次の例は次のとおりです。タバコを買う" "「最後に息子があなたにタバコをくれたとき、あなたは息子からそれを奪ったはずですよね? プログラムについても同じことが当てはまります。関数がデータを返し、そしてあなたがデータを返したい場合、このデータを使用するため、保存する必要があります

関数の保存 戻り値の戻り値は次のとおりです:

#関数を定義します
DEF ADD2NUM (A, B):
Return a+B

#関数を呼び出します、ちなみに、関数の戻り値を保存します
Result = ADD2UM (100,98)

#Result は ADD2NUM の戻り値を保存しているため、
Print Result

結果を使用できます:

198



関数の戻り値(2)
Pythonでは複数の値を返すことができるのか? &gt;&gt; sh、yu = pid(5、2)compled lutceが合計に4つのタイプがあるかどうかに応じて互いに組み合わせることができますパラメーターなし、戻り値なし
' ' ' s ' s ' s ‐ ‐ ‐ ‐ to to
use using ’ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ 一般にprintと同様の関数には戻り値がありません。プロンプトライトが使用されます。一般的に、データを使用するように、最初にデータを返すことをシミュレートします戻り値能 このような関数はパラメータを受け取ることができますが、データを返すことはできません。通常、アプリケーションは、結果のない特定の変数にデータを設定するときに使用されます。このような関数は、パラメータを受け取るだけでなく、特定のデータを返すこともできます。データ処理と結果の必要性が使用されます。
1~100の累積和は5050

関数呼び出し時にデフォルトパラメータの値が渡されなかった場合、それがデフォルト値とみなされます。次の例では、年齢が渡されなかった場合、デフォルトの年齢が出力されます。

print "Age ", age In# PrintInfo 関数を呼び出す
Printinfo (name = "miki")
Printinfo(年齢=9歳、名前=「みき」) )

上記例 出力結果:

name: miki
Age 35

名前: ミキ: 年齢 9 歳

注: デフォルト値を持つパラメーターはパラメーター リストの最後にある必要があります。

&gt; lt; stdin&gt; "、in syntaxerror:非デフォルト引数はデフォルトの引数に従います。これらのパラメータは可変長パラメータと呼ばれ、宣言時に名前が付けられません。 : 基本的な文法は次のとおりです。 语 DEF FUNCTIONNAME ([Formal_args,] *ARGS, ** KWARGS):
"Function _ Document strings"
Function_Suite
Return [Expression]

ARGS ( *) variable ARGS すべての名前のない変数パラメータは、 ARGS はメタグループであり、変数 Kwargs と ** は名前付けパラメータ (key = value のようなパラメータ) を格納します。KWARGS は辞書です。

>> ... print "b =", b
... prop "args =", args
... print "kwargs:"
... kwargs.items のキー、値 ( ):
... key、 "="、value
= 1>>>> fun(1, 2, *c, **d) # タプルと辞書のパラメータの受け渡し方法に注意
a = 1
b = 2
args = (3, 4, 5 )
kwargs:
> # アスタリスクを追加しないことと上記の違いに注意してください
a = 1
b = 2
args = ((3, 4, 5), {'p': 8, 'm': 6, 「n」: 7})
,,,,, 変数型と不変型の変数をそれぞれ関数のパラメータとして使用する場合に違いはありますか?
Python ではポインタで渡されるのでしょうか?

...
;&gt;&gt;a_int
a_list
[1、2、1、2]

パラメーターは参照によって渡されます(値で渡されないことに注意してください)。不変型の場合、従属変数は変更できないため、操作は変数自体に影響しません。可変型の場合、関数本体内の操作により、渡されたパラメーター変数が変更される可能性があります。関数

DEF TESTB () のネストされた呼び出し:
Print ('----- Testb Start ----')
Print ('これは testb 関数によって実行されるコードです')
Print (' ---- -- testB 終了 ----')


def testA():

print('---- testA 開始 ----')

testB()

testA 開始----
testA() -St testb 関数によって実行されるコード


---- TESTB END ----
---- TESTA END ----

think&実装1は、水平線を印刷するための関数を書き込みますcustomカスタム数の水平線を印刷する
def printnumline(num)と

3 つの数値の平均値を求める関数を作成します。B、C): t Return A+B+C # Return は、式でも使用できます

# 3 つの数値の平均値を完成させます。 sum3Number 関数は既に 3 つの数値の合計を計算しているため、呼び出す必要があるだけです
= Sumresult/3.0
Return averesult

# 関数を呼び出し、3 つの数値の平均値を完成させます
結果 = 平均 3 数値 (11,2,55)
Print ("Average is %d" %result) ローカル変数は関数内で定義される変数です。異なる関数で同じ名前のローカル変数を定義できますが、一時的に保存するために異なる名前を使用してもローカル変数の役割には影響しません。データを保存するには、関数内で変数を定義する必要があります

グローバル変数
変数が関数または他の関数で使用できる場合、その変数はグローバル変数です

デモは次のとおりです。次のとおりです。###define logal valiable
test1()
test2()

関数変数の外側で定義されている
はグローバル変数と呼ばれます
グローバル変数はすべての関数でアクセスできます。グローバル変数を使用して宣言する必要があります。そうしないとエラーが発生します
グローバル変数の名前がローカル変数の名前と同じ場合は、ローカル変数を使用してください。ちょっとしたトリックを使用すると、ローカル スネークを圧倒することがなくなります。


再帰関数
関数が他の関数を内部的に呼び出すのではなく、それ自体を呼び出す場合、この関数は再帰関数です。
たとえば、階乗 n! = 1 * 2 * 3 * ... * n
def calNum(num):
i = 1
turn *= i
,、、、 、、、、、、、、、、、、、、、、、、、、、、、i+=1 の場合、、このタイプの関数の名前は、def を使用して関数を宣言する標準手順が省略されるという事実に由来しています。

lambda 関数の構文には、次のように 1 つのステートメントのみが含まれます:

lambda [arg1 [,arg2,...argn]]:expression

次の例:

sum = lambda arg1, arg2: arg1 + arg2

#sum関数を呼び出す
ウェイ アウト ウェイ ' オフ ‐ ‐ ‐ ‐ ‐ ‐ , アウト スルー オフ ’ s ’ s ’ s through ’s ’ s through ’ ’s ‐to ‐ ‐ ‐w s to
合計値: 40

Lambda 関数は任意の数のパラメーターを受け取ることができますが、式の値のみを返すことができます

lambda には式が必要なため、匿名関数は print を直接呼び出すことができません
アプリケーション シナリオ
関数は次のように渡されますパラメーター自身が関数を定義する

"opt(a、b)
...&gt;&gt;&gt; fun(1、2、lambda x、y:x+y)
a=1
b = 2
result = 3

関数

の組み込みパラメーターとして 考えてみてください。次のデータを年齢や名前でソートするように指定するにはどうすればよいでしょうか。 " age":17}
]

名前で並べ替えます:

>>> stus.sort(key = lambda x:x['name'])
>>>年齢 ': 19, '名前': 'lisi'}, {'年齢': 17, '名前': '王武'}, {'年齢': 18, '名前': '張三'}]

並べ替え年齢 :

>>> stus.sort(key = lambda x:x['年齢'])
>>> stus
[{'年齢': 17, '名前': '王武' } , {'age': 18, 'name': 'zhangsan'}, {'age': 19, 'name': 'lisi'}]

関数使用上の注意

1.カスタム関数

1>パラメーター、返品値なしout right out right out right out right out right out right out right past right past right out back‐ back‐ downBack‐‐‐‐Th 彼女.底 関数の戻り値があるかどうかは、Return があるかどうかに依存します。データを返してください
開発では、値を返す必要があるかどうかに応じて関数を設計することがよくありますが、関数内には複数の return ステートメントが存在する可能性がありますが、1 つの return ステートメントが実行されると、その関数の呼び出しは完了したことになります。 <3> パラメータあり、戻り値なし

def 関数名 (パラメータリスト):
ステートメント

' s 'の の の の の の の アウトアウトアウトアウトアウトアウトアウトアウトout out off to ' s ' s''''''''''''''''''''''‐ 基本を



変数は、実際に転送されたデータの量に基づいています。

&lt;関数には正式なパラメーターがあります。
3. アクティビティドメイン

& lt; 1 & gt; 関数内で定義された変数 (ローカル変数)





<2> 関数の外で定義された変数はすべての関数 (グローバル変数)
関連する推奨事項:


Python 基本関数の紹介

以上が関数の基本(Python)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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