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

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

3
ネイティブマシンコードへのpythonコンパイラがないのはなぜですか?
私が理解しているように、コンパイルされた言語とpythonの速度の違いの原因は、最初のコードがネイティブマシンのコードまですべてコンパイルされるのに対し、pythonはPVMによって解釈されるpythonバイトコードにコンパイルされることです。この方法でPythonコードを複数のオペレーティングシステムで使用できることがわかります(少なくともほとんどの場合)が、理解できない、なぜ従来のコンパイラと同じ方法でコンパイルするPython用の追加の(オプションの)コンパイラがないのかわかりません。これはプログラマーに選択を任せることになり、それは彼らにとってより重要です。ネイティブマシンでのマルチプラットフォームの実行可能性またはパフォーマンス。一般に; コンパイルされたものと解釈されたものの両方として振る舞うことができる言語がないのはなぜですか?

7
Python 2.6または2.7または3.xを使用する必要がありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 私が使用しているpythonのバージョンは2.6で、2.7と3.xがあります。通常、私はいくつかの些細なプログラム/スニペットにPythonを使用します。2.xと3.xには大きな違いがあることに気付きました。pythonでより大きなプロジェクトを作成する場合、どのバージョンのpythonを使用する必要がありますか? 2.7にアップグレードするか、3.xにアップグレードするか、2.6のままにする必要がありますか? 決定は次の条件に基づいて行う必要があります。 コミュニティとしてのインターネットのユーザーの数。より多くのユーザーは、より多くのオープンソースパッケージと彼らからの助けを意味します。 機能性。 公式開発チームからのサポート。 既存のモジュール/パッケージの互換性。 ありがとう!
25 python 

8
Pythonインタビューの質問[終了]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 Pythonプログラミングを含むインターンシップのために2週間以内にインタビューします。 誰が私が磨く必要がある可能性のある領域を提案できますか?Pythonのオープニングのインタビューでよく尋ねられるものを探しています。私がもう一年以上この言語をやっているという事実とは別に、私は彼らが私に尋ねることができることを認識できません。 CやC ++のインタビューのように、文字列の反転からリンクリストの作成に至るまで、多くの質問がありますが、Pythonのインタビューの場合、私は無知です。 個人的な経験や提案を歓迎します。
25 python  interview 

4
機能的なスタイルの例外処理
関数型プログラミングでは、例外をスローしたり、観察したりすることは想定されていません。代わりに、誤った計算はボトム値として評価する必要があります。Python(または関数型プログラミングを完全に奨励していない他の言語)Noneでは、None何かが「純粋のまま」に失敗したときはいつでも返すことができますしたがって、最初にエラーを観察する必要があります。つまり、 def fn(*args): try: ... do something except SomeException: return None これは純度に違反しますか?もしそうなら、それは純粋にPythonでエラーを処理することが不可能であることを意味しますか? 更新 彼のコメントで、Eric LippertはFPの例外を処理する別の方法を思い出しました。実際にPythonでそれが行われるのを見たことはありませんが、1年前にFPを勉強したときに、Pythonで遊んでみました。ここで、任意のoptional-decorated関数はOptional、通常の出力および指定された例外のリストに対して空の値を返します(指定されていない例外でも実行を終了できます)。Carry遅延評価を作成します。各ステップ(遅延関数呼び出し)Optionalは、前のステップから空でない出力を取得して単純に渡すか、それ以外の場合はnewを渡して評価しますOptional。最終的に、最終値はnormalまたはEmptyです。ここでは、try/exceptブロックはデコレータの後ろに隠されているため、指定された例外は戻り値型シグネチャの一部と見なすことができます。 class Empty: def __repr__(self): return "Empty" class Optional: def __init__(self, value=Empty): self._value = value @property def value(self): return Empty if self.isempty else self._value @property def isempty(self): return isinstance(self._value, BaseException) or self._value is Empty def __bool__(self): …

1
単一のpythonファイル配布:モジュールまたはパッケージ?
useful_thing単一のファイルに存在する便利なpython関数またはクラス(または何でも)が呼び出されたとします。ソースツリーを整理するには、本質的に2つの方法があります。最初の方法は単一のモジュールを使用します: - setup.py - README.rst - ...etc... - foo.py どこuseful_thingで定義されていますfoo.py。2番目の戦略は、パッケージを作成することです。 - setup.py - README.rst - ...etc... - foo |-module.py |-__init__.py どこuseful_thingで定義されていますmodule.py。パッケージの場合__init__.pyは次のようになります from foo.module import useful_thing 両方の場合でできるようにfrom foo import useful_thing。 質問:どちらの方法が推奨されますか? 編集:ユーザーgnatはこの質問の形式が不十分だと言っているので、公式のpythonパッケージチュートリアルでは、上記のどの方法が推奨されるかについてコメントしていないようです。私は、賛否両論の議論を生成するのではなく、コミュニティが好む方法があるかどうかに興味があるので、私は賛否両論の個人的なリストを明示的に与えていません

