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

Pythonは動的に型付けされた、高レベルのインタープリタ型プログラミング言語です。その設計は、明確な構文、オブジェクト指向プログラミングへの直感的なアプローチ、および物事を明確にする正しい方法を作ることに焦点を当てています。Pythonはモジュールと例外をサポートし、広範な標準モジュールライブラリを備えています。Pythonは汎用であり、Webから組み込みシステムまで幅広く使用されています。

6
単一引用符と二重引用符[閉じた]
Javaのバックグラウンドから来てPythonを書く仕事を始めたばかりで、他の開発者''は二重引用符()ではなく一重引用符("")を使用して文字列を引用する傾向があることに気付きました。例えば: line1 = 'This is how strings typically look.' line2 = "Not like this." これには、個人的な好み以外に特別な理由がありますか?これは文字列を引用する適切な方法ですか?特に、私が知りたいのは、このスタイルのコーディングを推進する何らかの標準または受け入れられたベストプラクティスがあるかどうかです。

8
try ...最終的にcatch節なしで使用するのはなぜですか?
プログラムの古典的な方法はtry ... catchです。tryなしで使用するのが適切なのはいつcatchですか? Pythonでは、以下は正当であると思われ、意味をなします。 try: #do work finally: #do something unconditional ただし、コードはcatch何もしませんでした。同様に、Javaでは次のように考えることができます。 try { //for example try to get a database connection } finally { //closeConnection(connection) } 見た目が良く、突然例外の種類などを心配する必要はありません。これが良い習慣である場合、いつ良い習慣ですか?あるいは、これが良い習慣ではない、または合法でない理由は何ですか?(ソースをコンパイルしませんでした。Javaの構文エラーの可能性があるため、質問しています。Pythonが確実にコンパイルされることを確認しました。) 私が遭遇した関連する問題はこれです:私は関数/メソッドを書き続け、最後に何かを返さなければなりません。ただし、到達してはならない場所にある可能性があり、戻りポイントである必要があります。したがって、上記の例外を処理したとしてもNULL、コード内の到達すべきでないポイント(多くの場合はメソッド/関数の終わり)で、空の文字列を返すか、空のままにします。私は常にコードを再構築し、そうする必要がないようにしていますreturn NULL。なぜなら、それは絶対に良い習慣ではないように見えるからです。

5
Pythonは解釈またはコンパイルされますか?
これは、インタープリターおよびコンパイルされた言語について読んでいたときの不思議です。 ソースコードは実行時にインタープリターによって処理されるため、Rubyは間違いなくインタープリター言語です。 それどころか、Cはコンパイルされた言語であり、マシンに応じて最初にソースコードをコンパイルしてから実行する必要があります。これにより、実行速度が大幅に向上します。 Pythonに来ました: Pythonコード(somefile.py)をインポートすると、同じディレクトリにファイル(somefile.pyc)が作成されます。インポートはpythonシェルまたはdjangoモジュールで行われるとしましょう。インポート後、コードを少し変更し、インポートされた関数を再度実行して、まだ古いコードが実行されていることを確認します。これは、*。pycファイルはCファイルのコンパイル後に作成された実行可能ファイルに似たコンパイル済みのpythonファイルですが、*。pycファイルを直接実行することはできません。 pythonファイル(somefile.py)が直接実行された場合(./somefile.pyまたはpython somefile.py)、. pycファイルは作成されず、コードは解釈された動作を示すように実行されます。 これらは、Pythonコードが新しいプロセスにインポートされるたびにコンパイルされ、直接実行されたときに解釈されながら.pycを作成することを示唆しています。 それで、どのタイプの言語と考えるべきですか?解釈またはコンパイル?そして、その効率は、インタープリター言語およびコンパイル言語と比較してどうですか? wikiの解釈言語ページによると、それは仮想マシンコードにコンパイルされた言語としてリストされていますが、それはどういう意味ですか?

3
PythonがC ++ではなくCで書かれているのはなぜですか?
でPythonのチュートリアル 1は、Pythonのオリジナル実装はCであることを読み取ることができます。 一方、Cで書かれたPython実装(...) PythonがC ++ではなくCで作成されたのはなぜですか? この決定の背景にある理由を知りたいのですが、その答えは歴史的な参考文献によって支持されるべきです(意見に基づくものではありません)。

