2017-06-19 10 views
-2

私はPythonには初めてのものです。私はいくつかの基本的な概念に取り組んでいます。私はエラーが発生すると思っていたよりランダムな方法で追加ロジックを試しました。しかし、私はアウトプットを得ています。たとえば、++++++++++++++++++++++++は出力を与えています。だから、どんな種類の追加がここで行われているかを説明することができます。私が試したコードを見つけてください。Pythonの基本的な追加機能を理解するのが難しいです。

>>> a++ + 1 
4 
>>> ++a + 1 
4 
>>> a++ ++ 1 
4 
>>> ++a ++ 1 
4 
>>> a++ +++ 1 
4 
>>> ++a +++ 1 
4 
>>> a+++ 1 
4 
>>> a++++++++ sdjfksdopfjsopdfjsd 

Traceback (most recent call last): 
    File "<pyshell#112>", line 1, in <module> 
    a++++++++ sdjfksdopfjsopdfjsd 
NameError: name 'sdjfksdopfjsopdfjsd' is not defined 
>>> a++++++++++++++++++++++++++++++++++++ 
SyntaxError: invalid syntax 
>>> a++++ 
SyntaxError: invalid syntax 
>>> a+++ 
SyntaxError: invalid syntax 
>>> a++ 
SyntaxError: invalid syntax 
>>> a++++++++++++++++++++++++++++++++++++++ 1 
4 
>>> a++ 1 
4 
>>> a++ + 1 
4 
>>> ++a 
3 
+0

これを1つの特定の質問に絞り込むことはできますか? –

+1

'++ 2' ==' + 2'等 –

+0

特に '+++ 5' ==' +(++ 5) '==' ++ 5' – user3080953

答えて

1

+ほとんどの場合、加算演算子またはインクリメント演算子(後者はPythonでは存在しません)ではなく、単項の+演算子があります。

I.e. ++1+(+1)であり、実際には何もしません。対照的に、単体-演算子は、-1-1であり、--11であり、---1-1である。

冗長+演算子を削除すると、例で有効な操作はすべてa + 1になります。

1

あなたは、彼らが加算/減算表すものではありませんので、行に複数の+-演算子を持っているのではなく、数の正/負の符号ことができます。例えば、

a + +1 

が一緒a+1を添加します。スペースはここでは関係ありませんので、これらはすべてequilevantです:数(例えば+5または-5)に記号を追加すると、まだ数としてそれを維持しているため、今

a + +1 
a++1 
a + + 1 
a+ +1 
a++ 1 
a  +   +   1 

、あなたはに別の記号を再適用することができますあたらしい番号。そしてもう一つ。そしてもう一つ。無限に。

負の符号は、実際には数学のように、数の符号を変更:

>>> x = 5 
>>> -x 
-5 
>>> -(-5) 
5 
>>> --5 # Unlike maths, we don't need parenthesis 
5 
>>> -----5 
-5 

あなたは+でこの正確なことを行うことができ、それは何もしていないだけということです:

>>> x = 5 
>>> +x 
5 
>>> ++++x 
5 
>>> +++++++++++++++++1 
1 

そして今3にそれをこの数、+++++++++++++++++1を取り、追加:

>>> 3 + +++++++++++++++++1 
4 

ご覧のとおり、加算演算は1回だけです。残りは、単項演算子の番号の符号を示す演算子です。

関連する問題