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

Pythonは、マルチパラダイム、動的型付け、多目的プログラミング言語です。これは、学習、理解、使用が迅速で、クリーンで統一された構文を適用できるように設計されています。Python 2は2020年1月1日をもって正式にサポートされなくなりました。それでも、バージョン固有のPythonの質問については、[python-2.7]または[python-3.x]タグを追加します。Pythonのバリアントまたはライブラリ(Jython、PyPy、Pandas、Numpyなど)を使用する場合は、タグに含めてください。

2
Djangoのmanage.pyテストコマンド中に実行されたテストを確認する方法
Djangoのmanage.py testコマンドを使用してテストの実行が終了すると、合格したテストの数だけがコンソールに出力されます。 (virtualenv) G:\Project\>python manage.py test Creating test database for alias 'default'... True .. ---------------------------------------------------------------------- Ran 2 tests in 0.017s OK Destroying test database for alias 'default'... 見る方法はありますか: 実際に実行されたテスト どのモジュールから どのような順序で ドキュメントに解決策が見つかりませんでした。

9
PandasDataFrameで無効な値をNoneに置き換えます
NonePythonのPandasで値を置き換える方法はありますか? df.replace('pre', 'post')値を使用して別の値に置き換えることはできますが、値に置き換えたい場合はこれを行うことができずNone、試してみると奇妙な結果が得られます。 だからここに例があります: df = DataFrame(['-',3,2,5,1,-5,-1,'-',9]) df.replace('-', 0) これは成功した結果を返します。 だが、 df.replace('-', None) これは次の結果を返します: 0 0 - // this isn't replaced 1 3 2 2 3 5 4 1 5 -5 6 -1 7 -1 // this is changed to `-1`... 8 9 なぜそのような奇妙な結果が返されるのですか? このデータフレームをMySQLデータベースに注ぎたいのでNaN、データフレームのどの要素にも値を入れることができず、代わりに入れたいと思いNoneます。確かに、あなたは最初に変更することができます'-'しNaN、その後の変換NaNにNone、私はデータフレームは、このようなひどいやり方で動作する理由を知りたいです。 Python2.7およびOSX10.8のパンダ0.12.0devでテスト済み。PythonはOSXにプリインストールされているバージョンであり、参考までに、SciPySuperpackスクリプトを使用してパンダをインストールしました。

11
Jupyterノートブックでリストをテーブルとして出力するにはどうすればよいですか?
私は以前どこかでいくつかの例を見たことがあることを知っていますが、私の人生の間、グーグルでそれを見つけることができません。 データの行がいくつかあります。 data = [[1,2,3], [4,5,6], [7,8,9], ] そして、このデータをテーブルに出力したい、例えば +---+---+---+ | 1 | 2 | 3 | +---+---+---+ | 4 | 5 | 6 | +---+---+---+ | 7 | 8 | 9 | +---+---+---+ もちろん、prettytableのようなライブラリを使用したり、パンダなどをダウンロードしたりすることはできますが、それを行うことに非常に興味がありません。 Jupyterノートブックセルにテーブルとして行を出力したいだけです。どうすればよいですか?

7
bがリストの場合、b + =(4、)が機能し、b = b +(4、)が機能しないのはなぜですか?
私たちが取っb = [1,2,3]てやってみたら:b+=(4,) それはを返しますがb = [1,2,3,4]、実行しようとしてb = b + (4,)も機能しません。 b = [1,2,3] b+=(4,) # Prints out b = [1,2,3,4] b = b + (4,) # Gives an error saying you can't add tuples and lists 私は期待b+=(4,)は、リストやタプルを追加することはできませんとして失敗し、それが働きました。b = b + (4,)同じ結果が得られることを期待して試してみましたが、うまくいきませんでした。

9
更新エラー「モジュール」オブジェクトが呼び出し不可能になった後、pipが機能しなくなった
pipの更新後、pipは完全に機能しなくなりました。 Z:\>pip install matplotlib Traceback (most recent call last): File "c:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\program files\python37\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Program Files\Python37\Scripts\pip.exe\__main__.py", line 9, in <module> TypeError: 'module' object is not callable 何か助けてください? 編集:Windows 10で作業しています

2
Python 3.8を使用したJupyter Notebook-NotImplementedError
最近Python 3.8にアップグレードされ、インストールされましたjupyter。ただし、実行しようとするjupyter notebookと、次のエラーが発生します。 File "c:\users\user\appdata\local\programs\python\python38\lib\site-packages\tornado\platform\asyncio.py", line 99, in add_handler self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ) File "c:\users\user\appdata\local\programs\python\python38\lib\asyncio\events.py", line 501, in add_reader raise NotImplementedError NotImplementedError ProactorEventLoopデフォルトでWindowsに切り替えられたPython 3.8を知っているので、これに関連していると思います。 Jupyterは現在Python 3.8をサポートしていませんか?回避策はありますか?

