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

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


7
Pythonでの文字列と整数の連結
Pythonではあなたが持っていると言います s = "string" i = 0 print s+i あなたにエラーを与えるので、あなたは書く print s+str(i) エラーが発生しないようにします。 これは、intとstringの連結を処理するための非常に不格好な方法だと思います。このような連結を行うために、JavaでさえStringへの明示的なキャストを必要としません。この種の連結を行う、つまりPythonで明示的なキャストを行わないより良い方法はありますか?

10
Djangoのメモリ使用量の削減。容易に解決できる問題?
私のメモリ使用量は時間とともに増加し、Djangoの再起動はユーザーに親切ではありません。 メモリ使用量のプロファイリングを行う方法がわかりませんが、測定を開始する方法に関するいくつかのヒントが役立つでしょう。 大きな利益を生み出すことができるいくつかの簡単なステップがあると感じています。「デバッグ」が「False」に設定されていることを確認することは、明らかに重要です。 誰かが他の人を提案できますか?トラフィックの少ないサイトでのキャッシングはどの程度改善されますか? この場合、私はApache 2.xでmod_pythonを実行しています。mod_wsgiは少しスリムであると聞いたことがありますが、大幅な向上が見込めない場合は、この段階で切り替えるのは難しいでしょう。 編集:これまでのヒントをありがとう。メモリを消費しているものを見つける方法はありますか?Pythonメモリプロファイリングのガイドはありますか? また、前述のように、mod_wsgiに切り替えるのが難しいいくつかのことがあるので、その方向に進む前に期待できる利益について考えたいと思います。 編集:カールは、ここに読む価値がある少し詳細な返信を投稿しました:Djangoデプロイメント:Apacheのオーバーヘッドの削減 編集: グラハム・ダンプルトンの記事は、MPMおよびmod_wsgi関連のもので私が見つけた中で最高です。ただし、アプリ自体のメモリ使用量のデバッグに関する情報を誰も提供できなかったことにはかなりがっかりしています。 最終編集:まあ、私はこれをWebfactionと話し合って、Apacheの再コンパイルを支援できるかどうかを確認してきました。 「MPMワーカー+ mod_wsgi設定に切り替えることで、多くのメリットが得られるとは思いません。20MB程度節約できると思いますが、それ以上ではないでしょう。」 そう!これにより、元の質問に戻ります(私はまだ賢明ではありません)。問題がどこにあるのかを特定するにはどうすればよいですか?最適化する必要がある場所を確認するためのテストなしに最適化しないことはよく知られた格言ですが、Pythonのメモリ使用量の測定に関するチュートリアルはほとんどなく、Djangoに固有のものはありません。 皆様のご協力に感謝しますが、この質問はまだオープンだと思います! 別の最終編集;-) 私はdjango-usersリストでこれを尋ね、いくつかの非常に役立つ返信を得ました 正直なところ、これまでの最後の更新! これはリリースされたばかりです。:まだ最善の解決策かもしれないPymplerでのプロファイリングDjangoのオブジェクトのサイズやメモリ使用量

2
出力を割り当てない限り、Python文字列メソッドを呼び出さないのはなぜですか?
単純な文字列置換を実行しようとしましたが、それが機能しないように見える理由がわかりません。 X = "hello world" X.replace("hello", "goodbye") 単語helloをに変更したいgoodbyeので、文字列"hello world"をに変更する必要があります"goodbye world"。しかし、Xはそのまま残り"hello world"ます。コードが機能しないのはなぜですか?
136 python  string  replace 

