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

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

6
「else if」の正しい構文は何ですか?
私は2.6.4から3.1.1に飛躍している新しいPythonプログラマーです。「else if」ステートメントを使用するまで、すべてがうまくいきました。インタプリタは、私が理解できない理由のために、「else if」の「if」の後に構文エラーを表示します。 def function(a): if a == '1': print ('1a') else if a == '2' print ('2a') else print ('3a') function(input('input:')) おそらく非常に単純なものが足りないでしょう。しかし、私は自分で答えを見つけることができませんでした。
284 python  python-3.x 

8
変更された環境でのPythonサブプロセス/ Popen
少し変更された環境で外部コマンドを実行することは非常に一般的なケースだと思います。それは私がそれをする傾向がある方法です: import subprocess, os my_env = os.environ my_env["PATH"] = "/usr/sbin:/sbin:" + my_env["PATH"] subprocess.Popen(my_command, env=my_env) 私にはもっと良い方法があると直感しています。大丈夫ですか?
284 python  subprocess  popen 

2
一部のfloat <integer比較が他のものより4倍遅いのはなぜですか?
浮動小数点数を整数と比較する場合、値のペアによっては、同様の大きさの他の値よりも評価に時間がかかります。 例えば: &gt;&gt;&gt; import timeit &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953421000") # run 1 million times 0.5387085462592742 しかし、浮動小数点数または整数を一定量だけ小さくまたは大きくすると、比較ははるかに速く実行されます。 &gt;&gt;&gt; timeit.timeit("562949953420000.7 &lt; 562949953422000") # integer increased by 1000 0.1481498428446173 &gt;&gt;&gt; timeit.timeit("562949953423001.8 &lt; 562949953421000") # float increased by 3001.1 0.1459577925548956 比較演算子を変更しても(例:==または&gt;代わりに)、時間に顕著な影響を与えることはありません。 大きい値または小さい値を選択すると比較が高速になるため、これはマグニチュードだけに関連しているわけではないので、ビットの並び方が不運なことにあるのではないかと思います。 明らかに、これらの値を比較することは、ほとんどのユースケースで十分な速さです。なぜPythonが他の値のペアよりもいくつかの値のペアで苦労しているように見えるのか、私は単に興味があります。

12
コンパイルされた言語と解釈された言語
私は違いをよりよく理解しようとしています。私はオンラインで多くの説明を見つけましたが、実際的な影響よりも抽象的な違いに向かう傾向があります。 私のプログラミング経験のほとんどは、CPython(動的、解釈済み)、およびJava(静的、コンパイル済み)での経験があります。ただし、他の種類のインタープリター型およびコンパイル型言語があることは理解しています。コンパイルされた言語で記述されたプログラムから実行可能ファイルを配布できるという事実は別として、各タイプに利点/欠点はありますか?インタプリタ言語はインタラクティブに使用できると人々が主張することをよく耳にしますが、コンパイルされた言語にもインタラクティブな実装があると思いますよね?

12
PythonでのCライブラリのラッピング:C、Cythonまたはctypes?
PythonアプリケーションからCライブラリを呼び出したいのですが。API全体をラップするのではなく、自分のケースに関連する関数とデータ型のみをラップします。それを見ると、私は3つの選択肢があります。 Cで実際の拡張モジュールを作成します。おそらくやり過ぎです。また、拡張の記述を学習するオーバーヘッドを回避したいと思います。 Cythonを使用して、CライブラリからPythonに関連パーツを公開します。 Pythonですべてをctypes行い、外部ライブラリとの通信に使用します。 2)と3)のどちらが良い選択かわかりません。3)の利点は、それctypesが標準ライブラリの一部であり、結果のコードが純粋なPythonになることです。ただし、その利点が実際にどれほど大きいかはわかりません。 どちらを選択しても、長所/短所はありますか?どちらのアプローチをお勧めしますか? 編集:すべての回答に感謝します。同様のことをしたいと考えているすべての人に役立つリソースを提供します。もちろん、決定はまだ1つのケースに対して行われることになっています。「これは正しいことです」という種類の答えはありません。私自身のケースでは、おそらくctypesを使用しますが、他のプロジェクトでCythonを試すことも楽しみにしています。 正解は1つではないため、1つを受け入れることはいくぶん恣意的です。私はFogleBirdの回答を選択しました。これはctypesに対するいくつかの優れた洞察を提供し、現在、最も投票された回答でもあるからです。ただし、概要を理解するためにすべての回答を読むことをお勧めします。 再度、感謝します。
284 python  c  ctypes  cython 

