タグ付けされた質問 「python-3.6」

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
ModuleNotFoundError:__main__がパッケージでないとはどういう意味ですか?
コンソールからモジュールを実行しようとしています。私のディレクトリの構造はこれです: 私はモジュールを実行しようとしていますp_03_using_bisection_search.pyから、problem_set_02使用してディレクトリ: $ python3 p_03_using_bisection_search.py 内部のコードp_03_using_bisection_search.pyは次のとおりです。 __author__ = 'm' from .p_02_paying_debt_off_in_a_year import compute_balance_after def compute_bounds(balance: float, annual_interest_rate: float) -> (float, float): # there is code here, but I have omitted it to save space pass def compute_lowest_payment(balance: float, annual_interest_rate: float) -> float: # there is code here, but I have …

6
Pythonの.pyを.exeに変換するにはどうすればよいですか?
かなり単純なPythonプログラムを実行可能ファイルに変換しようとしていて、探していたものが見つからなかったため、いくつか質問があります(Python 3.6を実行しています)。 これまでに見つけた方法は次のとおりです 古いバージョンのPythonをダウンロードして使用する pyinstaller/py2exe Python 3.6で仮想環境をセットアップして、これを実行できるようにする1。 PythonからC ++へのコンバーターをダウンロードして使用する。 これが私が試したこと/私が遭遇した問題です。 pyinstaller必要なダウンロードの前にそれをインストールしたので(pypi-something)、動作しませんでした。前提条件ファイルをダウンロードした後pyinstallerも、それが認識されません。 Python 2.7でvirtualenvを設定している場合、実際にPython 2.7をインストールする必要がありますか? 同様に、私が目にする唯一のpythonからC ++へのコンバーターは、Python 3.5までしか機能しません。これを試みる場合、このバージョンをダウンロードして使用する必要がありますか?

16
Python 3.6.1がAttributeErrorをスローする理由:モジュール 'enum'に属性 'IntFlag'がないのはなぜですか?
MacOS XにPython 3.6.1をインストールしました コンソールを実行しようとすると(またはPython3で何かを実行しようとすると)、次のエラーがスローされます。 AttributeError: module 'enum' has no attribute 'IntFlag' $ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 Failed to import the site module Traceback (most recent call last): File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 544, in <module> main() File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 530, in main known_paths = addusersitepackages(known_paths) File "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", line 282, in addusersitepackages user_site = getusersitepackages() File …


10
f文字列の評価を延期/延期するにはどうすればよいですか?
私はテンプレート文字列を使用していくつかのファイルを生成していますが、以前のテンプレートコードを次のようなものから減らすために、この目的のための新しいf文字列の簡潔さが気に入っています。 template_a = "The current name is {name}" names = ["foo", "bar"] for name in names: print (template_a.format(**locals())) これで、変数を直接置き換えて、これを行うことができます。 names = ["foo", "bar"] for name in names: print (f"The current name is {name}") ただし、テンプレートを他の場所(コードの上位)で定義したり、ファイルなどからインポートしたりすることが理にかなっている場合があります。これは、テンプレートがフォーマットタグを含む静的な文字列であることを意味します。文字列を新しいf文字列として解釈するようにインタプリタに指示するには、文字列に何かが発生する必要がありますが、そのようなことがあるかどうかはわかりません。 文字列を取り込んで、.format(**locals())呼び出しの使用を回避するためにf文字列として解釈する方法はありますか? 理想的にmagic_fstring_functionは、このようにコーディングできるようにしたいです...(私が理解していない部分がどこにあるのか): template_a = f"The current name is {name}" # OR [Ideal2] template_a = magic_fstring_function(open('template.txt').read()) names …

4
forループで型に注釈を付けるにはどうすればよいですか
for-loop内の変数のタイプに注釈を付けたい。私はこれを試しました: for i: int in range(5): pass しかし、明らかにそれは機能しませんでした。 私が期待しているのは、PyCharm2016.3.2でオートコンプリートが機能していることです。このような事前注釈: i: int for i in range(5): pass 助けにはなりません。 PSプレアノテーションはPyCharm> = 2017.1で機能します

2
Python 3.6の変数アノテーションとは何ですか?
Python3.6がリリースされようとしています。PEP 494-Python 3.6のリリーススケジュールには12月末が記載されているため、Python 3.6の新機能を調べて、変数の注釈に記載されていることを確認しました。 PEP 484は、関数パラメーターの型注釈、別名型ヒントの標準を導入しました。このPEPは、クラス変数やインスタンス変数などの変数のタイプに注釈を付けるための構文をPythonに追加します。 primes: List[int] = [] captain: str # Note: no initial value! class Starship: stats: Dict[str, int] = {} 関数アノテーションの場合と同様に、Pythonインタープリターは変数アノテーションに特定の意味を付加せず__annotations__、クラスまたはモジュールの特別な属性にのみ格納します。静的に型付けされた言語での変数宣言とは対照的に、注釈構文の目標は、抽象構文ツリーと__annotations__属性を介してサードパーティのツールとライブラリの構造化型メタデータを指定する簡単な方法を提供することです。 したがって、私が読んだものから、それらはPython 3.5からの型ヒントの一部であり、Python3.5の型ヒントとはで説明されています。 私はcaptain: strとのclass Starship例に従いますが、最後の例についてはよくわかりません:どのようにprimes: List[int] = []説明しますか?整数のみを許可する空のリストを定義していますか?

2
`typing.NamedTuple`サブクラスの` super`はPython 3.8で失敗します
Python 3.6では機能し、Python 3.8では失敗するコードがあります。次のように要約するとsuper、のサブクラスを呼び出すtyping.NamedTupleようになります。 <ipython-input-2-fea20b0178f3> in <module> ----> 1 class Test(typing.NamedTuple): 2 a: int 3 b: float 4 def __repr__(self): 5 return super(object, self).__repr__() RuntimeError: __class__ not set defining 'Test' as <class '__main__.Test'>. Was __classcell__ propagated to type.__new__? In [3]: class Test(typing.NamedTuple): ...: a: int ...: b: float ...: #def __repr__(self): …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.