8
動的選択フィールドの作成
djangoで動的選択フィールドを作成する方法を理解しようとして問題が発生しています。私は次のようなモデルを設定しています: class rider(models.Model): user = models.ForeignKey(User) waypoint = models.ManyToManyField(Waypoint) class Waypoint(models.Model): lat = models.FloatField() lng = models.FloatField() 私がやろうとしていることは、選択したフィールドを作成することです。値は、そのライダー(ログインしている人)に関連付けられたウェイポイントです。 現在、私は自分のフォームのinitを次のようにオーバーライドしています: class waypointForm(forms.Form): def __init__(self, *args, **kwargs): super(joinTripForm, self).__init__(*args, **kwargs) self.fields['waypoints'] = forms.ChoiceField(choices=[ (o.id, str(o)) for o in Waypoint.objects.all()]) ただし、すべてのウェイポイントをリストするだけで、特定のライダーに関連付けられているわけではありません。何か案は?ありがとう。

12
virtualenv --no-site-packagesとpipはまだグローバルパッケージを探していますか?
私はvirtualenv --no-site-packages完全に分離した孤立したPython環境を作成するという印象を受けましたが、そうではありません。 たとえば、python-djangoをグローバルにインストールしていますが、Djangoの異なるバージョンでvirtualenvを作成したいと考えています。 $ virtualenv --no-site-packages foo New python executable in foo/bin/python Installing setuptools............done. $ pip -E foo install Django Requirement already satisfied: Django in /usr/share/pyshared Installing collected packages: Django Successfully installed Django 私が知ることができることから、pip -E foo install上記はDjangoの新しいバージョンを再インストールすることになっています。また、pipに環境をフリーズするように指示すると、大量のパッケージが取得されます。--no-site-packagesこれで新鮮な環境が空白になると思いますか? $ pip -E foo freeze 4Suite-XML==1.0.2 BeautifulSoup==3.1.0.1 Brlapi==0.5.3 BzrTools==1.17.0 Django==1.1 ... and so …
136 python  virtualenv  pip 

9
Pythonで式0 <0 == 0がFalseを返すのはなぜですか?
Python 2.6のQueue.pyを調べたところ、この構造が少し変であることがわかりました。 def full(self): """Return True if the queue is full, False otherwise (not reliable!).""" self.mutex.acquire() n = 0 &lt; self.maxsize == self._qsize() self.mutex.release() return n maxsizeが0の場合、キューがいっぱいになることはありません。 私の質問は、このケースではどのように機能するのですか?どのように0 &lt; 0 == 0偽りと見なされますか? &gt;&gt;&gt; 0 &lt; 0 == 0 False &gt;&gt;&gt; (0) &lt; (0 == 0) True &gt;&gt;&gt; (0 &lt; 0) …
136 python 

3
SQLALCHEMY_TRACK_MODIFICATIONSを無効にできるかどうかはどうすればわかりますか?
Flask-SQLAlchemyを使用するアプリを実行するたびに、SQLALCHEMY_TRACK_MODIFICATIONSオプションが無効になるという次の警告が表示されます。 /home/david/.virtualenvs/flask-sqlalchemy/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.') 私はこのオプションが何をするのかを見つけようとしましたが、Flask-SQLAlchemyのドキュメントは、このトラッキングを何が使用するかについて明確ではありません。 SQLALCHEMY_TRACK_MODIFICATIONS True(デフォルト)に設定すると、Flask-SQLAlchemyはオブジェクトの変更を追跡し、シグナルを発行します。これには追加のメモリが必要であり、不要な場合は無効にできます。 プロジェクトが必要SQLALCHEMY_TRACK_MODIFICATIONS = …


2
Pythonバッファタイプとは何ですか?
bufferPythonにはタイプがありますが、それをどのように使用できるかわかりません。 ではPythonのドキュメントの記述は以下のとおりです。 buffer(object[, offset[, size]]) オブジェクト引数は、バッファー呼び出しインターフェース(ストリング、配列、バッファーなど)をサポートするオブジェクトでなければなりません。オブジェクトの引数を参照する新しいバッファオブジェクトが作成されます。バッファオブジェクトは、オブジェクトの先頭から(または指定されたオフセットから)スライスになります。スライスはオブジェクトの終わりまで拡張されます(または、サイズ引数で指定された長さになります)。
136 python  python-2.7 