6
SyntaxError:関数が '£'を返す場合、ファイル内の非ASCII文字 '\ xa3'
私に機能があるとしましょう: def NewFunction(): return '£' シャープ記号を前に付けて印刷したいのですが、このプログラムを実行しようとするとエラーが表示され、次のエラーメッセージが表示されます。 SyntaxError: Non-ASCII character '\xa3' in file 'blah' but no encoding declared; see http://www.python.org/peps/pep-0263.html for details 誰でも、リターン関数にポンド記号を含める方法を教えてもらえますか?基本的にはクラスで使用しています'__str__'が、ポンド記号が含まれているのはその部分です。


23
文字列の複数の部分文字列を置き換える方法は?
.replace関数を使用して複数の文字列を置き換えたいのですが。 私は現在持っています string.replace("condition1", "") しかし、次のようなものが欲しい string.replace("condition1", "").replace("condition2", "text") それは良い構文のようには感じられませんが これを行う適切な方法は何ですか?grepを/正規表現であなたが行うことができますどのようにのようなの種類\1や\2特定の検索文字列にフィールドを交換します
284 python  text  replace 

9
Djangoの日時の問題(default = datetime.now())
以下のdbモデルがあります: from datetime import datetime class TermPayment(models.Model): # I have excluded fields that are irrelevant to the question date = models.DateTimeField(default=datetime.now(), blank=True) 以下を使用して新しいインスタンスを追加します。 tp = TermPayment.objects.create(**kwargs) 私の問題:データベースのすべてのレコードの日付フィールドの値が同じです。これは最初の支払いの日付です。サーバーの再起動後、1つのレコードには新しい日付が含まれ、他のレコードには最初のレコードと同じ日付が含まれます。一部のデータがキャッシュされているように見えますが、どこにあるかわかりません。 データベース:mysql 5.1.25 ジャンゴv1.1.1
283 python  django 

13
python:変数が配列かスカラーかを識別する方法
引数を取る関数がありますNBins。この関数をスカラー50または配列で呼び出したいのですが[0, 10, 20, 30]。関数内でどのようにして長さを特定できNBinsますか?それともスカラーまたはベクトルの場合は別の言い方をしますか? 私はこれを試しました: &gt;&gt;&gt; N=[2,3,5] &gt;&gt;&gt; P = 5 &gt;&gt;&gt; len(N) 3 &gt;&gt;&gt; len(P) Traceback (most recent call last): File "&lt;stdin&gt;", line 1, in &lt;module&gt; TypeError: object of type 'int' has no len() &gt;&gt;&gt; 見ての通り、私は適用することはできませんlenしP、それは、配列ではないのですから、......のようなものがあるisarrayかisscalarのpythonでは? ありがとう

5
Python 2.7でサブプロセスの出力を非表示にする方法
私はUbuntuでeSpeakを使用していて、メッセージを出力して話すPython 2.7スクリプトがあります。 import subprocess text = 'Hello World.' print text subprocess.call(['espeak', text]) eSpeakは目的のサウンドを生成しますが、いくつかのエラー(ALSA lib ...、ソケット接続なし)でシェルを乱雑にするため、以前に印刷されたものを簡単に読み取ることができません。終了コードは0です。 残念ながら、その冗長性をオフにする文書化されたオプションはないので、それを視覚的にのみ沈黙させ、オープンシェルをクリーンな状態に保ち、さらに対話する方法を探しています。 これどうやってするの?

9
2つの文字列間の類似性メトリックを見つける
文字列がPythonの別の文字列と類似している確率を取得するにはどうすればよいですか? 0.9(90%を意味する)などの10進数値を取得したいのですが、できれば標準のPythonとライブラリを使用します。 例えば similar("Apple","Appel") #would have a high prob. similar("Apple","Mango") #would have a lower prob.



13
メールの添付ファイルを送信する方法は?
Pythonを使用して添付ファイルを電子メールで送信する方法を理解できません。で簡単なメッセージを送信できましたsmtplib。メールで添付ファイルを送信する方法を誰かに説明してもらえますか?他の投稿がオンラインにあることは知っていますが、Pythonの初心者として、それらを理解するのは難しいと思います。
283 python  email 

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