Skip to content

Commit 2b6bbf0

Browse files
author
github-actions
committed
Merge 3.14 into 3.13
1 parent ccea0be commit 2b6bbf0

1 file changed

Lines changed: 38 additions & 1 deletion

File tree

faq/programming.po

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,14 @@ msgid ""
10901090
">>> func1(x, y)\n"
10911091
"('new-value', 100)"
10921092
msgstr ""
1093+
">>> def func1(a, b):\n"
1094+
"... a = 'new-value' # a と b はローカル名で\n"
1095+
"... b = b + 1 # 新しいオブジェクトが代入され\n"
1096+
"... return a, b # 新しい値一式を返す\n"
1097+
"...\n"
1098+
">>> x, y = 'old-value', 99\n"
1099+
">>> func1(x, y)\n"
1100+
"('new-value', 100)"
10931101

10941102
#: ../../faq/programming.rst:528
10951103
msgid "This is almost always the clearest solution."
@@ -1117,10 +1125,18 @@ msgid ""
11171125
">>> args\n"
11181126
"['new-value', 100]"
11191127
msgstr ""
1128+
">>> def func2(a):\n"
1129+
"... a[0] = 'new-value' # 'a' は mutable list への参照\n"
1130+
"... a[1] = a[1] + 1 # 共有されたオブジェクトを変える\n"
1131+
"...\n"
1132+
">>> args = ['old-value', 99]\n"
1133+
">>> func2(args)\n"
1134+
">>> args\n"
1135+
"['new-value', 100]"
11201136

11211137
#: ../../faq/programming.rst:543
11221138
msgid "By passing in a dictionary that gets mutated::"
1123-
msgstr "変更される辞書に渡すことによって::"
1139+
msgstr "変更を受ける辞書を渡すことによって::"
11241140

11251141
#: ../../faq/programming.rst:545
11261142
msgid ""
@@ -1133,6 +1149,14 @@ msgid ""
11331149
">>> args\n"
11341150
"{'a': 'new-value', 'b': 100}"
11351151
msgstr ""
1152+
">>> def func3(args):\n"
1153+
"... args['a'] = 'new-value' # args は mutable dictionary\n"
1154+
"... args['b'] = args['b'] + 1 # インプレースで変更\n"
1155+
"...\n"
1156+
">>> args = {'a': 'old-value', 'b': 99}\n"
1157+
">>> func3(args)\n"
1158+
">>> args\n"
1159+
"{'a': 'new-value', 'b': 100}"
11361160

11371161
#: ../../faq/programming.rst:554
11381162
msgid "Or bundle up values in a class instance::"
@@ -1154,6 +1178,19 @@ msgid ""
11541178
">>> vars(args)\n"
11551179
"{'a': 'new-value', 'b': 100}"
11561180
msgstr ""
1181+
">>> class Namespace:\n"
1182+
"... def __init__(self, /, **args):\n"
1183+
"... for key, value in args.items():\n"
1184+
"... setattr(self, key, value)\n"
1185+
"...\n"
1186+
">>> def func4(args):\n"
1187+
"... args.a = 'new-value' # args は mutable Namespace\n"
1188+
"... args.b = args.b + 1 # オブジェクトをインプレースで変更\n"
1189+
"...\n"
1190+
">>> args = Namespace(a='old-value', b=99)\n"
1191+
">>> func4(args)\n"
1192+
">>> vars(args)\n"
1193+
"{'a': 'new-value', 'b': 100}"
11571194

11581195
#: ../../faq/programming.rst:571
11591196
msgid "There's almost never a good reason to get this complicated."

0 commit comments

Comments
 (0)