作者: MATSUI Fe2+ Tetsushi
日時: 2009/1/11(02:33)
Fe2+ です。

残り。

At Sat, 10 Jan 2009 07:54:06 +0900 (JST),
機械伯爵 wrote:
> Overview Of Syntax Changes
> 構文の変更点の概要
> 
> This section gives a brief overview of every syntactic change in Python 3.0.
> このセクションではPython 3.0のすべての統語変化の概要を説明することができます。
> 
> New Syntax
> 新しい構文

「統語変化」だけ訳語が浮いてます。

「できる」はどこから?

[..]
> * PEP 3102 : Keyword-only arguments. 
> * PEP 3102 :キーワードのみの引数
> 
> Named parameters occurring after *args in the parameter list must be specified using keyword syntax in the call.
> パラメータリストの*arg)の後に置かれる名前つきのパラメータは、キーワード構文を使って呼び出すことに特化されています。

*arg) -> *args

be specified = 指定される

> 
> (訳注:*argという書式は、それ以降の(特にキーワード指定のない)パラメータをリストとして受け取ります。これ以降の仮引数は、キーワードで指定されない限り、その仮引数に引き渡されません)
>  
> You can also use a bare * in the parameter list to indicate that you don’t accept a variable-length argument list, but you do have keyword-only arguments.
> 関数で可変長引数リストを受け取らないことを示すために、パラメータリストの中で裸の‘*’を使うことができます。ただし、その場合、キーワード(限定)引数を設定する必要があります。
> 

keyword-only の訳を統一しましょう。

> * Keyword arguments are allowed after the list of base classes in a class definition.
> キーワード引数が、クラス定義の基底クラスのリストの後に使えるようになりました。
> 
> This is used by the new convention for specifying a metaclass (see next section), but can be used for other purposes as well, as long as the metaclass supports it.
> 
> これは、メタクラスを指定するための新しい規定によって使われます(次項参照)。ただし、メタクラスがこれをサポートするかぎり、これは他の目的にも同様に使えます。

「次項」だと nonlocal になってしまいます。
(おそらく「次節」)

> * PEP 3104 : nonlocal statement.
> * PEP 3104 : nonlocal文
> 
> Using nonlocal x you can now assign directly to a variable in an outer (but non-global) scope. nonlocal is a new reserved word.
> 今直接外(ただし、非グローバル)スコープ。非局所的で非局所Xの変数に割り当てることができますを使用して

機械翻訳の残り?

> 
> 'nonlocal x'を使うと、あなたは直接外側スコープの変数に代入することができます(でもxはglobalではありません)。'nonlocal'は新しい予約語です。
>
> * PEP 3132 : Extended Iterable Unpacking. 
> * PEP 3132 : 拡張された反復可能展開

イテラブル(反復可能オブジェクト)をアンパックするわけで、
ちょっと訳語に無理があるような。

> You can now write things like a, b, *rest = some_sequence .
> 『a, b, *rest = some_sequence』のような書きかたが可能になりました。
> 
> And even *rest, a = stuff.
> さらに『*rest, a = stuff』のような書きかたも。
> 
> The rest object is always a (possibly empty) list; the right-hand side may be any iterable. 
> 残りのオブジェクトは常に(ひょっとしたら空の)リストであり、右側は反復可能な(オブジェクトであれば)何でもかまいません。
> 

rest は変数名。
であれば) -> )であれば

> Example:
> 例:
> 
> 	(a, *rest, b) = range(5)
> 
> This sets a to 0 , b to 4 , and rest to [1, 2, 3] .
> この書式では、aに0を、bには4に、そしてrestに [1, 2, 3] をセットします。

bには4に -> bには4を

> * Dictionary comprehensions: {k: v for k, v in stuff} means the same thing as dict(stuff) but is more flexible.(This is PEP 0274 vindicated. :-)
> 
> 辞書の内包表記『{k: v for k, v in stuff}』は、『dict(stuff)』と同等です。しかし、もっと柔軟です(これはPEP 0274を養護しています :-)

s/養護/擁護/ ?

> (訳注:stuffは『要素』なので、
> 	((1,100),(2,200))
> のようなkey-value対応のモノを想定している。
> しかし、たとえばdが辞書ならば、
> 	x = dict(d)
> は通っても
> 	x = {k: v for k, v in d}
> は通らない。この場合、
> 	x = {k: v for k, v in d.items()}
> とする必要がある)
> 


ここまで。
-- 
MATSUI "Fe2+" Tetsushi