目次
Python関数の定義
機能: 特定の機能を実装、再利用可能、整理されている
利点: いつでも使用でき、効率が向上し、重複が削減される
関数の構文
def 関数名 (受信パラメータ):
関数本体
return 戻り値
関数呼び出し
構文: 関数名(パラメータ)
注:
① 関数の入力パラメータ、パラメータ、および戻り値は省略できます。
② 関数は最初に定義されてから呼び出されます
。 例:
# 定义一个函数,输出相关信息
def name():
print("My name is 二狗。\n今年26岁。")# \n换行输出
# 调用函数,让函数进行工作
name()
走行結果:
エルゴウと申します。
今年で26歳。
関数の受信パラメータ
①パラメータを渡す関数: 関数が計算を実行するときに、外部呼び出しによって提供されたデータを受け取ります。
② 使用するパラメータの数に制限はありません。
③関数フラクタルパラメータと実パラメータ:
関数定義上パラメータは仮パラメータ(パラメータ)と呼ばれ、パラメータはカンマで区切られ、
関数電話をかけるのパラメータは実パラメータ(実引数)と呼ばれ、渡される際にカンマ区切りで順番に(仮パラメータと1対1対応で)渡されます。
例 1:
# 定义相加的函数,通过参数接收被计算的数字
def add(x, y, z):
result = x + y + z
print(f"{
x}+{
y}+{
z}的计算结果是{
result}。")
# 调用函数,传入被计算的数字
add(5, 6, 7)
実行結果: 5+6+7 の計算結果は 18 です。
例 2:
def check(num):
if num <= 37.5:
print(f"体温{
num}度,正常!")
else:
print(f"体温{
num}度,不正常!")
print("请出示体温!")
# 调用函数,传入参数
check(int(input("请输入体温:")))
ランニング結果:
体温を見せてください!
体温を入力してください: 36
体温 36 度、正常です!
関数の戻り値
構文: (return キーワードを通じて呼び出し元にデータを返す)
def 関数 (パラメーター):
関数本体
return 戻り値
変数 = 関数(パラメータ)
注: 関数本体はリターンを検出すると終了し、リターン後のコードは再度実行されません。
例:
# 定义一个函数
def add(a, b):
result = a + b
# 通过返回值,将结果返回给调用者
return result
# print(result) #retrun后语句不会再执行
# 函数的返回值,可以通过变量去接收
r = add(5, 6)
print(r)
走行結果:11
None 型の戻り値: 空、意味なし
None は型 'NoneType' のリテラル値ですreturn None、 return ステートメントを使用しない場合は None
と書くことも可能です
None 型を使用するシナリオ:
①戻り値のない関数で使用。例: return None
② if 判定で使用。None は False に等しい。
③ 初期値なしの変数を定義: name=None
例:
# None 用于if判断
def check_age(age):
if age > 18:
return "success"
else:
return None
result = check_age(16)
if not result:
# 进入if表示result是None值就是False
print("你还未成年")
# None用于声明无初始内容的变量
name = None
関数のドキュメント
構文:
def func(x,y)
"""
関数の説明
: param x: 仮引数 x の説明
: param y: 仮引数 y の説明
: return: 戻り値の説明
"""
関数本体
return 戻り値
関数と関数の定義のドキュメント
① 複数行コメントで関数を説明する
② 関数本体の前に記述する
③: パラメータの説明にparamを使用する
④: 戻り値の説明にreturnを使用する
⑤ 「"""""」と入力して
Enterを押すと自動で完了 関数の場合関数のドキュメントを参照してください
。例:
# 定义一个函数
def add(a, b): # 输入""""""回车就自动补齐
"""
add 函数接收2个数进行相加
:param a: 形参x表示一个数
:param b: 形参y表示一个数
:return: 返回两个数的结果
"""
result = a + b
# 通过返回值,将结果返回给调用者
return result
# print(result) #retrun后的语句不会再执行
# 函数的返回值,可以通过变量去接收
r = add(5, 6) # 光标停留在调用函数可以看到函数说明文档
print(r)
ネストされた関数呼び出し
定義: 関数は別の関数を呼び出します。
構文:
def func_b():
print
def func_a():
print
func_b()
func_a()
a が呼び出されると、b の前の部分が最初に実行され、次に b が実行され、次に a の残りの部分が実行されます。
関数内の変数のスコープ
変数スコープ
定義: 変数スコープとは、変数のスコープを指します。
変数には大きく分けてローカル変数とグローバル変数の2種類があります。
①ローカル変数は定義を参照します。関数本体内変数は関数本体内でのみ有効です。
ローカル変数の役割: 関数本体内一時的データを保存し、関数本体の呼び出しが完了したらローカル変数を破棄します。
②グローバル変数とは以下を指します。関数本体の内側と外側有効な変数。
グローバルキーワード
定義: 変数は関数内でグローバル変数として宣言できます。つまり、関数本体内のローカル変数がグローバル変数になります。
構文: グローバル変数名
例:
# global关键字,在函数中声明变量为全局变量
num = 200
def test_a():
print(f"test_a:{
num}")
def test_b():
global num # 设置内部定义的变量为全局变量,得加这个
num = 500 # 此时num500与num200是同一个
print(f"test_b:{
num}")
test_a()
test_b()
print(num) # 此时全局的num应该等于500
実行結果:
test_a:200
test_b:500
500