5
デコレータでPython関数定義をバイパスする方法は?
グローバル設定(OSなど)に基づいてPython関数定義を制御できるかどうかを知りたいです。例: @linux def my_callback(*args, **kwargs): print("Doing something @ Linux") return @windows def my_callback(*args, **kwargs): print("Doing something @ Windows") return 次に、誰かがLinuxを使用している場合、最初の定義my_callbackが使用され、2番目の定義は黙って無視されます。 OSを決定することではなく、関数定義/デコレータについてです。


4
セットを繰り返し処理しながらセットに追加したり、セットから削除したりすると、なぜこれだけ多くの反復が行われるのですか?
Pythonのforループを理解しようとすると、{1}1回の反復で結果が得られるか、Cや他の言語のように反復を行うかによって、無限ループに陥るだろうと思いました。しかし、実際にはどちらもしませんでした。 >>> s = {0} >>> for i in s: ... s.add(i + 1) ... s.remove(i) ... >>> print(s) {16} なぜ16回反復するのですか?結果は{16}どこから来ますか? これはPython 3.8.2を使用していました。pypyでは期待どおりの結果になり{1}ます。

1
a.insert(0,0)がa [0:0] = [0]よりもはるかに遅いのはなぜですか?
リストのinsert関数を使用すると、スライス割り当てを使用して同じ効果を得るよりもはるかに遅くなります。 > python -m timeit -n 100000 -s "a=[]" "a.insert(0,0)" 100000 loops, best of 5: 19.2 usec per loop > python -m timeit -n 100000 -s "a=[]" "a[0:0]=[0]" 100000 loops, best of 5: 6.78 usec per loop (a=[]これは設定にすぎないため、a空から開始されますが、100,000要素まで増加します。) 最初は多分それは属性ルックアップか関数呼び出しのオーバーヘッドかと思ったが、最後の方に挿入するとそれは無視できることを示している: > python -m timeit -n 100000 -s "a=[]" "a.insert(-1,0)" 100000 loops, …

3
TypeError:attrib()が予期しないキーワード引数 'convert'を取得しました
このエラーは、を使用したCIサーバーでのpythonプロジェクトの自動テスト中に発生しましたpytest。私は使用していpytest==4.0.2ます。このエラーは発生し始めたばかりで、以前のパイプラインは正常に動作しているようです。 完全なエラー: File "/usr/local/lib/python3.7/site-packages/_pytest/tmpdir.py", line 35, in TempPathFactory lambda p: Path(os.path.abspath(six.text_type(p))) TypeError: attrib() got an unexpected keyword argument 'convert'
55 python  pytest 

3
関数型プログラミングの「部分関数」とは、正確にはどういう意味ですか?
私の理解によると、部分関数は、関数に渡すパラメーターが予想よりも少ないことで得られる関数です。たとえば、これがPythonで直接有効だった場合: >>> def add(x,y): ... return x+y ... >>> new_function = add(1) >>> new_function(2) 3 上記のスニペットでnew_functionは、部分的な関数です。ただし、Haskell Wikiによれば、部分関数の定義は 部分関数は、指定されたタイプのすべての可能な引数に対して定義されていない関数です。 だから、私の質問は、「部分的な機能」とは正確には何を意味するのですか?

2
Pythonで整数除算と浮動小数点から整数への変換の違いの理由は何ですか?
私は最近int()、浮動小数点を0に向かって丸めるのに対し、整数除算は浮動小数点をその床に向かって丸めることに気づきました。 例えば: -7 // 2 = -4 int(-7/2) = -3 私は指定するドキュメントを読みました: クラスint(x、base = 10) 数値または文字列xから構成される整数オブジェクトを返すか、引数が指定されていない場合は0を返します。xが数値の場合、xを返します。int()。浮動小数点数の場合、これはゼロに向かって切り捨てられます。 そして: 階分割 最も近い整数に切り捨てる数学除算。フロア除算演算子は//です。たとえば、式11 // 4は、floatのtrue除算によって返される2.75とは対照的に、2に評価されます。(-11)// 4は-3であることに注意してください。PEP 238を参照してください。 しかし、2つの同様の演算(浮動小数点から整数への除算)が異なる結果を返す必要があることは、私には非論理的です。 機能の違いに動機はありますか? ありがとうございました。

7
2番目のものが短いzip圧縮されたPythonジェネレーター:サイレントに消費される要素を取得する方法
(潜在的に)異なる長さの2つのジェネレーターを解析したいzip: for el1, el2 in zip(gen1, gen2): print(el1, el2) ただし、gen2要素の数が少ない場合、の1つの追加要素gen1が「消費」されます。 例えば、 def my_gen(n:int): for i in range(n): yield i gen1 = my_gen(10) gen2 = my_gen(8) list(zip(gen1, gen2)) # Last tuple is (7, 7) print(next(gen1)) # printed value is "9" => 8 is missing gen1 = my_gen(8) gen2 = my_gen(10) list(zip(gen1, …

7
2 ** n-1を再帰関数として記述する方法は?
nを受け取り、2 n -1を返す関数が必要です。簡単に聞こえますが、関数は再帰的でなければなりません。これまでのところ、私は2 nしかありません: def required_steps(n): if n == 0: return 1 return 2 * req_steps(n-1) 演習では、「パラメータnは常に正の整数であり、0より大きいと想定できます。
49 python  recursion 

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