細かな修正.
@@ -4,8 +4,9 @@ | ||
4 | 4 | やる気を高めよう |
5 | 5 | **************** |
6 | 6 | |
7 | -コンピュータ上で様々な仕事をしているなら、自動化したい仕事があることに気がつくでしょう。たとえば、たくさんのテキストファイルで検索-置換操作を | |
8 | -行いたい、大量の写真ファイルを込み入ったやりかたでリネームまたは整理したいといったものです。 | |
7 | +コンピュータを使って様々な作業をしていたら、自動化したい作業が出てくるでしょう。 | |
8 | +たとえば、たくさんのテキストファイルで検索-置換操作を行いたい、大量の写真ファイルを | |
9 | +込み入ったやりかたでリネームまたは整理したいといったものです。 | |
9 | 10 | ひょっとすると、小さなカスタムデータベースや、何かに特化したGUIアプリケーション、シンプルなゲームを作りたいかもしれません。 |
10 | 11 | |
11 | 12 | .. % % Whetting Your Appetite |
@@ -24,9 +25,11 @@ | ||
24 | 25 | .. % % an extension language, and you don't want to design and implement a |
25 | 26 | .. % % whole new language for your application. |
26 | 27 | |
27 | -もしあなたがプロのソフト開発者なら、C/C++/Java ライブラリを扱う必要があるが、通常の write/compile/test/re-compile | |
28 | -サイクルが遅すぎると感じるかもしれません。ひょっとするとそのようなライブラリのテストスイートを書いていて、 | |
29 | -テスト用のコードを書くのにうんざりしているかもしれません。拡張言語を使えるプログラムを書いていて、アプリケーションのために新しい | |
28 | +もしあなたがプロのソフト開発者なら、C/C++/Java ライブラリを扱う必要があって、 | |
29 | +通常の write/compile/test/re-compile サイクルが遅すぎると感じるかもしれません。 | |
30 | +ひょっとするとそのようなライブラリのテストスイートを書いていて、 | |
31 | +テスト用のコードを書くのにうんざりしているかもしれません。 | |
32 | +拡張言語を使えるプログラムを書いていて、アプリケーションのために新しい | |
30 | 33 | 言語一式の設計と実装をしたくないと思っているかもしれません。 |
31 | 34 | |
32 | 35 | Pythonはそんなあなたのための言語です。 |
@@ -33,10 +36,12 @@ | ||
33 | 36 | |
34 | 37 | .. % % Python is just the language for you. |
35 | 38 | |
36 | -それらの作業を Unix シェルスクリプトや Windows バッチファイルを書くこともできますが、シェルスクリプトはファイル操作やテキストデータの操作 | |
37 | -には向いていますがGUIアプリケーションやゲームにはむいていません。 C/C++/Java プログラムを書くこともできますが、最初の試し書きにすらか | |
38 | -なりの時間がかかってしまいます。Pythonは簡単に利用でき、Windows、 Mac OS X、そして Unix オペレーティングシステムで動作し、あなたの | |
39 | -仕事を素早く行う助けになるでしょう。 | |
39 | +それらの作業の幾つかは、 Unix シェルスクリプトや Windows バッチファイルで | |
40 | +書くこともできますが、シェルスクリプトはファイル操作やテキストデータの操作には | |
41 | +向いているもののGUIアプリケーションやゲームにはむいていません。 | |
42 | +C/C++/Java プログラムを書くこともできますが、最初の試し書きにすらかなりの | |
43 | +時間がかかってしまいます。Pythonは簡単に利用でき、Windows、 Mac OS X、 | |
44 | +そして Unix オペレーティングシステムで動作し、あなたの作業を素早く行う助けになるでしょう。 | |
40 | 45 | |
41 | 46 | .. % % You could write a {\UNIX} shell script or Windows batch files for some |
42 | 47 | .. % % +of these tasks, but shell scripts are best at moving around files and |
@@ -56,15 +61,21 @@ | ||
56 | 61 | .. % % domain than Awk or even Perl, yet many things are at |
57 | 62 | .. % % least as easy in Python as in those languages. |
58 | 63 | |
59 | -Pyhonは簡単に利用できますが、本物のプログラミング言語であり、シェルスクリプトやバッチファイルで提供されるよりも | |
60 | -たくさんの大規模プログラムむけの構造や支援を提供しています。一方、PythonはCよりたくさんのエラーチェックを提供しており、 *超高級言語(very- | |
61 | -high-level language)* であり、可変長配列や辞書などのハイレベルな型を組込みでもっています。 | |
62 | -そのような型は一般的なため、PythonはAwkやPerlが扱うものより (多くの場合、少なくともそれらの言語と同じくらい簡単に)大規模な問題に利用できます。 | |
64 | +Pyhonは簡単に利用できますが、本物のプログラミング言語であり、シェルスクリプトや | |
65 | +バッチファイルで提供されるよりもたくさんの、大規模プログラムむけの構造や支援を | |
66 | +提供しています。 | |
67 | +一方、PythonはCよりたくさんのエラーチェックを提供しており、 | |
68 | +*超高級言語(very-high-level language)* であり、可変長配列や辞書などのハイレベルな | |
69 | +型を組込みで持っています。 | |
70 | +そのような型は一般的なため、PythonはAwkやPerlが扱うものより (多くの場合、 | |
71 | +少なくともそれらの言語と同じくらい簡単に)大規模な問題に利用できます。 | |
63 | 72 | |
64 | -Python ではプログラムをモジュールに分割して他の Python プログラムで再利用できます。Python | |
65 | -には膨大な標準モジュールが付属していて、プログラムを作る上での基盤として、あるいは Python プログラミングを学ぶために利 | |
66 | -用できます。組み込みモジュールではまた、ファイル I/O 、システムコール、ソケットといった機能や、Tk のようなグラフィカルユーザインタフェースツー | |
67 | -ルキットを使うためのインタフェースなども提供しています。 | |
73 | +Python ではプログラムをモジュールに分割して他の Python プログラムで再利用できます。 | |
74 | +Python には膨大な標準モジュールが付属していて、プログラムを作る上での基盤として、 | |
75 | +あるいは Python プログラミングを学ぶために利用できます。 | |
76 | +組み込みモジュールではまた、ファイル I/O 、システムコール、ソケットといった機能や、 | |
77 | +Tk のようなグラフィカルユーザインタフェースツールキットを使うためのインタフェース | |
78 | +なども提供しています。 | |
68 | 79 | |
69 | 80 | .. % % Python allows you to split your program in modules that can be |
70 | 81 | .. % % reused in other Python programs. It comes with a large collection of |
@@ -13,7 +13,7 @@ | ||
13 | 13 | |
14 | 14 | このマニュアルにある例の多くは、対話プロンプトで入力されるものでもコメントを含んでいます。 |
15 | 15 | Python におけるコメント文はハッシュ文字 ``#`` で始まり、物理行の終わりまで続きます。 |
16 | -コメントは行の先頭にも、空白やコードの後にも書くことができますが、文字列リテラル (string literal) | |
16 | +コメントは行の先頭にも、空白やコードの後にも書くことができますが、文字列リテラル | |
17 | 17 | の内部に置くことはできません。文字列リテラル中のハッシュ文字はただのハッシュ文字です。 |
18 | 18 | |
19 | 19 | コメントはコードを明快にするためのものであり、Pythonはコメントを解釈しません。 |
@@ -32,22 +32,21 @@ | ||
32 | 32 | Python を電卓として使う |
33 | 33 | ======================= |
34 | 34 | |
35 | -それでは、簡単な Python コマンドをいくつか試しましょう。インタプリタを起動して、一次プロンプト、 ``>>>`` が現れるのを待ちます。 | |
35 | +それでは、簡単な Python コマンドをいくつか試しましょう。 | |
36 | +インタプリタを起動して、一次プロンプト、 ``>>>`` が現れるのを待ちます。 | |
36 | 37 | (そう長くはかからないはずです) |
37 | 38 | |
38 | -.. % Using Python as a Calculator | |
39 | -.. % % Let's try some simple Python commands. Start the interpreter and wait | |
40 | -.. % % for the primary prompt, \samp{>>>~}. (It shouldn't take long.) | |
41 | 39 | |
42 | - | |
43 | 40 | .. _tut-numbers: |
44 | 41 | |
45 | 42 | 数 |
46 | 43 | -- |
47 | 44 | |
48 | -インタプリタは単純な電卓のように動作します: 式をタイプ入力することができ、その結果が書き出されます。式の文法は素直なものです: 演算子 ``+``, | |
49 | -``-``, ``*``, ``/`` は (Pascal や C といった) 他のほとんどの言語と同じように動作します。 | |
50 | -括弧をグループ化に使うこともできます。例えば: | |
45 | +インタプリタは単純な電卓のように動作します: 式を入力することができ、 | |
46 | +その結果が表示されます。 | |
47 | +式の文法は素直なものです: 演算子 ``+``, ``-``, ``*``, ``/`` は | |
48 | +(Pascal や C といった) 他のほとんどの言語と同じように動作します。 | |
49 | +括弧をグループ化に使うこともできます。例えば、 | |
51 | 50 | |
52 | 51 | .. % Numbers |
53 | 52 | .. % % The interpreter acts as a simple calculator: you can type an |
@@ -73,13 +72,9 @@ | ||
73 | 72 | >>> 7/-3 |
74 | 73 | -3 |
75 | 74 | |
76 | -等号 (``'='``) は変数に値を代入するときに使います。代入を行っても、その結果が次のプロンプトの前に出力されたりはしません: | |
75 | +等号 (``'='``) は変数に値を代入するときに使います。 | |
76 | +代入を行っても、その結果が次のプロンプトの前に出力されたりはしません。 | |
77 | 77 | |
78 | -.. % +The equal sign (\character{=}) is used to assign a value to a variable. | |
79 | -.. % +Afterwards, no result is displayed before the next interactive prompt: | |
80 | -.. % % Like in C, the equal sign (\character{=}) is used to assign a value to a | |
81 | -.. % % variable. The value of an assignment is not written: | |
82 | - | |
83 | 78 | :: |
84 | 79 | |
85 | 80 | >>> width = 20 |
@@ -87,10 +82,8 @@ | ||
87 | 82 | >>> width * height |
88 | 83 | 900 |
89 | 84 | |
90 | -複数の変数に同時に値を代入することができます: | |
85 | +複数の変数に同時に値を代入することができます。 | |
91 | 86 | |
92 | -.. % % A value can be assigned to several variables simultaneously: | |
93 | - | |
94 | 87 | :: |
95 | 88 | |
96 | 89 | >>> x = y = z = 0 # x と y と z をゼロにする |
@@ -101,9 +94,11 @@ | ||
101 | 94 | >>> z |
102 | 95 | 0 |
103 | 96 | |
104 | -変数は、利用する前に(値を代入することにより) "定義" しなければなりません。 | |
105 | -定義していない変数を利用しようとするとエラーが発生します。 :: | |
97 | +変数は、利用する前に(値を代入することによって) "定義" しなければなりません。 | |
98 | +定義していない変数を利用しようとするとエラーが発生します。 | |
106 | 99 | |
100 | +:: | |
101 | + | |
107 | 102 | >>> # try to access an undefined variable |
108 | 103 | ... n |
109 | 104 | Traceback (most recent call last): |
@@ -110,11 +105,9 @@ | ||
110 | 105 | File "<stdin>", line 1, in <module> |
111 | 106 | NameError: name 'n' is not defined |
112 | 107 | |
113 | -浮動小数点は完全にサポートしています; 被演算子の型が混合されているときには、演算子は整数の被演算子を浮動小数点型に変換します。 | |
108 | +浮動小数点を完全にサポートしています; | |
109 | +被演算子の型が混合されているときには、演算子は整数の被演算子を浮動小数点型に変換します。 | |
114 | 110 | |
115 | -.. % % There is full support for floating point; operators with mixed type | |
116 | -.. % % operands convert the integer operand to floating point: | |
117 | - | |
118 | 111 | :: |
119 | 112 | |
120 | 113 | >>> 3 * 3.75 / 1.5 |
@@ -122,14 +115,10 @@ | ||
122 | 115 | >>> 7.0 / 2 |
123 | 116 | 3.5 |
124 | 117 | |
125 | -複素数もサポートされています。虚数は接尾辞 ``j`` または ``J`` を付けて書き表します。ゼロでない実数部をもつ複素数は | |
126 | -``(real+imagj)`` のように書き表すか、 ``complex(real, imag)`` 関数で生成できます。 | |
118 | +複素数もサポートされています。虚数は接尾辞 ``j`` または ``J`` を付けて書き表します。 | |
119 | +ゼロでない実数部をもつ複素数は ``(実数部+虚数部j)`` のように書き表すか、 | |
120 | +``complex(実数部, 虚数部)`` 関数で生成できます。 | |
127 | 121 | |
128 | -.. % % Complex numbers are also supported; imaginary numbers are written with | |
129 | -.. % % a suffix of \samp{j} or \samp{J}. Complex numbers with a nonzero | |
130 | -.. % % real component are written as \samp{(\var{real}+\var{imag}j)}, or can | |
131 | -.. % % be created with the \samp{complex(\var{real}, \var{imag})} function. | |
132 | - | |
133 | 122 | :: |
134 | 123 | |
135 | 124 | >>> 1j * 1J |
@@ -143,13 +132,9 @@ | ||
143 | 132 | >>> (1+2j)/(1+1j) |
144 | 133 | (1.5+0.5j) |
145 | 134 | |
146 | -複素数は、常に実部と虚部に相当する二つの浮動小数点数で表されます。複素数 *z* からそれぞれの部分を取り出すには、 ``z.real`` と | |
147 | -``z.imag`` を使います。 | |
135 | +複素数は、常に実数部と虚数部に相当する二つの浮動小数点数で表されます。 | |
136 | +複素数 *z* からそれぞれの部分を取り出すには、 ``z.real`` と ``z.imag`` を使います。 | |
148 | 137 | |
149 | -.. % % Complex numbers are always represented as two floating point numbers, | |
150 | -.. % % the real and imaginary part. To extract these parts from a complex | |
151 | -.. % % number \var{z}, use \code{\var{z}.real} and \code{\var{z}.imag}. | |
152 | - | |
153 | 138 | :: |
154 | 139 | |
155 | 140 | >>> a=1.5+0.5j |
@@ -158,16 +143,11 @@ | ||
158 | 143 | >>> a.imag |
159 | 144 | 0.5 |
160 | 145 | |
161 | -数値を浮動小数点数や整数へに変換する関数 (:func:`float`, :func:`int`, :func:`long`) は複素数に対しては動作しません | |
162 | ---- 複素数を実数に変換する方法には、ただ一つの正解というものがないからです。絶対値 (magnitude) を (浮動小数点数として) 得るには | |
146 | +数値を浮動小数点数や整数へに変換する関数 (:func:`float`, :func:`int`, :func:`long`) は複素数に対しては動作しません | |
147 | +--- 複素数を実数に変換する方法には、ただ一つの正解というものがないからです。 | |
148 | +絶対値 (magnitude) を (浮動小数点数として) 得るには | |
163 | 149 | ``abs(z)`` を使い、実部を得るには ``z.real`` を使ってください。 |
164 | 150 | |
165 | -.. % % The conversion functions to floating point and integer | |
166 | -.. % % (\function{float()}, \function{int()} and \function{long()}) don't | |
167 | -.. % % work for complex numbers --- there is no one correct way to convert a | |
168 | -.. % % complex number to a real number. Use \code{abs(\var{z})} to get its | |
169 | -.. % % magnitude (as a float) or \code{z.real} to get its real part. | |
170 | - | |
171 | 151 | :: |
172 | 152 | |
173 | 153 | >>> a=3.0+4.0j |
@@ -183,14 +163,10 @@ | ||
183 | 163 | 5.0 |
184 | 164 | >>> |
185 | 165 | |
186 | -対話モードでは、最後に印字された式は変数 ``_`` に代入されます。このことを利用すると、 Python を電卓として使うときに、計算を連続して | |
187 | -行う作業が多少楽になります。以下に例を示します: | |
166 | +対話モードでは、最後に表示された結果は変数 ``_`` に代入されます。 | |
167 | +このことを利用すると、 Python を電卓として使うときに、計算を連続して行う作業が多少楽になります。 | |
168 | +以下に例を示します。 | |
188 | 169 | |
189 | -.. % % In interactive mode, the last printed expression is assigned to the | |
190 | -.. % % variable \code{_}. This means that when you are using Python as a | |
191 | -.. % % desk calculator, it is somewhat easier to continue calculations, for | |
192 | -.. % % example: | |
193 | - | |
194 | 170 | :: |
195 | 171 | |
196 | 172 | >>> tax = 12.5 / 100 |
@@ -203,27 +179,20 @@ | ||
203 | 179 | 113.06 |
204 | 180 | >>> |
205 | 181 | |
206 | -ユーザはこの変数を読取り専用の値として扱うべきです。この変数に明示的な代入を行ってはいけません --- そんなことをすれば、 | |
207 | -この組み込み変数と同じ名前で、元の組み込み変数の不思議な動作を覆い隠してしまうような、別個のローカルな変数が生成されてしまいます。 | |
182 | +ユーザはこの変数を読取り専用の値として扱うべきです。 | |
183 | +この変数に明示的な代入を行ってはいけません --- そんなことをすれば、 | |
184 | +同じ名前で、元の組み込み変数の特別な動作を覆い隠してしまうような、 | |
185 | +別個のローカルな変数が生成されてしまいます。 | |
208 | 186 | |
209 | -.. % % This variable should be treated as read-only by the user. Don't | |
210 | -.. % % explicitly assign a value to it --- you would create an independent | |
211 | -.. % % local variable with the same name masking the built-in variable with | |
212 | -.. % % its magic behavior. | |
213 | 187 | |
214 | - | |
215 | 188 | .. _tut-strings: |
216 | 189 | |
217 | 190 | 文字列 |
218 | 191 | ------ |
219 | 192 | |
220 | -数のほかに、Python は文字列も操作できます。文字列はいくつもの方法で表現できます。文字列はシングルまたはダブルのクォートで囲みます。 | |
193 | +数のほかに、Python は文字列も操作できます。文字列はいくつもの方法で表現できます。 | |
194 | +文字列はシングルまたはダブルのクォートで囲みます。 | |
221 | 195 | |
222 | -.. % Strings | |
223 | -.. % % Besides numbers, Python can also manipulate strings, which can be | |
224 | -.. % % expressed in several ways. They can be enclosed in single quotes or | |
225 | -.. % % double quotes: | |
226 | - | |
227 | 196 | :: |
228 | 197 | |
229 | 198 | >>> 'spam eggs' |
@@ -239,8 +208,9 @@ | ||
239 | 208 | >>> '"Isn\'t," she said.' |
240 | 209 | '"Isn\'t," she said.' |
241 | 210 | |
242 | -文字列リテラルはいくつかの方法で複数行にまたがって記述できます。継続行を使うことができ、これには行の末尾の文字を | |
243 | -バックスラッシュにします。こうすることで、次の行が現在の行と論理的に継続していることを示します: | |
211 | +文字列リテラルはいくつかの方法で複数行にまたがって記述できます。 | |
212 | +継続行を使うことができ、これには行の末尾の文字をバックスラッシュにします。 | |
213 | +こうすることで、次の行が現在の行と論理的に継続していることを示します。 | |
244 | 214 | |
245 | 215 | .. % % String literals can span multiple lines in several ways. Continuation |
246 | 216 | .. % % lines can be used, with a backslash as the last character on the line |
@@ -255,13 +225,10 @@ | ||
255 | 225 | |
256 | 226 | print hello |
257 | 227 | |
258 | -``\n`` を使って文字列に改行位置を埋め込まなくてはならないことに注意してください; 末尾のバックスラッシュの後ろにある改行文字は無視されます。 | |
259 | -従って、上の例は以下のような出力を行います: | |
228 | +``\n`` を使って文字列に改行位置を埋め込まなくてはならないことに注意してください; | |
229 | +末尾のバックスラッシュの後ろにある改行文字は無視されます。 | |
230 | +従って、上の例は以下のような出力を行います。 | |
260 | 231 | |
261 | -.. % % Note that newlines would still need to be embedded in the string using | |
262 | -.. % % \code{\e n}; the newline following the trailing backslash is | |
263 | -.. % % discarded. This example would print the following: | |
264 | - | |
265 | 232 | :: |
266 | 233 | |
267 | 234 | This is a rather long string containing |
@@ -269,7 +236,9 @@ | ||
269 | 236 | Note that whitespace at the beginning of the line is significant. |
270 | 237 | |
271 | 238 | また、対になった三重クォート ``"""`` または ``'''`` で文字列を囲むこともできます。 |
272 | -三重クォートを使っているときには、行末をエスケープする必要はありません、しかし、行末の改行文字も文字列に含まれることになります。 | |
239 | +三重クォートを使っているときには、行末をエスケープする必要はありません。 | |
240 | +しかし、行末の改行文字も文字列に含まれることになります。 | |
241 | + | |
273 | 242 | :: |
274 | 243 | |
275 | 244 | print """ |
@@ -278,20 +247,19 @@ | ||
278 | 247 | -H hostname Hostname to connect to |
279 | 248 | """ |
280 | 249 | |
281 | -は以下のような出力を行います。 :: | |
250 | +は以下のような出力を行います。 | |
282 | 251 | |
252 | +:: | |
253 | + | |
283 | 254 | Usage: thingy [OPTIONS] |
284 | 255 | -h Display this usage message |
285 | 256 | -H hostname Hostname to connect to |
286 | 257 | |
287 | -文字列リテラルを "raw" 文字列にすると、 ``\n`` のようなエスケープシーケンスは改行に変換されません。逆に、行末のバックスラッシュ | |
288 | -やソースコード中の改行文字が文字列データに含められます。つまり、以下の例: | |
258 | +文字列リテラルを "raw" 文字列にすると、 ``\n`` のようなエスケープシーケンスは | |
259 | +改行に変換されません。 | |
260 | +逆に、行末のバックスラッシュやソースコード中の改行文字が文字列データに含められます。 | |
261 | +つまり、以下の例: | |
289 | 262 | |
290 | -.. % % If we make the string literal a ``raw'' string, however, the | |
291 | -.. % % \code{\e n} sequences are not converted to newlines, but the backslash | |
292 | -.. % % at the end of the line, and the newline character in the source, are | |
293 | -.. % % both included in the string as data. Thus, the example: | |
294 | - | |
295 | 263 | :: |
296 | 264 | |
297 | 265 | hello = r"This is a rather long string containing\n\ |
@@ -299,33 +267,23 @@ | ||
299 | 267 | |
300 | 268 | print hello |
301 | 269 | |
302 | -は、以下のような出力を行います: | |
270 | +は、以下のような出力を行います。 | |
303 | 271 | |
304 | -.. % % would print: | |
305 | - | |
306 | 272 | :: |
307 | 273 | |
308 | 274 | This is a rather long string containing\n\ |
309 | 275 | several lines of text much as you would do in C. |
310 | 276 | |
311 | -インタプリタは、文字列演算の結果を、タイプ入力する時のと同じ方法で出力します: 文字列はクオート文字で囲い、クオート文字自体やその他の | |
312 | -奇妙な文字は、正しい文字が表示されるようにするためにバックスラッシュでエスケープします。 | |
313 | -文字列がシングルクオートを含み、かつダブルクオートを含まない場合には、全体をダブルクオートで囲います。そうでない場合にはシングルクオートで囲みます。 | |
314 | -(後で述べる :keyword:`print` を使って、クオートやエスケープのない文字列を書くことができます。) | |
277 | +インタプリタは、文字列演算の結果を、タイプして入力する時と同じ方法で出力します: | |
278 | +文字列はクオート文字で囲い、クオート文字自体やその他の特別な文字は、 | |
279 | +正しい文字が表示されるようにするためにバックスラッシュでエスケープします。 | |
280 | +文字列がシングルクオートを含み、かつダブルクオートを含まない場合には、全体をダブルクオートで囲います。 | |
281 | +そうでない場合にはシングルクオートで囲みます。 | |
282 | +(後で述べる :keyword:`print` を使って、クオートやエスケープのない文字列を表示することができます。) | |
315 | 283 | |
316 | -.. % % The interpreter prints the result of string operations in the same way | |
317 | -.. % % as they are typed for input: inside quotes, and with quotes and other | |
318 | -.. % % funny characters escaped by backslashes, to show the precise | |
319 | -.. % % value. The string is enclosed in double quotes if the string contains | |
320 | -.. % % a single quote and no double quotes, else it's enclosed in single | |
321 | -.. % % quotes. (The \keyword{print} statement, described later, can be used | |
322 | -.. % % to write strings without quotes or escapes.) | |
284 | +文字列は ``+`` 演算子で連結させる (くっつけて一つにする) ことができ、 | |
285 | +``*`` 演算子で反復させることができます。 | |
323 | 286 | |
324 | -文字列は ``+`` 演算子で連結させる (くっつけて一つにする) ことができ、 ``*`` 演算子で反復させることができます。 | |
325 | - | |
326 | -.. % % Strings can be concatenated (glued together) with the | |
327 | -.. % % \code{+} operator, and repeated with \code{*}: | |
328 | - | |
329 | 287 | :: |
330 | 288 | |
331 | 289 | >>> word = 'Help' + 'A' |
@@ -334,7 +292,8 @@ | ||
334 | 292 | >>> '<' + word*5 + '>' |
335 | 293 | '<HelpAHelpAHelpAHelpAHelpA>' |
336 | 294 | |
337 | -互いに隣あった二つの文字列リテラルは自動的に連結されます: 例えば、上記の最初の行は ``word = 'Help' 'A'`` と書くこともできました; | |
295 | +互いに隣あった二つの文字列リテラルは自動的に連結されます: | |
296 | +例えば、上記の最初の行は ``word = 'Help' 'A'`` と書くこともできました; | |
338 | 297 | この機能は二つともリテラルの場合にのみ働くもので、任意の文字列表現で使うことができるわけではありません。 |
339 | 298 | |
340 | 299 | .. % % Two string literals next to each other are automatically concatenated; |
@@ -354,8 +313,10 @@ | ||
354 | 313 | ^ |
355 | 314 | SyntaxError: invalid syntax |
356 | 315 | |
357 | -文字列は添字表記 (インデクス表記) することができます; C 言語と同じく、文字列の最初の文字の添字 (インデクス) は 0 となります。 | |
358 | -独立した文字型というものはありません; 単一の文字は、単にサイズが 1 の文字列です。Icon 言語と同じく、部分文字列を *スライス表記*: | |
316 | +文字列は添字表記 (インデクス表記) することができます; | |
317 | +C 言語と同じく、文字列の最初の文字の添字 (インデクス) は 0 となります。 | |
318 | +独立した文字型というものはありません; 単一の文字は、単にサイズが 1 の文字列です。 | |
319 | +Icon 言語と同じく、部分文字列を *スライス表記*: | |
359 | 320 | コロンで区切られた二つのインデクスで指定することができます。 |
360 | 321 | |
361 | 322 | .. % % Strings can be subscripted (indexed); like in C, the first character |
@@ -373,8 +334,8 @@ | ||
373 | 334 | >>> word[2:4] |
374 | 335 | 'lp' |
375 | 336 | |
376 | -スライスのインデクスには便利なデフォルト値があります; 最初のインデクスを省略すると、0 と見なされます。第 2 | |
377 | -のインデクスを省略すると、スライスしようとする文字列のサイズとみなされます。 | |
337 | +スライスのインデクスには便利なデフォルト値があります; 最初のインデクスを省略すると、0 と見なされます。 | |
338 | +第 2 のインデクスを省略すると、スライスしようとする文字列のサイズとみなされます。 | |
378 | 339 | |
379 | 340 | .. % % Slice indices have useful defaults; an omitted first index defaults to |
380 | 341 | .. % % zero, an omitted second index defaults to the size of the string being |
@@ -387,7 +348,8 @@ | ||
387 | 348 | >>> word[2:] # 最初の 2 文字を除くすべて |
388 | 349 | 'lpA' |
389 | 350 | |
390 | -C 言語の文字列と違い、Python の文字列は変更できません。インデクス指定された文字列中のある位置に代入を行おうとするとエラーになります: | |
351 | +C 言語の文字列と違い、Python の文字列は変更できません。 | |
352 | +インデックス指定された文字列中のある位置に代入を行おうとするとエラーになります: | |
391 | 353 | |
392 | 354 | .. % % Unlike a C string, Python strings cannot be changed. Assigning to an |
393 | 355 | .. % % indexed position in the string results in an error: |
@@ -403,7 +365,7 @@ | ||
403 | 365 | File "<stdin>", line 1, in ? |
404 | 366 | TypeError: object doesn't support slice assignment |
405 | 367 | |
406 | -一方、要素どうしを組み合わせた新たな文字列の生成は、簡単で効率的です: | |
368 | +一方、文字列同士の内容を組み合わせた新しい文字列の生成は、簡単で効率的です。 | |
407 | 369 | |
408 | 370 | .. % % However, creating a new string with the combined content is easy and |
409 | 371 | .. % % efficient: |
@@ -427,7 +389,8 @@ | ||
427 | 389 | >>> word[:3] + word[3:] |
428 | 390 | 'HelpA' |
429 | 391 | |
430 | -スライス表記に行儀の悪いインデクス指定をしても、値はたしなみよく処理されます: インデクスが大きすぎる場合は文字列のサイズと置き換えられます。 | |
392 | +スライス表記に行儀の悪いインデクス指定をしても、値はたしなみよく処理されます: | |
393 | +インデクスが大きすぎる場合は文字列のサイズと置き換えられます。 | |
431 | 394 | スライスの下境界 (文字列の左端) よりも小さいインデクス値を上境界 (文字列の右端) に指定すると、空文字列が返されます。 |
432 | 395 | |
433 | 396 | .. % % Degenerate slice indices are handled gracefully: an index that is too |
@@ -469,8 +432,8 @@ | ||
469 | 432 | >>> word[-0] # (-0 は 0 に等しい) |
470 | 433 | 'H' |
471 | 434 | |
472 | -負で、かつ範囲外のインデクスをスライス表記で行うと、インデクスは切り詰められます。しかし、単一の要素を指定する (スライスでない) | |
473 | -インデクス指定でこれを行ってはいけません: | |
435 | +負で、かつ範囲外のインデクスをスライス表記で行うと、インデクスは切り詰められます。 | |
436 | +しかし、単一の要素を指定する (スライスでない) インデクス指定でこれを行ってはいけません: | |
474 | 437 | |
475 | 438 | .. % % Out-of-range negative slice indices are truncated, but don't try this |
476 | 439 | .. % % for single-element (non-slice) indices: |
@@ -556,10 +519,12 @@ | ||
556 | 519 | |
557 | 520 | .. % Unicode Strings |
558 | 521 | |
559 | -Python 2.0 から、プログラマはテキスト・データを格納するための新しいデータ型、Unicode オブジェクトを利用できるようになりました。 | |
522 | +Python 2.0 から、プログラマはテキスト・データを格納するための新しいデータ型、 | |
523 | +Unicode オブジェクトを利用できるようになりました。 | |
560 | 524 | Unicode オブジェクトを使うと、Unicode データ (http://www.unicode.org/ 参照) |
561 | -を記憶したり、操作したりできます。また、 Unicode オブジェクトは既存の文字列オブジェクトとよく統合していて、必要に応じた自動変換機能を | |
562 | -提供しています。 | |
525 | +を記憶したり、操作したりできます。 | |
526 | +また、 Unicode オブジェクトは既存の文字列オブジェクトとよく統合していて、 | |
527 | +必要に応じた自動変換機能を提供しています。 | |
563 | 528 | |
564 | 529 | .. % % Starting with Python 2.0 a new data type for storing text data is |
565 | 530 | .. % % available to the programmer: the Unicode object. It can be used to |