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

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

6
SQLAlchemy IN句
私はsqlalchemyでこのクエリを実行しようとしています SELECT id, name FROM user WHERE id IN (123, 456) [123, 456]実行時にリストをバインドしたいと思います。
237 python  sqlalchemy 

7
NumPy配列の初期化(同一の値で埋める)
n各要素がである長さのNumPy配列を作成する必要がありますv。 より良いものはありますか: a = empty(n) for i in range(n): a[i] = v 私が知っているzerosとones、V Iは、使用することができます= 0、1のために働くだろうv * ones(n)が、それは時に動作しませんvでNone、またはるかに遅くなります。
237 python  arrays  numpy 

18
Pythonがgit bashのコマンドラインで機能しない
Pythonはgit bash(Windows)では実行されません。コマンドラインでpythonと入力すると、Powershellでのようにpython 2.7.10に入ったことを言わずに空白行に移動します。エラーメッセージは表示されませんが、Pythonが実行されません。 PATHに環境変数が含まれていることを確認しましたc:\python27。他に何を確認できますか? この問題が発生するセッションは次のようになります。 user@hostname MINGW64 ~ $ type python python is /c/Python27/python user@hostname MINGW64 ~ $ python ...プロンプトに戻らずにそこに座っています。

9
変数がクラスかどうかを確認するにはどうすればよいですか?
変数がクラス(インスタンスではない!)かどうかを確認する方法を考えていました。 isinstance(object, class_or_type_or_tuple)これを行うために関数を使用しようとしましたが、クラスがどのような型になるかわかりません。 たとえば、次のコードでは class Foo: pass isinstance(Foo, **???**) # i want to make this return True. 「class」を???に置き換えてみました 、しかし私はそれclassがpythonのキーワードであることを認識しました。
236 python  reflection 


9
Pythonでバージョン番号を比較するにはどうすればよいですか?
これらの卵をに追加するために、卵を含むディレクトリを歩いていますsys.path。ディレクトリに同じ.eggの2つのバージョンがある場合、最新のバージョンのみを追加します。 r"^(?P<eggName>\w+)-(?P<eggVersion>[\d\.]+)-.+\.egg$ファイル名から名前とバージョンを抽出する正規表現があります。問題は、のような文字列であるバージョン番号を比較することです2.3.1。 文字列を比較しているので、2は10より上でソートされますが、バージョンでは正しくありません。 >>> "2.3.1" > "10.1.1" True 分割、解析、intへのキャストなどを行うことができ、最終的には回避策が得られます。しかし、これはPythonではなく、Javaです。バージョン文字列を比較するエレガントな方法はありますか?

15
メソッドパラメータ名を取得する方法
Python関数を考える: def a_method(arg1, arg2): pass 引数の数と名前を抽出するにはどうすればよいですか。つまり、への参照があることを前提としてfunc、func.[something]を返し("arg1", "arg2")ます。 これの使用シナリオは、デコレータがあり、メソッドの引数を実際の関数にキーとして表示されるのと同じ順序で使用したい場合です。つまり、デコレータは、"a,b"呼び出したときに印刷されたように見えますa_method("a", "b")か?


3
Pythonでタイプヒントを使用してデフォルトのパラメーター値を追加する
このような機能がある場合: def foo(name, opts={}): pass パラメータに型ヒントを追加したいのですが、どうすればよいですか?私が想定した方法では、構文エラーが発生します。 def foo(name: str, opts={}: dict) -> str: pass 以下は構文エラーをスローしませんが、このケースを処理する直感的な方法のようには見えません。 def foo(name: str, opts: dict={}) -> str: pass typingドキュメントやGoogle検索で何も見つかりません。 編集:デフォルトの引数がPythonでどのように機能するかは知りませんでしたが、この質問のために、上の例をそのまま使用します。一般に、次のことを行う方がはるかに適切です。 def foo(name: str, opts: dict=None) -> str: if not opts: opts={} pass