7
Pythonファイルを構成ファイルとして使用するのはどれほど悪い考えですか?
アプリケーションの構成には常にJSONファイルを使用しています。私は多くのJavaをコーディングしたときからそれらを使い始めましたが、現在は主にサーバーサイドとデータサイエンスのPython開発に取り組んでおり、JSONがこれ以上正しい方法であるかどうかはわかりません。 Celeryが実際のPythonファイルを構成に使用するのを見てきました。当初、私はそれについて懐疑的でした。しかし、構成に単純なPythonデータ構造を使用するという考えは、私に成長し始めています。いくつかの長所: データ構造は、通常コーディングしているものと同じです。そのため、心のフレームを変更する必要はありません。 私のIDE(PyCharm)は、構成とコードの関係を理解し​​ています。Ctrl+ Bを使用すると、構成とコードを簡単に切り替えることができます。 IMOの不要な厳密なJSONを使用する必要はありません。二重引用符、末尾のコンマ、コメントはありません。 作業中のアプリケーションでテスト構成を作成し、変換やJSON解析を行わずに簡単に構成ファイルに移植できます。 本当に必要な場合は、構成ファイルで非常に簡単なスクリプトを実行することができます。(これは非常に制限されるべきですが。) だから、私の質問は次のとおりです。切り替えた場合、どのように自分の足を撃ちますか? 熟練していないエンドユーザーが構成ファイルを使用することはありません。構成ファイルへの変更はすべてGitに現在コミットされており、継続的な展開の一部としてサーバーにロールアウトされています。緊急事態があるか、開発中でない限り、手動で構成を変更することはありません。 (私はYAMLを検討しましたが、それについて何かが私をいらいらさせます。それで、今のところ、それはアメリカのテーブルから外れています。)

5
Pythonのクラスでインスタンス変数をNoneとして宣言するのは良い習慣ですか?
次のクラスを検討してください。 class Person: def __init__(self, name, age): self.name = name self.age = age 私の同僚は、次のように定義する傾向があります。 class Person: name = None age = None def __init__(self, name, age): self.name = name self.age = age これの主な理由は、選択したエディターがオートコンプリートのプロパティを表示することです。 個人的には、後者が嫌いNoneです。クラスにこれらのプロパティがに設定されていることには意味がないからです。 どちらがより良い練習であり、どのような理由でですか?
68 python 

5
なぜPython辞書内に関数を保存するのですか?
私はpython初心者であり、辞書と関数を含むテクニックを学びました。構文は簡単で、些細なことのように思えますが、私のPythonの感覚はチクチクしています。これは深くて非常にパイソン的な概念であり、その重要性を十分に把握していないということです。誰かがこのテクニックに名前を付けて、どのように/なぜそれが役立つかを説明できますか? テクニックは、Python辞書とそれに使用する予定の関数がある場合です。値が関数の名前である追加の要素を辞書に挿入します。関数を呼び出す準備ができたら、名前ではなく、dict要素を参照して間接的に呼び出しを発行します。 私が取り組んでいる例は、Learn Python the Hard Way、2nd Edのものです。(これは、Udemy.comからサインアップしたときに利用可能なバージョンです。残念ながら、ライブの無料HTMLバージョンは現在Ed 3であり、この例は含まれていません)。 言い換えると: # make a dictionary of US states and major cities cities = {'San Diego':'CA', 'New York':'NY', 'Detroit':'MI'} # define a function to use on such a dictionary def find_city (map, city): # does something, returns some value if city in …

5
データ分析のためのR vs Python [非公開]
私は約1年間プログラミングをしており、データ分析と機械学習に本当に興味があります。私はいくつかのオンラインコースに参加しており、いくつかの本を読んでいます。 私がしていることはすべてRまたはPythonのいずれかを使用しており、1つの言語に集中すべきか(そうであればどの言語に集中すべきか)、または両方を続けるべきかについての提案を探しています。彼らはお互いを補完しますか? -私は学校でC#を使用しているが、自習を通じてPythonに精通していることに言及する必要があります。

3
Pythonの**の名前は何ですか?
Pythonをプログラミングするとき**、変換を行うためにaを行うことがあります。私はそれが何をするのか理解していますが、どのデータ構造を操作していますか?A dictと他のものは何ですか?array?**オペレーターの名前はありますか?