3
Python-'if foo in dict' vs 'try:dict [foo]'
これは、アヒルのタイピングの性質についての質問ではなく、pythonicを維持することについての質問です。 まず第一に-dictを扱うとき、特にdictの構造がかなり予測可能であり、特定のキーが通常存在しないが時々存在する場合、私は最初に2つのアプローチを考えます: if myKey in dict: do_some_work(dict[myKey]) else: pass そしてもちろん、イェ・オルデの「許し対許可」アプローチ。 try: do_some_work(dict[myKey]) except KeyError: pass Pythonの旅人として、後者は多くの方が好まれているように感じますが、Pythonドキュメントtry/exceptsでは実際の間違いがある場合に好まれているように思えます。 時折の辞書にmyDictにキーがなく、常にそのキーを持っているとは限らないことがわかっている場合、try / exceptは文脈上誤解を招く可能性がありますか?これはプログラミングエラーではなく、単なるデータの事実です。この辞書には特定のキーがありませんでした。 try / except / else構文を見ると、これは特に重要であるように見えます。これは、tryがあまりにも多くのエラーをキャッチしないことを確認する際に非常に役立つようです。次のようなことができます: try: foo += bar except TypeError: pass else: return some_more_work(foo) それはおそらく悪いコードの結果であるあらゆる種類の奇妙なエラーを飲み込むことにつながるのではないでしょうか?上記のコードは2 + {}、あなたが追加しようとしていることを見るのを妨げているだけで、コードの一部がひどく間違っていることに気付かないかもしれません。私はすべてのタイプをチェックすることをお勧めしません。それがJavaScriptではなくPythonである理由です。継続することを可能にします。 上記の例は、ストローマンの議論のようなものであり、実際には意図的に悪いことを理解しています。しかし、better to ask forgiveness than permission私はPythonの信条を考えると仕方がありませんが、砂の中の線が実際にif / elseとtry / exceptの正しい適用の間のどこにあるのか、特に何が期待できるかを知っているとき作業しているデータ。 私はここで速度の懸念やベストプラクティスについても話していない、私はそれがいずれかの方法で行くことができるように見えるケースの知覚されたベン図に静かに混乱しているが、人々は試行/除外の側で誤ります「誰かがそれがPythonicだと言った」からです。この構文の適用について間違った結論を出しましたか?
24 python 

8
フレームワークは抽象化しすぎていますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私は1年弱のプログラミングを行っており、企業/組織向けのシステムアプリケーション、Webアプリ、およびスクリプトの記述経験があります。ただし、Django、Rails、Zendなどのフレームワークを使用することは、私が実際にやったことがありません。 Djangoフレームワークを見ると、フレームワークでどれだけ抽象化されているかに少しイライラしています。私はDRYと最小限のコードの中核的な目標を理解していますが、さまざまなモジュールへの過度の依存とコア機能の重い抽象化の一部は次のように感じます。 モジュール/フレームワークの絶えず変化する性質のため、プログラムの日付を非常に速くします。 多数のフレームワークとモジュールが利用可能であり、すべての特異性があるため、コードを理解しにくくします。 すべてのドキュメントを読んでいない限り、コードを論理的にしません。つまり、リストの内包表記と条件付きロジックを読んでプログラムの動作を理解することができますが、任意の文字列と辞書を渡す必要がある関数を見ると、すでに第一人者でない限り、物事を理解するのは少し難しくなります指定されたモジュール。そして: フレームワークを切り替えるのが難しく、面倒です。言語の切り替えはすでに課題ですが、その中核となる機能/哲学を十分に理解している場合は管理しやすくなります。フレームワーク間の切り替えは、暗記の問題であるように思われます。これは、いくつかの点で、これらのフレームワークが排除するように設計された非常に非効率性を助長するようです。 MySQLクエリのような単純なものの上に50層の抽象化を実際に配置する必要がありますか?準備されたステートメント/入力テストは処理されますが、普遍的に理解可能なSQLクエリは依然として関数の一部であるPHPのPDOインターフェイスのようなものを使用しないのはなぜですか? これらの抽象化は本当に便利ですか?機能が肥大化することで無駄になり、フレームワークを使用せずに作成された同様のアプリケーションと比較して、アプリケーションが難しくなりませんか?

