タグ付けされた質問 「python-3.x」

言語のバージョン3以降に固有のPythonプログラミングに関する質問。質問がバージョン固有でない場合は、より一般的な[python]タグを使用してください。Python 2の質問には[python-2.x]タグを使用します。

7
Python 3でraw_inputを使用する方法
import sys print(sys.platform) print(2**100) raw_input() Python 3.1を使用していますがraw_input、DOSポップアップを「フリーズ」できません。私が読んでいる本はPython 2.5用で、Python 3.1を使用しています これを修正するにはどうすればよいですか?
553 python  python-3.x 


8
UnicodeDecodeError: 'charmap'コーデックはY位置のバイトXをデコードできません:文字は<undefined>にマップされます
Python 3プログラムに、情報が入ったテキストファイルを使用していくつかの操作を実行させようとしています。ただし、ファイルを読み取ろうとすると、次のエラーが発生します。 Traceback (most recent call last): File "SCRIPT LOCATION", line NUMBER, in &lt;module&gt; `text = file.read()` File "C:\Python31\lib\encodings\cp1252.py", line 23, in decode `return codecs.charmap_decode(input,self.errors,decoding_table)[0]` UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `&lt;undefined&gt;`

9
Python 3.xでリストを返すmap()を取得する
リストを16進数にマップして、他の場所で使用しようとしています。Python 2.6では、これは簡単でした。 A: Python 2.6: &gt;&gt;&gt; map(chr, [66, 53, 0, 94]) ['B', '5', '\x00', '^'] ただし、Python 3.1では、上記はマップオブジェクトを返します。 B: Python 3.1: &gt;&gt;&gt; map(chr, [66, 53, 0, 94]) &lt;map object at 0x00AF5570&gt; Python 3.x で(上記のAのように)マップされたリストを取得するにはどうすればよいですか? または、これを行うより良い方法はありますか?私の最初のリストオブジェクトには約45の項目があり、それらを16進数に変換するIDが必要です。

8
Pythonユニコード文字列のアクセントを削除する最良の方法は何ですか?
PythonにUnicode文字列があり、すべてのアクセント(発音区別符号)を削除したいと思います。 私はJavaでこれを行うエレガントな方法をWebで見つけました: Unicode文字列をその長い正規化された形式に変換します(文字と発音区別符号に別の文字を使用) Unicodeタイプが「発音区別符号」であるすべての文字を削除します。 pyICUなどのライブラリをインストールする必要がありますか、それともpython標準ライブラリだけで可能ですか?そして、python 3はどうですか? 重要な注意:アクセント記号付き文字からアクセント記号なしの対応する文字への明示的なマッピングを含むコードは避けたいです。


7
-> Python関数定義で何を意味しますか?
最近、Python 3.3の文法仕様を見て、興味深いことに気づきました。 funcdef: 'def' NAME parameters ['-&gt;' test] ':' suite オプションの「矢印」ブロックはPython 2には存在せず、Python 3でのその意味に関する情報を見つけることができませんでした。これは正しいPythonであり、インタープリターによって受け入れられます。 def f(x) -&gt; 123: return x これはある種の前提条件構文かもしれないと思ったが、 xここではテストできません。まだ定義されていません。 矢印の後に何を付けても(例:)2 &lt; 1、それは関数の動作に影響を与えません。 この構文に慣れている人はそれを説明できますか?

8
Python3のStringIO
Python 3.2.1を使用していStringIOますが、モジュールをインポートできません。私は使用 io.StringIOして動作しますが、次numpyのgenfromtxtような場合は使用できません。 x="1 3\n 4.5 8" numpy.genfromtxt(io.StringIO(x)) 次のエラーが発生します。 TypeError: Can't convert 'bytes' object to str implicitly そして私がimport StringIOそれを書いたとき ImportError: No module named 'StringIO'
474 python  python-3.x  io 

4
辞書はPython 3.6以降で注文されますか?
辞書は、以前のインカネーションとは異なり、Python 3.6(少なくともCPython実装の下)で注文されます。これは大幅な変更のようですが、ドキュメントの短い段落にすぎません。これは、言語機能ではなくCPython実装の詳細として記述されていますが、将来的には標準になる可能性があることも意味しています。 要素の順序を維持しながら、新しい辞書の実装は以前の辞書の実装よりもどのように優れていますか? ドキュメントからのテキストは次のとおりです。 dict()PyPyが開発した「コンパクト」表現を使用するようになりました。新しいdict()のメモリ使用量は、Python 3.5と比較して20%から25%小さくなっています。これにより、PEP 468(関数内の** kwargsの順序を維持する)が実装されます。この新しい実装の順序を維持する側面は、実装の詳細と見なされ、信頼すべきではありません(これは将来変更される可能性がありますが、言語仕様を変更する前に、この新しいdict実装をいくつかのリリースで使用することが望ましいです)現在および将来のすべてのPython実装に順序を維持するセマンティクスを義務付けるために、これは、ランダムな反復順序がまだ有効である古いバージョンの言語(Python 3.5など)との下位互換性を維持するのにも役立ちます。(稲田直樹による寄稿問題27350。レイモンドヘッティンガーが最初に提案したアイデア。) 2017年12月の更新:Python 3.7では、dict挿入順序の保持が保証されています


6
エラー:「「dict」オブジェクトには属性「iteritems」がありません」
NetworkXを使用してShapefileを読み取り、関数write_shp()を使用してノードとエッジを含むShapefileを生成しようとしていますが、コードを実行しようとすると、次のエラーが発生します。 Traceback (most recent call last): File "C:/Users/Felipe/PycharmProjects/untitled/asdf.py", line 4, in &lt;module&gt; nx.write_shp(redVial, "shapefiles") File "C:\Python34\lib\site-packages\networkx\readwrite\nx_shp.py", line 192, in write_shp for key, data in e[2].iteritems(): AttributeError: 'dict' object has no attribute 'iteritems' 私はPython 3.4を使用しており、pip installでNetworkXをインストールしています。 このエラーが発生する前に、「xrangeは存在しない」などの別のエラーがすでに表示されていたため、それを調べて、nx_shp.pyファイルでに変更xrangeしrangeただけで、解決したようです。 私が読んだことから、それはPythonバージョン(Python2 vs Python3)に関連している可能性があります。

17
Ubuntuでpipを介してpython3バージョンのパッケージをインストールする方法
両方python2.7をpython3.2インストールしてにインストールしましたUbuntu 12.04。 シンボリックリンクはにpythonリンクしていpython2.7ます。 入力すると: sudo pip install package-name デフォルトでインストールされます python2バージョンpackage-name。 一部のパッケージはとの両方python2をサポートしていpython3ます。 インストール方法python3のバージョンpackage-nameを経由しますかpip?

4
メソッドの戻り値の型がクラス自体と同じであることをどのように指定しますか?
私はPython 3に次のコードを持っています: class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Position) -&gt; Position: return Position(self.x + other.x, self.y + other.y) しかし、私のエディター(PyCharm)は、参照の位置を(__add__メソッド内で)解決できないと言っています。戻り値の型が型であることを期待するように指定するにはどうすればよいPositionですか? 編集:これは実際にはPyCharmの問題だと思います。警告の情報とコード補完を実際に使用します しかし、私が間違っていて、他の構文を使用する必要がある場合は修正してください。



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.