10
Matplotlib 2サブプロット、1カラーバー
Matplotlibの2つのサブプロットが同じy軸を共有し、2つのサブプロットが2つのサブプロット間で共有されるようにする方法を調査するのに、あまりにも長い時間を費やしてきました。 起こっていたのは、またはのcolorbar()いずれsubplot1かsubplot2で関数を呼び出したときに、カラーバーとプロットが「サブプロット」の境界ボックス内に収まるようにプロットを自動スケーリングし、2つの横並びのプロットが2つの非常に異なるものになることでした。サイズ。 これを回避するために、3番目のサブプロットを作成しようとしましたが、これをハッキングして、カラーバーだけが存在するプロットをレンダリングしませんでした。唯一の問題は、2つのプロットの高さと幅が不均一になり、見栄えをよくする方法がわかりません。 これが私のコードです: from __future__ import division import matplotlib.pyplot as plt import numpy as np from matplotlib import patches from matplotlib.ticker import NullFormatter # SIS Functions TE = 1 # Einstein radius g1 = lambda x,y: (TE/2) * (y**2-x**2)/((x**2+y**2)**(3/2)) g2 = lambda x,y: -1*TE*x*y / ((x**2+y**2)**(3/2)) kappa = lambda …

9
PEP-8が行の最大長を79文字に指定しているのはなぜですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 なぜこの千年紀にPython PEP-8が最大行長を79文字に指定する必要があるのですか? ほぼすべてのコードエディタは、長い行を処理できます。ラッピングをどうするかは、コンテンツ作成者の責任ではなく、コンテンツ利用者の選択であるべきです。 この時代に79のキャラクターを厳守する(正当な)正当な理由はありますか?
235 python  pep8 

18
virtualenvをアクティブにする方法は?
私は検索をして、成功せずにさまざまな代替案を試してみましたが、数日間過ごしました-私を怒らせました。 Python 2.5.2を搭載したRed Hat Linuxでの実行最新のVirtualenvの使用を開始しましたが、アクティブ化できませんでした。どこかで以前のバージョンが必要であることを示唆しているため、Python 2.6で動作するはずのVirtualenv 1.6.4を使用しました。 仮想環境をインストールしているようです [necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual New python executable in virtual/bin/python Installing setuptools............done. Installing pip...............done. 環境はまあまあ [necrailk@server6 ~]$ cd virtual [necrailk@server6 ~/virtual]$ dir bin include lib アクティブにしようとしています [necrailk@server6 ~/virtual]$ . bin/activate /bin/.: Permission denied. チェックされたchmod [necrailk@server6 ~/virtual]$ cd bin [necrailk@server6 bin]$ ls -l …
235 python  linux  virtualenv 

4
pandas.DataFrameから複雑な基準で選択する
たとえば、私は単純なDFを持っています: import pandas as pd from random import randint df = pd.DataFrame({'A': [randint(1, 9) for x in xrange(10)], 'B': [randint(1, 9)*10 for x in xrange(10)], 'C': [randint(1, 9)*100 for x in xrange(10)]}) Pandasのメソッドとイディオムを使用して、「B」の対応する値が50を超える「A」と「C」-900以外の値を選択できますか?
235 python  pandas 


9
行ごとにサブプロセスstdoutを読み取る
私のpythonスクリプトはサブプロセスを使用して、非常にうるさいlinuxユーティリティを呼び出します。すべての出力をログファイルに保存し、その一部をユーザーに表示します。次の方法でうまくいくと思いましたが、ユーティリティが大量の出力を生成するまで、出力はアプリケーションに表示されません。 #fake_utility.py, just generates lots of output over time import time i = 0 while True: print hex(i)*512 i += 1 time.sleep(0.5) #filters output import subprocess proc = subprocess.Popen(['python','fake_utility.py'],stdout=subprocess.PIPE) for line in proc.stdout: #the real code does filtering here print "test:", line.rstrip() 私が本当に望んでいる動作は、フィルタースクリプトがサブプロセスから受け取った各行を出力することです。Sortaは何をするのかteeが好きですが、Pythonコードを使用しています。 何が欠けていますか?これは可能ですか? 更新: a sys.stdout.flush()がfake_utility.pyに追加された場合、コードはPython 3.1で望ましい動作をします。Python 2.6を使用しています。を使用proc.stdout.xreadlines()するとpy3kと同じように機能すると思いますが、そうではありません。 アップデート2: …
235 python  subprocess 

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