7
Pythonの生産性とJavaの生産性
SOで、Google AppEngineでの開発に最適なプラットフォームは、JavaとPythonのどちらであるかという質問に出会いました。多くの人々は、Python over Javaを使用することで得られる生産性の向上を誇っていました。PythonとJavaの生産性の議論について私が言うことの1つは、Javaには開発をスピードアップする優れたIDEがあります。 そのため、言語としてPythonを使用することを好みますが、特に新しいフレームワークを使用する場合、Javaと比較して生産性が大幅に向上するとは考えていません。明らかにJava対Pythonであり、使用できる唯一のエディターがVIMである場合、Pythonは生産性を大幅に向上させますが、IDEが方程式に組み込まれると、それほど明確ではありません。 Javaのメリットは言語レベルでのみ評価される場合が多く、多くの場合、時代遅れの前提条件で評価されますが、Javaには、JVM(多くの場合批判されますが大きな可能性を提供します)、優れたIDEとツール、膨大な数のサードパーティライブラリ、プラットフォームなど。 質問、Python /関連の動的言語は、しばしば話題になっている生産性を大幅に向上させますか?(新しいフレームワークの使用と中規模から大規模のアプリケーションでの作業を考慮して)。

8
RubyまたはPython?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 この質問は非常に主観的で自由自在です。それは、私が自分自身で研究し、自分で決断を下すべきだとさえ思えるかもしれません。しかし、私はそれをそこに置き、他の人からいくつかの考えを得たいと思います。 簡単に言えば、私はネズミレースで燃え尽きており、今年は自己資金でサバティカルに参加しています。その大部分は企業の仕事から離れて旅行することですが、新しいテクノロジーで遊んで、自己学習プロジェクトを行い、プログラミングの速度を維持したいです。プレッシャーがないときにプログラミング! ここにあります:私は生涯のC / C ++ / Javaプログラマーです。私はプログラミングのキャリア全体でこのファミリーの言語を扱ってきたので、少しかっこいいです。ですから、このグループとあまり構文的に関連していない言語を学びたいです。私が基本的に探しているのは、比較的汎用的で、楽しく学ぶことができ、C ++ / Javaとは異なるいくつかの新しい概念を持ち、優れたコミュニティを持つ言語です。2番目の考慮事項は、優れたWeb開発フレームワークがあることです。第三の考慮事項は、それが完全にアカデミックではないということです(読んでください:それを使用する現実世界の仕事があります)。 RubyまたはPythonに絞り込みました。Rubyの私の印象は、それが非常にWeb指向であるということです-それの唯一の実際のアプリケーションは、Webを行うためのサーバー側スクリプト言語としてです(主にRuby on Rails)。Pythonの印象はあまりありませんが、情熱的なファン層があり、かなり汎用性の高い言語であると思われる点を除きます。 TL; DRをできるだけ簡潔にまとめると、C ++ / Javaの人がプログラミングの新しい観点を習得するのに、どちらが良いでしょうか?そして、どちらがよりオープンで汎用的であり、幅広いアプリケーションに適用できますか?現時点ではRubyに傾いていますが、サーバーサイドのWeb言語としてのみ使用されているように見えるのではないかと心配しています。
24 learning  python  ruby 

