import pandas as pd
import numpy as np
def my_fun(x):
x[x>2] = 2
y = 2 * x
return y
sigma = pd.Series(np.linspace(0, 3, 80))
print(sigma.max()) # 3
my_fun(sigma)
print(sigma.max()) # 2
ここで問題は、変更可能なオブジェクトsigmaのコピーがシグマ自体に影響するローカル環境内で変更されることです。変更可能なオブジェクトシグマを変更することを避けるために、エレガントにmy_fun
を書き直すには? my_funの入出力は、同じタイプでなければなりません。オブジェクトの変更可能性:ローカル環境内のオブジェクトのコピーを変更すると、グローバル環境に影響します
、my_funは静かに地球環境を変更することになります。したがって、私はこのアプローチをエレガントなものにするとは思わない。 – MLguy