質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

1781閲覧

Pythonでのインクリメントについて

Fujisaki_prpr

総合スコア21

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

2グッド

0クリップ

投稿2016/11/01 02:40

###質問内容

Python初心者です。
C++を書いていた期間が長かったので、インクリメントをつい書いてしまいがちなのですが、どうやらPythonにはないみたいです

ざっと調べてみたところ、RubyやScalaなど自分が知らなかっただけで、インクリメントがない言語は他にもあるようで、その理由もすぐに見つかったのですが、Pythonのみ見つかりませんでした

どうしてPythonにはインクリメントが用意されていないのかご存知の方はいらっしゃらないでしょうか

Lhankor_Mhy, yohhoy👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

StackoverflowのWhy are there no ++ and --​ operators in Python?という質問でいろいろなひとが説明を試みていますが、要するに

x += 1でできるから

ということみたいです。


余談。ひとつ興味深く思ったのは、上記質問のとある回答で、Cの++演算子は最初に処理系が実装されたPDP-11のオペコードに由来するという説です。たしかに、特定のメモリアドレスに格納された値をワンオペレーションで増減する操作 (*p++にあたる) は完全にアトミックなので、セマフォなどの実装に有用だったはずです。これがCにも取り入れられたけれど、コンパイラの最適化が効くようになると意味を失ったと。

投稿2016/11/01 03:31

ikedas

総合スコア4335

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Fujisaki_prpr

2016/11/01 06:19

実装の手間がかかる、というのはとても明快な理由の一つだと思いました。 ありがとうございました
guest

0

https://mail.python.org/pipermail/python-list/2006-January/374573.html
これが質問への回答として一番古そうなやつです

超訳:

  • 短い答え: Guidoが好きじゃないので。
  • 長い答え: その記法を用意すると、みんな容易に読み取りづらい1行コードを書き始めるから。その記法がないことで、1足すのにソースコードを1,2行余計にかかなきゃいけないけど、その方が誰にとっても読みやすいコードになるよ。

投稿2016/11/01 05:31

編集2016/11/01 05:32
shimizukawa

総合スコア1847

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Fujisaki_prpr

2016/11/01 06:13

確かに、++を使い配列へアクセスしつつインクリメントを行う、というようなコードは確かに読みやすいとは言えませんね ありがとうございました。
guest

0

pythonの作者である、当時Googleで開発を担当したGuido van RossumがCのような言語ではなく、”高級言語”として”+”や”-”について、多くの意味を与えない思想があったと理解しています。

投稿2016/11/01 03:09

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Fujisaki_prpr

2016/11/01 06:21

Pythonは読みやすいように設計されている、ということを聞いた記憶があります。 確かにいくつも意味があるのは良くないとCの * を見ながらいつも思っていたことです ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問