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

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

6
人間が読める最も単純な構成ファイル形式は何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 現在の構成ファイルは次のとおりです。 mainwindow.title = 'test' mainwindow.position.x = 100 mainwindow.position.y = 200 mainwindow.button.label = 'apply' mainwindow.button.size.x = 100 mainwindow.button.size.y = 30 logger.datarate = 100 logger.enable = True logger.filename = './test.log' これは、Pythonを使用してネストされた辞書に読み込まれます。 { 'mainwindow':{ 'button':{ 'label': {'value':'apply'}, ... }, 'logger':{ datarate: {'value': 100}, enable: {'value': True}, filename: {'value': './test.log'} }, …

2
Pythonで値を返す関数に名前を付けるにはどうすればよいですか?
Pythonで関数の名前を選択することについて混乱しています。時々 、Pythonは組み込み関数ですが不可欠のような:print機能と文字列の方法find。時々、それらは次のようなものではありません:lenその名前はcalculate_len、たとえばなどの命令型でtypeはなく、find_typeです。 これprintは、使用しない値(つまりNone)を返し、何かをする(つまり、画面に文字列を表示する)ため、その名前は必須です。 ただしlen、使用する値を返し、何かを実行します(つまり、シーケンスまたはマッピングに存在するアイテムの数を計算します)。その名前は必須ではありません。一方、find文字列メソッド(as len)は、使用する値を返し、何かを実行します。その名前は必須です。 この質問をしたのは、Caesar暗号を使用して文字列を暗号化および復号化するスクリプトをレビューに追加したことです。レビューアは次のように言った: ただの直感:関数は何かをします。したがって、関数の適切な名前は必須rotate_letterですrotated_letter。代わりにを使用します。 rotated_letter数字で回転した文字を表す1文字の文字列を返します。私はrotated_letterそれが値を返すのでrandint、ランダムモジュールの関数のように使用しましたが、そうではありませんgenerate_randint。 したがって、この場合、使用する値を返す関数にどのように名前を付ける必要がありますか?名前を必須にするべきか、それとも名詞にするべきか。他の場合では、次のような、それを行う方法は明らかですブール関数のような、is_evenそしてis_palindrome我々は同じようにそれを作るはい/いいえ質問し、また機能だけで行うと戻り未使用の値(つまり、Noneなど)、printおよびlistメソッドsort。

3
なぜ「自己」が必要なのですか。インスタンス変数を参照するPythonで?
Java、Ruby、Haskell、Pythonなどの多くの言語でプログラミングを行ってきました。作業しているプロジェクトが異なるため、1日に多くの言語を切り替える必要があります。今、問題はself、Pythonの関数定義の最初のパラメーターが同じオブジェクトのメソッドを呼び出すことと同じであるため、書くのを忘れることが多いことです。 そうは言っても、このPythonのアプローチには非常に驚かされます。基本的には、JavaやRubyなどの言語では、現在のオブジェクトの変数を自動的に参照することで簡単にできるように、もっと入力する必要があります。 私の質問は、なぜこれがself必要なのですか?それは純粋にスタイルの選択ですか、それともPythonでselfJavaとC ++で省略できる方法を省略できないのthisですか?

3
呼び出しが高価な場合にPythonで単一責任原則(SRP)を使用する
いくつかのベースポイント: Pythonのメソッド呼び出しは、その解釈された性質により「高価」です。理論的には、コードが十分に単純な場合、Pythonコードの分解は、読みやすさと再利用に加えてマイナスの影響を及ぼします(これは、ユーザーにとってはそれほどではなく、開発者にとって大きな利益です)。 単一責任原則(SRP)は、コードを読み取り可能に保ち、テストと保守が容易です。 プロジェクトには、読み取り可能なコード、テスト、および時間パフォーマンスが必要な特別な種類の背景があります。 たとえば、いくつかのメソッド(x4)を呼び出すこのようなコードは、次のメソッド(1つ)よりも低速です。 from operator import add class Vector: def __init__(self,list_of_3): self.coordinates = list_of_3 def move(self,movement): self.coordinates = list( map(add, self.coordinates, movement)) return self.coordinates def revert(self): self.coordinates = self.coordinates[::-1] return self.coordinates def get_coordinates(self): return self.coordinates ## Operation with one vector vec3 = Vector([1,2,3]) vec3.move([1,1,1]) vec3.revert() vec3.get_coordinates() これと比較して: from …

3
Python-assert vs if&return
テキストファイルに対して何かを行うスクリプトを書いています(ただし、それは私の質問とは無関係です)。そのため、ファイルに何かを行う前に、ファイルが存在するかどうかを確認します。私はこれを行うことができますが、問題はありませんが、問題は美学の問題です。 これは、同じことを2つの異なる方法で実装する私のコードです。 def modify_file(filename): assert os.path.isfile(filename), 'file does NOT exist.' Traceback (most recent call last): File "clean_files.py", line 15, in <module> print(clean_file('tes3t.txt')) File "clean_files.py", line 8, in clean_file assert os.path.isfile(filename), 'file does NOT exist.' AssertionError: file does NOT exist. または: def modify_file(filename): if not os.path.isfile(filename): return 'file does NOT exist.' …

8
ラピッドプロトタイピングはアジャイル手法にどのように適合しますか?
私は大企業で働いており、アジャイルプロセスの使用を指示しています。たとえば、プロジェクトでは、アジャイル開発の管理を特に対象としたクラウドベースのサービスを使用しています。 私が働いている特定のエンジニアリンググループは、従来ソフトウェアを開発していませんでした(代わりに、より多くの鳥瞰的な観点からプロジェクトを推進しています)が、それは変化しています。私たちには、主にデータ中心の広範囲の今後/計画中のソフトウェアプロジェクトがあります。たとえば、データの監視、収集、集計、およびいくつかのレポート作成を行います。その他のタスクには、特殊なハードウェアとさまざまなタイプのクライアント/サーバー(多層)アーキテクチャによる自動化が含まれます。私は、複数の人を採用し、前進するための多くの計画を策定するプロセスを支援します。 私の質問は、ラピッドプロトタイピング(スローアウェイコード)を行うことがアジャイル哲学に適合するかどうかです。たとえば、Pythonとその幅広いパッケージが大好きです。Pythonベースのワークフローを使用して、多くのアイデアを非常に迅速に実装できる可能性があると思います。ただし、Pythonは「エンタープライズ品質」ではないという認識が多くあり、この作業の多くはJavaまたはC ++で書き直す必要があると思います。 ただし、Pythonプロトタイプを作成することで、実際の結果を迅速に提供できるようにするための費用を大幅に削減できます。 ラピッドプロトタイピングを(できればPythonで)エンタープライズ環境の堅牢なアジャイルワークフローに組み込むことができましたか?

1
オブジェクトの__dict__を変更して、プロパティをPythonicと見なしますか?
データベース(またはMongoDB、CSVファイルなどの別のソース)で見つかった行からオブジェクトを膨らませるクラスがあります。オブジェクトのプロパティを設定するには、self.__dict__.update(**properties)またはのようなことをしますobj.__dict__.update(**properties)。 これはPythonicと見なされますか?これは私が使い続けるべき良いパターンですか、それとも悪い形と考えられますか?
12 python 

6
Pythonを独自の言語として一意にする特徴は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 Pythonを独自の言語として一意にする特徴は何ですか?良いものから悪いものまで、有用なものから障害物まで、構文から実際の使用法まで、あらゆる種類の特性を探しています。 私はここでは初心者なので、直感的なことを説明する必要があるかもしれません。

2
大規模プロジェクト向けのPython
大規模で強力なPythonプロジェクトを設計する方法に関するリソースはありますか?私は野心的な個人プロジェクトから始めたいと思いますが、プロジェクトを成功させるためにそれをどのように設計し、どのような慣行を導入するべきか、私は本当に知りません。 大規模なPythonプロジェクトを機能させる方法について議論しているリソースはありますか?
12 python 

7
PythonはUIの開発に適していますか?もしそうなら、wxPythonまたはTkinter?
Pythonを使用したデスクトップアプリケーションの開発を楽しみにしています。私は初心者であり、Pythonに関する十分な専門知識がありません。私もJavaプログラマーです。Swingを使用してUIを作成した経験はありますが、Swingで開発されたアプリは非常に遅いことがわかります。これが、ブラウザ/ゲームのようにC / C ++で主要な実装の多くが行われる理由の1つかもしれません。 C ++でUIを開発する方が良いかもしれませんが、C / C ++よりも高レベルのプログラミング言語を選択することを好みます。そこで、Python自体はネイティブにC / C ++で構築されているため、Java Swingよりも優れたパフォーマンスを発揮すると想定してPythonを選択しました。 だから、UIを開発するためにPythonがJava Swingよりも優れているというこの仮定を進めることができますか?または、UIを開発するためにPythonよりも優れた言語を提案しますか?Pythonを使用する場合、TkinterまたはwxPythonを使用すべきツールキットとその理由は何ですか?

1
PyPyはどれくらい成熟していますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 開発者の意見を読む以外の方法でPyPyの成熟度を判断しようとしています。したがって、PyPyを使用した有名なミッションクリティカルなプロジェクトについて聞いてみたいと思います。成熟度の他のすべての指標は問題ないようです。私のメインプロジェクトでそれを利用することに決める前に、私はちょうどこれを逃しています。
12 python 

6
初心者のプログラマーとして、サードパーティのライブラリを使用するよりも独自のライブラリを構築することを優先すべきですか?
Pythonプログラマーとして、必要な機能を含む高度なサードパーティライブラリにジャンプする前に、独自のライブラリを構築して理解することをお勧めしますか? 一部のプロジェクト(DjangoなどのWebフレームワークなど)は、おそらくこのアプローチには大きすぎます。しかし、他のプロジェクト(Webクローラー、グラフライブラリ、HTMLパーサーなど)は実行可能であるようです。 サードパーティのライブラリに早期に依存すると、私の成長が妨げられるのではないかと心配しています。 注:この質問とこの質問は、学習の利点よりも再利用の効率におそらく集中している経験豊富なプログラマーに焦点を当てているようです。私の質問は、初心者に焦点を当てていると思います。

4
GAEだけで、Rubyを介したPythonの学習を正当化できると思いますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 サーバーのセットアップ/購入やドメインの購入に関与する必要はないという事実を考慮して、事実だけでどちらかを選択するのに十分だと思いますか? 私は必ずしもGoogle App Engineで作業したいわけではありません。ホスティング/環境/などに関しては便利だと思います。そして、それがpythonを学ぶのに十分な理由かどうか疑問に思います。 いずれにせよ、私はpythonとrubyの間の議論を探しているのではなく、Google App Engineと、その価値が学習すべき言語を決定するのに十分であるかどうかについて探しています。

2
Pythonのスコープと名前空間の関係は何ですか?
多くのリソースで、「スコープ」と「名前空間」が同じ意味で使用されていることがわかりました。 スコープは、名前が利用可能なコードの領域を定義します。 LEGBルールは、名前の検索方法を定義します。 名前空間は、名前を検索する場所です。 次に読みました: 「名前は、割り当てられた場所に応じて名前空間にバインドされます...」(レキシカルスコープのスコープを扱うと思います)。 「関数はプログラムに余分な名前空間層を追加します」 [ ref。](ローカルスコープを追加しませんか?) 「関数定義内で割り当てられたすべての名前は、ローカルスコープ(関数呼び出しに関連付けられた名前空間)に入れられます。」 「グローバルスコープ-つまり、モジュールファイルのトップレベルで作成された(割り当てられた)変数が存在するネームスペース」 *すべての引用は、Python 5th edition ch17の学習からのものです Pythonの名前空間はスコープの実装方法ですか?それらは同じものですか?誰でも私を啓発できますか?
12 python 

3
グローバルリクエストコンテキスト-アンチパターン?
今日、私の同僚とPython Webフレームワークとそれらについての印象について話していました。私は、Flaskがグローバルなリクエストを持っているのはひどく臭いで、アンチパターンだと彼に言った。 ドキュメントは、要求コンテキストについて言います: 対照的に、リクエストの処理中には、他にもいくつかのルールがあります。 要求がアクティブな間、コンテキストローカルオブジェクト(flask.requestなど)は現在の要求を指します。 コードはいつでもこれらのオブジェクトを保持できます。 アプリケーションをよりシンプルにするという、この設計決定の背後にある考え方を理解していると思います。Thread Localsの場合のように、これは単なる妥協です。 はい、通常、スレッドローカルを使用することはそれほど賢明な考えではありません。これらは、スレッドの概念に基づいていないサーバーに問題を引き起こし、大規模なアプリケーションの保守を困難にします。ただし、Flaskは大規模なアプリケーションや非同期サーバー向けに設計されたものではありません。Flaskは、従来のWebアプリケーションをすばやく簡単に記述できるようにしたいと考えています。 グローバルオブジェクトに現在の要求情報をパッチすることはアンチパターンですか? 静的コードアナライザーの観点ではグローバルステートであるため、そうではないと考えています。そして、プログラマーとしての私は、ドキュメントを注意深く読むことなく、それがどのように機能するかを理解しません。そして、これはテストに結果をもたらします。 ビューへの引数としてリクエストを渡すことは良い習慣ではありませんか?読みやすく、明示的で、デバッグが簡単だと思います。そして、グローバルな状態を回避します。

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