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

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

6
djangoテンプレートでクエリフィルタリングを実行するにはどうすればよいですか
ビュー内のPythonコードと同等のオブジェクトのセットを取得するには、djangoテンプレート内からフィルター処理されたクエリを実行する必要があります。 queryset = Modelclass.objects.filter(somekey=foo) 私のテンプレートでやりたい {% for object in data.somekey_set.FILTER %} でも、FILTERの書き方がわからないようです。

4
Pythonユーザー定義クラスをソート可能、ハッシュ可能にする
ユーザー定義クラスをPythonでソート可能および/またはハッシュ可能にする場合、どのメソッドをオーバーライド/実装する必要がありますか? 注意すべき落とし穴は何ですか? dir({})インタプリタに入力して、組み込みのdictのメソッドのリストを取得します。それらのうち、私はいくつかのサブセットを実装する必要があると思います ['__cmp__', '__eq__', '__ge__', '__gt__', '__hash__', '__le__', '__lt__', '__ne__'] Python2とは対照的にPython3に実装する必要のあるメソッドに違いはありますか?


7
Django:ユーザーがログインしたときに通知しますか?
私のDjangoアプリでは、ユーザーがログインしたときにいくつかの定期的なバックグラウンドジョブの実行を開始し、ユーザーがログアウトしたときにそれらの実行を停止する必要があるため、エレガントな方法を探しています。 ユーザーのログイン/ログアウトの通知を受け取る ユーザーのログインステータスを照会する 私の観点からすると、理想的な解決策は それぞれによって送信された信号django.contrib.auth.views.loginと... views.logout またはdjango.contrib.auth.models.User.is_logged_in()に類似した方法... User.is_active()... User.is_authenticated() Django 1.1.1にはそれがなく、ソースにパッチを適用して追加するのは気が進まない(とにかく、それを行う方法がわからない)。 一時的な解決策として、is_logged_inブールフィールドをUserProfileモデルに追加しました。これはデフォルトでクリアされ、ユーザーが最初にランディングページ(で定義LOGIN_REDIRECT_URL = '/')にアクセスしたときに設定され、後続のリクエストでクエリされます。これをUserProfileに追加したので、その目的のためだけに組み込みのUserモデルから派生してカスタマイズする必要はありません。 私はこの解決策が好きではありません。ユーザーが明示的にログアウトボタンをクリックした場合、フラグをクリアできますが、ほとんどの場合、ユーザーはページを離れるか、ブラウザーを閉じるだけです。これらの場合にフラグをクリアすることは、私には簡単ではないようです。その上(それはむしろデータモデルの明快さのニッチピッキングです)、UserProfileにis_logged_inは属していませんが、Userモデルに属しています。 誰かが別のアプローチを考えることができますか?
83 python  django  login  signals 

8
__str__と__repr__の目的は何ですか?[複製]
この質問にはすでにここに答えがあります: __str__と__repr__の違いは? (24回答) 18日前に閉店しました。 Pythonのどこにあり__str__、__repr__使用されているのか本当にわかりません。つまり__str__、オブジェクトの文字列表現を返すことがわかります。しかし、なぜ私はそれが必要なのでしょうか?どのようなユースケースシナリオで?また、私はの使用法について読みました__repr__ しかし、私が理解していないのは、どこでそれらを使用するのかということです。
83 python 

5
PythonにはRubyの|| =のような「または等しい」関数がありますか?
そうでない場合、これを行うための最良の方法は何ですか? 今私は(djangoプロジェクトのために)やっています: if not 'thing_for_purpose' in request.session: request.session['thing_for_purpose'] = 5 しかし、それはかなり厄介です。Rubyでは次のようになります。 request.session['thing_for_purpose'] ||= 5 これははるかに良いです。
83 python  ruby 

3
x座標とy座標のnumpy配列で最も近い点のインデックスを見つける
2つの2dnumpy配列があります。x_arrayにはx方向の位置情報が含まれ、y_arrayにはy方向の位置が含まれます。 次に、x、yポイントの長いリストがあります。 リスト内の各ポイントについて、そのポイントに最も近い場所(配列で指定)の配列インデックスを見つける必要があります。 私はこの質問に基づいて、機能するいくつかのコードを素朴に作成しました: numpy配列で最も近い値を見つける すなわち import time import numpy def find_index_of_nearest_xy(y_array, x_array, y_point, x_point): distance = (y_array-y_point)**2 + (x_array-x_point)**2 idy,idx = numpy.where(distance==distance.min()) return idy[0],idx[0] def do_all(y_array, x_array, points): store = [] for i in xrange(points.shape[1]): store.append(find_index_of_nearest_xy(y_array,x_array,points[0,i],points[1,i])) return store # Create some dummy data y_array = numpy.random.random(10000).reshape(100,100) x_array = numpy.random.random(10000).reshape(100,100) …

3
別のファイル/スクリプトをスレッド化または書き込むことなく、サブプロセスで関数を実行することは可能ですか?
import subprocess def my_function(x): return x + 100 output = subprocess.Popen(my_function, 1) #I would like to pass the function object and its arguments print output #desired output: 101 個別のスクリプトを使用してサブプロセスを開くことに関するドキュメントしか見つかりませんでした。関数オブジェクトを渡す方法や、関数コードを渡す簡単な方法を知っている人はいますか?

