ホームページ  >  記事  >  バックエンド開発  >  Python の関数呼び出しとパラメーターの受け渡し (分析例)

Python の関数呼び出しとパラメーターの受け渡し (分析例)

乌拉乌拉~
乌拉乌拉~オリジナル
2018-08-15 13:51:427077ブラウズ

今日の記事では、Python の関数呼び出しとパラメーターの受け渡しに関する知識について学びます。関数とは何かを理解した後、python が関数をどのように使用するかを理解する必要があります。 結局のところ、関数が何であるかだけを知っていて、Python で関数を呼び出す方法がわからない場合は、関数の定義を知っているだけでは役に立ちません。関数を呼び出す方法を学び始めましょう。

関数呼び出し: 関数の定義では、関数に名前を付け、関数に含まれるパラメーターとコード ブロック構造を指定するだけです。この関数の基本構造が完成したら、別の関数呼び出しを通じて、または Python プロンプトから直接実行できます。次の例では、printme() 関数を呼び出します。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 定义函数
def printme( str ):
   "打印任何传入的字符串"
   print str;
   return;
 
# 调用函数
printme("我要调用用户自定义函数!");
printme("再次调用同一函数");

上記の例の出力結果は次のとおりです。

我要调用用户自定义函数!
再次调用同一函数

これは非常に単純なので、理解するには実験するだけで済みます。

次に、パラメータの受け渡しについて説明します。 Python では、型はオブジェクトに属し、変数には型がありません。

次のコーディングを参照してください:

a=[1,2,3]
 
a="Runoob"

(上記のコードでは、[1,2,3] はリスト型、「Runoob」は文字列型、変数 a は型はありません。これはオブジェクト (ポインター) への単なる参照であり、List 型オブジェクトまたは String 型オブジェクトにすることができます。)

Changeable (可変) およびimmutable (不変) オブジェクト

(Python では、文字列、タプル、数値は不変オブジェクトですが、リスト、辞書などは変更可能なオブジェクトです。)

##1. 不変型: 変数に a=5 が割り当てられた後、a=10 が割り当てられます。ここでは、新しい int 値オブジェクト 10 が実際に生成され、次に a がそれを指します。 5 は変更されずに破棄され、a の値は新しく生成された a と同等になります。

2. 変数の種類: 変数の代入 la=[1,2,3,4] とその後の代入 la[2]=5 はリスト la の 3 番目の要素の値を変更しますが、la 自体には何も変更されません。移動しますが、内部値の一部が変更されます。

Python 関数のパラメータ受け渡し:

1. 不変型: 整数、文字列、タプルなどの C ライクな値受け渡し。たとえば、 fun(a) は a の値を転送するだけで、 a オブジェクト自体には影響しません。たとえば、 fun(a) 内の a の値を変更すると、コピーされた別のオブジェクトが変更されるだけで、 a 自体には影響しません。

2. 変数の型: C の参照転送と同様、リスト、辞書など。たとえば、実際には fun (la) に la が渡されますが、変更後は fun の外側の la も影響を受けます

(厳密に言えば、Python 内のすべてのものはオブジェクトです)値渡しか参照渡しかを言うことはできません。不変オブジェクトを渡すか、変更可能オブジェクトを渡すと言うべきです。)

不変オブジェクトのインスタンスを渡す Python :

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
def ChangeInt( a ):
    a = 10
 
b = 2
ChangeInt(b)
print b # 结果是 2

(インスタンスには int オブジェクト 2 があり、それを指す変数は b です。これを ChangeInt 関数に渡すと、変数 b は値によってコピーされます。a と b は両方とも同じを指しますInt オブジェクト。=10 で、新しい int 値オブジェクト 10 を作成し、それを指すようにします。)

Python は変数オブジェクト インスタンスを渡します:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 可写函数说明
def changeme( mylist ):
   "修改传入的列表"
   mylist.append([1,2,3,4]);
   print "函数内取值: ", mylist
   return
 
# 调用changeme函数
mylist = [10,20,30];
changeme( mylist );
print "函数外取值: ", mylist

Instance 関数に渡されるオブジェクトと最後に新しい内容が追加されるオブジェクトは同じ参照を使用するため、出力結果は次のようになります。

函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

上記は私がやったものです。今日は関数の呼び出し方とPythonのパラメータの受け渡しについて説明したいと思います。上記の知識ポイントは例を示していますが、やはり自分で試してみる必要があります。結局のところ、自分でやってみなければ、紙の上で話しているのと同じです。実際に実践することが、自分の考えを検証する最良の方法であり、方法です。学んだ。最後に、この記事が Python を学習している皆さんのお役に立てれば幸いです。
関連知識の詳細については、php 中国語 Web サイトをご覧ください。
Pythonチュートリアル列。

以上がPython の関数呼び出しとパラメーターの受け渡し (分析例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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