6
ネストされたコメントの問題を解決する方法
1つの言語だけでなく、コメントをネストできないように見えます。この問題の良い解決策はありますか?C / C ++およびJavaでの1つの回避策は、単一行コメントのみを使用することですが、より大きなブロックをコメントアウトすることは不可能になります。私はこのようなものに直面しています: </li><!-- <li><!-- Save --> そのため、コメントを手動で確認して編集する必要があります。多くの言語でこれをどのように扱うべきかアドバイスをいただけますか?私にはわからないが、多分、Pythonにコメント'''を含めることができるかもしれない方法でこれを解決できるの#でしょうか?`
23 java  c++  python  c  comments 

4
Pythonライブラリモジュールでデータベース接続を処理する方法
データベースにアクセスするための関数を含むライブラリをPythonで作成しました。これは、サードパーティアプリケーションが適切なAPIを提供しないという事実のために書かれた、サードパーティアプリケーションデータベースのラッパーライブラリです。今では、プログラムロジックが特定の関数を数千回呼び出す関数のネストされた呼び出しを使用するまで、関数呼び出しの期間中は各関数がデータベース接続を開くようにしました。これはあまりパフォーマンスがよくありませんでした。これをプロファイリングすると、オーバーヘッドがデータベース接続セットアップにあることがわかりました(関数呼び出しごとに1回)。そこで、ライブラリモジュールがインポートされたときにデータベース接続が開かれるように、関数内からモジュール自体に開いた接続を移動しました。これにより、許容できるパフォーマンスが得られました。 これに関して、2つの質問があります。まず、データベース接続を明示的に閉じる必要がなくなり、このセットアップでどのように明示的に行うことができるかを心配する必要がありますか?第二に、私がやったことは、優れた実践の領域に近いどこに落ちますか?
23 python 

9
Java / C ++にパワー演算子がないのはなぜですか?
そのような演算子がありますが**、Pythonでは、なぜJavaとC ++にも演算子がないのかと思っていました。 演算子のオーバーロードを使用してC ++で定義するクラスに簡単に作成できます(Javaでもこのようなことが可能だと思います)が、int、doubleなどのプリミティブ型について話すときは、ライブラリを使用する必要がありますのような関数Math.power(通常、両方をdoubleにキャストする必要があります)。 だから-なぜプリミティブ型にそのような演算子を定義しないのですか?
23 java  c++  python 

1
一部の言語のドキュメントで「ある」ではなく「と同等」と表示されるのはなぜですか?
一部の言語のドキュメントで「ある」ではなく「と同等」と表示されるのはなぜですか? たとえば、Python Docsは言う itertools.chain(*iterables) ... 以下と同等: def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element あるいは、このC ++の参照にfind_if: この関数テンプレートの動作は次と同等です: template<class InputIterator, class UnaryPredicate> InputIterator find_if (InputIterator first, InputIterator last, UnaryPredicate pred) { while (first!=last) { if (pred(*first)) return …

2
2つのPythonプロセスがアクセスするSQLite:1つの読み取り、1つの書き込み
私は2つのコンポーネントを持つ小さなシステムを開発しています。1つはインターネットリソースからデータをポーリングし、それをsqlデータに変換してローカルに保持します。2番目のものは、ローカルインスタンスからそのsqlデータを読み取り、jsonおよびrestful apiを介して提供します。 私はもともとpostgresqlでデータを永続化することを計画していましたが、アプリケーションには保存するデータとサービスするトラフィックの量が非常に少ないため、やり過ぎだと思いました。SQLiteは仕事をしているのですか?フットプリントが小さく、この1つのタスクのために別のSQLサーバーを維持する必要がないというアイデアが大好きですが、同時実行性が心配です。 先読みロギングを有効にすると、データベースからプロセスをロックアウトせずに、SQLiteデータベースの読み取りと書き込みを同時に行うことができるようです。 1つの読み取りと他の書き込みのみが行われる場合、単一のSQLiteインスタンスは、それにアクセスする2つの並行プロセスを維持できますか?私はコードを書き始めましたが、これがSQLiteの誤用かどうか疑問に思っていました。

9
Pythonの中心で立ち往生しているように感じます、過去の初心者を取得する方法[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 これがSOルールに従わない場合は本当に謝罪しますが、少し助けが必要です。私は個人的にまだpythonの初心者として自分自身を分類していますが、上司が使用する非常に小さくて非常に非現実的なプログラムを書いています。 シンプルなものがまだ私を困惑させるので、私はまだ初心者だと知っていますが、初心者のために読んだ本はすべて、私がすでに知っていることを正直に書き直しますが、すべての「より高度な」本は本当に私が学ぶことを許可しません。そして、彼らが「said」関数または「said」クラスを作成した理由を本当に理解することはありません。だから私の質問に... この段階から私を押しやる本や何かに関する推奨事項はありますか?私は頭を最初に使用しましたが、通常は彼らは本当に良いですが、私の問題は彼らが再び前進するために追跡を戻すことです、それはHTMLで動作しましたが、 Pythonでの混乱、基本的に私は一緒にフォローしながらプログラムを構築する必要があると思います、再び私はHeadFirstのスタイルが好きですが、私はそれを忘れるだけで一つのことを思い出さなければならない何かが必要です... 記録のために、私はいくつかのO'Reillyの本にチェックインしました
22 python 

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