1
KerasでのTimeDistributedレイヤーの役割は何ですか?
TimeDistributedラッパーがKerasで何をするのかを把握しようとしています。 TimeDistributedは「入力のすべての時間スライスにレイヤーを適用する」と思います。 しかし、私はいくつかの実験をして、私が理解できない結果を得ました。 つまり、LSTMレイヤーに関連して、TimeDistributedレイヤーとDenseレイヤーだけで同じ結果が得られます。 model = Sequential() model.add(LSTM(5, input_shape = (10, 20), return_sequences = True)) model.add(TimeDistributed(Dense(1))) print(model.output_shape) model = Sequential() model.add(LSTM(5, input_shape = (10, 20), return_sequences = True)) model.add((Dense(1))) print(model.output_shape) どちらのモデルでも、(なし、10、1)の出力形状が得られました。 RNNレイヤーの後のTimeDistributedレイヤーとDenseレイヤーの違いを誰かが説明できますか?

7
長い関数名を複数行に分割することは可能ですか?
私たちの開発チームは、最大80文字の行長を必要とするPEP8リンターを使用しています。 Pythonで単体テストを作成するときは、各テストの機能を説明するための記述的なメソッド名が必要です。ただし、これにより、文字数制限を超えることがよくあります。 これは長すぎる関数の例です... class ClientConnectionTest(unittest.TestCase): def test_that_client_event_listener_receives_connection_refused_error_without_server(self): self.given_server_is_offline() self.given_client_connection() self.when_client_connection_starts() self.then_client_receives_connection_refused_error() 私のオプション: 短いメソッド名を書くことができます! 私は知っていますが、テスト名の説明性を失いたくありません。 長い名前を使用する代わりに、各テストの上に複数行のコメントを書くことができます! これはまともなアイデアですが、IDE(PyCharm)内でテストを実行すると、テスト名が表示されなくなります。 おそらく、円記号(論理行継続文字)を使用して行を継続できます。 残念ながら、Danの回答で述べられているように、これはPythonのオプションではありません。 テストのリンティングをやめることができます。 これはいくつかの点で理にかなっていますが、適切にフォーマットされたテストスイートを推奨するのは良いことです。 行の長さの制限を増やすことができます。 私たちのチームは、狭いディスプレイでコードを読みやすくするのに役立つため、制限があるのが好きです。したがって、これは最良のオプションではありません。 testメソッドの最初から削除することができます。 これはオプションではありません。Pythonのテストランナーは、最初にすべてのテストメソッドを必要testとします。そうしないと、それらを取得しません。 編集:一部のテストランナーでは、テスト関数を検索するときに正規表現を指定できますが、プロジェクトで作業するすべての人にとって余分な設定であるため、これは行いません。 EventListenerを独自のクラスに分離し、個別にテストすることができます。 イベントリスナーは独自のクラスにあります(そしてテストされます)。これは、ClientConnection内で発生するイベントによってトリガーされる単なるインターフェースです。この種の提案は善意があるように見えますが、誤った方向に向けられており、元の質問に答えるのに役立ちません。 BehaveのようなBDDフレームワークを使用できます。表現力豊かなテスト用に設計されています。 これは事実であり、将来的にはもっと多く使用したいと思っています。関数名を行間で分割する方法を知りたいのですが。 最終的に... Pythonに長い関数宣言を複数の行に分割する方法はありますかますか? 例えば... def test_that_client_event_listener_receives_ connection_refused_error_without_server(self): self.given_server_is_offline() self.given_client_connection() self.when_client_connection_starts() self.then_client_receives_connection_refused_error() それとも、弾丸を噛んで自分で短くする必要がありますか?
83 python 



5
Python Pandas groupby操作の結果を親データフレームの列に割り当てる方法は?
IPythonには次のデータフレームがあり、各行は単一の株です。 In [261]: bdata Out[261]: <class 'pandas.core.frame.DataFrame'> Int64Index: 21210 entries, 0 to 21209 Data columns: BloombergTicker 21206 non-null values Company 21210 non-null values Country 21210 non-null values MarketCap 21210 non-null values PriceReturn 21210 non-null values SEDOL 21210 non-null values yearmonth 21210 non-null values dtypes: float64(2), int64(1), object(4) 「yearmonth」列の各日付ごとに、すべてのキャップ加重平均リターンを計算するgroupby操作を適用したいと思います。 これは期待どおりに機能します。 In …

3
PyCharmとPYTHONPATH
私はPyCharmを初めて使用します。PYTHONPATHに使用するディレクトリがあります:c:\test\my\scripts\。このディレクトリには、インポートするモジュールがいくつかあります。私のPythonシェルでは問題なく動作します。 このディレクトリパスをPyCharmに追加して、そのディレクトリにあるものをインポートするにはどうすればよいですか?
83 python  pycharm 

7
ImportError:モックという名前のモジュールがありません
そのため、unittest.mockを使用して、単体テストでいくつかのメソッドをモックしようとしています。私がやります: from unittest.mock import MagicMock f = open("data/static/mock_ffprobe_response") subprocess.check_output = MagicMock(return_value=f.read()) f.close() しかし、私は得ています: ImportError: No module named mock 私は試した: pip install mock それはまだ機能していません。

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