16
Pythonでそんなに人気があるのはなぜですか?[閉まっている]
構文として空白に悩まされていることを除けば、私は嫌いではありません。Pythonに魅了されることはありません。 Perlの詩に感謝し、bash&kornおよびshebangで美しいWebサービスをプログラミングしましたgnuplot。私は文書を書きますがtroff、REXXは気にしません。何年も前にtclがこれ以上有用であるとは思いませんでしたが、Pythonの大きな悪臭は何ですか?私は求人情報とこれを採用した多くの候補者を履歴書の賞品とトロフィーとして見ています。 現実には、私は個人的にこれで売られるようにしようとしていると思う、ただ理由を見つけることができない。
54 python  perl  bash 

5
開くファイル名を渡すべきですか、それともファイルを開くべきですか?
テキストファイルを処理する関数があるとします。たとえば、テキストファイルから読み取り、単語 'a'を削除します。ファイル名を渡して関数の開始/終了を処理するか、開いたファイルを渡して、それを呼び出す人がそれを閉じることに対処することを期待できます。 最初の方法は、ファイルが開いたままにならないことを保証するより良い方法のように思えますが、StringIOオブジェクトのようなものを使用することを防ぎます 2番目の方法は少し危険です-ファイルが閉じられるかどうかを知る方法はありませんが、ファイルのようなオブジェクトを使用することができます def ver_1(filename): with open(filename, 'r') as f: return do_stuff(f) def ver_2(open_file): return do_stuff(open_file) print ver_1('my_file.txt') with open('my_file.txt', 'r') as f: print ver_2(f) これらのいずれかが一般的に好まれていますか?一般に、関数はこれらの2つの方法のいずれかで動作すると予想されますか?または、プログラマーが関数を適切に使用できるように、適切に文書化する必要がありますか?

6
Pythonバイトコードにコンパイルする他のプログラミング言語がないのはなぜですか?
Javaには、JavaバイトコードにコンパイルしてJVMで実行できる複数の言語があります。Clojure、Groovy、およびScalaは、私の頭の中で覚えている主要な言語です。 ただし、PythonはPythonインタープリターによって実行される前にバイトコード(.pycファイル)に変わります。私はただ無知かもしれませんが、Pythonバイトコードにコンパイルする他のプログラミング言語がないのはなぜですか? 誰も邪魔しないからか、そうするのを難しくする固有の制限や障壁があるのでしょうか?

5
Pythonが複数行のラムダを許可しないのはなぜですか?
BDFLがPythonラムダを単一行にすることを選択した具体的な理由を誰かが説明できますか? これはいい: lambda x: x**x これによりエラーが発生します。 lambda x: x**x ラムダを複数行にすると、通常のインデント規則が何らかの形で「乱れ」、例外を追加する必要があることを理解していますが、それだけのメリットはありませんか? たとえば、JavaScriptを見てください。これらの匿名関数なしでどのように生きることができますか?彼らは不可欠です。Pythonistasは、引数として渡すためにすべての複数行関数に名前を付ける必要をなくしたくないですか?
50 lambda  python 

4
Pythonのイテレータが例外を発生させるのはなぜですか?
Javaの反復子の構文は次のとおりです(C#の構文に似ています)。 Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } 理にかなっています。Pythonの同等の構文は次のとおりです。 it = iter(sequence) while True: try: value = it.next() except StopIteration: break print(value) 例外は、例外的な状況でのみ使用されることになっていると思いました。 Pythonが例外を使用して反復を停止するのはなぜですか?

6
PythonをゼロからWeb開発まで学ぶにはどうすればよいですか?[閉まっている]
私は、Web開発のためのPythonの学習を検討しています。 すでにJava(JSP /サーブレット)の基本的なWeb開発経験があると仮定すると、Webデザイン(HTML、CSS、JS)、基本的なプログラミングの概念に精通しており、Pythonを初めて使用する場合、どうすればよいですか構造化された方法でPythonを学習し、最終的にはPythonとDjangoを使用したWeb開発につながりますか? PythonでWebアプリケーションを作成するのが急いでいないので、PythonでのWeb開発に関連する技術の知識にギャップを残さないように、徹底的に学びたいと思います。私の努力に役立つ本、リソース、またはテクニックはありますか?それらをどの順番で読むべきですか? 更新: 構造化された方法で学習するということは、基本から始めて、Pythonが提供する重要な詳細/機能の一部を残さずに高度なものを学習することを意味します。プログラミングで既に知っていることをPythonに適用する方法を知りたいです。

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