10
Pythonでオブジェクトの完全修飾クラス名を取得する
ロギングのために、Pythonオブジェクトの完全修飾クラス名を取得したいと思います。(完全修飾とは、パッケージとモジュールの名前を含むクラス名を意味します。) についてx.__class__.__name__は知っていますが、パッケージとモジュールを取得する簡単な方法はありますか?

7
tkinterアプリケーションを構築する最良の方法?
以下は、私の典型的なpython tkinterプログラムの全体的な構造です。 def funA(): def funA1(): def funA12(): # stuff def funA2(): # stuff def funB(): def funB1(): # stuff def funB2(): # stuff def funC(): def funC1(): # stuff def funC2(): # stuff root = tk.Tk() button1 = tk.Button(root, command=funA) button1.pack() button2 = tk.Button(root, command=funB) button2.pack() button3 = tk.Button(root, …
136 python  tkinter 

10
Pythonのマルチプロセッシングプールでのキーボード割り込み
PythonのマルチプロセッシングプールでKeyboardInterruptイベントを処理するにはどうすればよいですか?以下に簡単な例を示します。 from multiprocessing import Pool from time import sleep from sys import exit def slowly_square(i): sleep(1) return i*i def go(): pool = Pool(8) try: results = pool.map(slowly_square, range(40)) except KeyboardInterrupt: # **** THIS PART NEVER EXECUTES. **** pool.terminate() print "You cancelled the program!" sys.exit(1) print "\nFinally, here are the results: …

4
matplotlibのカラーマップから個々の色を取得する
cmapたとえば、カラーマップがある場合: cmap = matplotlib.cm.get_cmap('Spectral') 0から1の間で特定の色を取得するにはどうすればよいですか。0はマップの最初の色、1はマップの最後の色です。 理想的には、次のようにしてマップの中央の色を取得できます。 &gt;&gt;&gt; do_some_magic(cmap, 0.5) # Return an RGBA tuple (0.1, 0.2, 0.3, 1.0)

9
Python ElementTreeモジュール:メソッド「find」、「findall」を使用するときに、XMLファイルの名前空間を無視して一致する要素を見つける方法
「findall」のメソッドを使用して、ElementTreeモジュールでソースxmlファイルのいくつかの要素を見つけたいと思います。 ただし、ソースxmlファイル(test.xml)には名前空間があります。サンプルとしてxmlファイルの一部を切り捨てます: &lt;?xml version="1.0" encoding="iso-8859-1"?&gt; &lt;XML_HEADER xmlns="http://www.test.com"&gt; &lt;TYPE&gt;Updates&lt;/TYPE&gt; &lt;DATE&gt;9/26/2012 10:30:34 AM&lt;/DATE&gt; &lt;COPYRIGHT_NOTICE&gt;All Rights Reserved.&lt;/COPYRIGHT_NOTICE&gt; &lt;LICENSE&gt;newlicense.htm&lt;/LICENSE&gt; &lt;DEAL_LEVEL&gt; &lt;PAID_OFF&gt;N&lt;/PAID_OFF&gt; &lt;/DEAL_LEVEL&gt; &lt;/XML_HEADER&gt; サンプルのPythonコードは次のとおりです。 from xml.etree import ElementTree as ET tree = ET.parse(r"test.xml") el1 = tree.findall("DEAL_LEVEL/PAID_OFF") # Return None el2 = tree.findall("{http://www.test.com}DEAL_LEVEL/{http://www.test.com}PAID_OFF") # Return &lt;Element '{http://www.test.com}DEAL_LEVEL/PAID_OFF' at 0xb78b90&gt; 機能しますが、「{http://www.test.com}」という名前空間があるため、各タグの前に名前空間を追加するのは非常に不便です。 「find」、「findall」などのメソッドを使用する場合、ネームスペースをどのように無視できますか?

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