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

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

3
Pythonはどのように機能しますか?
この質問は少しばかげているように見えるかもしれませんが、一体何ですか。 私はPythonを学び始めました。基本的な構文などを知っています。 HTMLやPHPなどを使用する場合は、コードを記述し、それを.htmlまたは.phpファイル内に配置して、このファイルをダブルクリックします。次に、私のコードが実行されます。私はデータベースやその他のものを扱うことができます-それは単純です。しかし、Pythonはどのように機能しますか?私はEclipseまたはPythonコマンドラインの内部で作業していて、このコードを実行できますが、たとえばPythonでWebサイトを作成したい場合はどうすればよいですか? 私は自分のサーバーに.pyファイルを置くようなものではないと思うので、何をする必要がありますか?サーバーのコマンドラインを使用してウェブサーバーにPythonをインストールする必要があることを理解しています(使用したことはありませんが、チュートリアルが必要になる日があります)。Pythonの知識をHTML、CSS、PHPなどと組み合わせるにはどうすればよいですか? Pythonはデスクトップアプリの作成にも使用できますが、それではどうでしょうか。.exeファイルをPythonコードでエクスポートできますか? 私の懸念を説明するコンテンツへのリンクは大歓迎です!

1
1行の関数で構成されたデータ変更パイプラインの単体テスト
メアリーローズクックの「関数型プログラミング入門」を読んで、アンチパターンの例として def format_bands(bands): for band in bands: band['country'] = 'Canada' band['name'] = band['name'].replace('.', '') band['name'] = band['name'].title() 以来 関数は複数のことを行います 名前は説明的ではありません 副作用があります 提案された解決策として、匿名関数のパイプライン化を提案します pipeline_each(bands, [call(lambda x: 'Canada', 'country'), call(lambda x: x.replace('.', ''), 'name'), call(str.title, 'name')]) ただし、これにはテストしにくいという欠点があります。少なくともformat_bandsには、意図したとおりに機能するかどうかを確認する単体テストがありますが、パイプラインをテストする方法はありますか?あるいは、匿名関数は説明不要なので、テストする必要がないという考えですか? このための実際のアプリケーションは、pandasコードをより機能的にすることです。「変更」機能の中にある種のパイプラインがあることがよくあります def munge_data(df) df['name'] = df['name'].str.lower() df = df.drop_duplicates() return df または、パイプラインスタイルで書き換えます。 def munge_data(df) munged …

11
Webアプリケーションを作成するには、htmlとjavascriptを学ぶ必要がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 私は経験豊富なJavaプログラマーであり、動的なページや描画などを必要とする複雑なWebアプリケーションを作成したいと考えています(例としてSOを取り上げます)。このようなアプリケーションを作成するには、javascript / htmlを学ぶ必要がありますか? 別の言語を学びたくないということではありませんが(以前にこれを行ったことがあります)、JavaScript環境のテクノロジーは急速に変化しているように見えるため、1つのフレームワークの学習を終了すると、すでに時代遅れです。私はウェブ開発用のいくつかのJavaフレームワーク(スプリング、プレイ)をチェックしましたが、深くは確認していません。それで、これらのフレームワーク(または私が知らない他の可能なJavaフレームワーク)は、html / javascriptを学習せずに使用できますか?また、Pythonの経験もあります。したがって、Pythonでアプリを実行できる場合は、それもオプションです。

9
プログラミング言語での継承の省略
私は自分のプログラミング言語を開発しています。これint x = 1;は、クラウド向けではない汎用言語(デスクトップ用の静的型付けPythonなど)です。 継承やMixinsを許可しないことは問題ないと思いますか?(ユーザーが少なくともインターフェースを持っている場合) 例: Google Go、継承を許可しないことでプログラミングコミュニティに衝撃を与えたシステム言語。
10 python  google 

8
.NETへの依存を解消するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 8年前休業。 私は何年にもわたってWindows GUIアプリケーションを開発しており、2005年の初めに.NETに飛び込みました。このキャンプに捧げます。GUIアプリケーションを開発できる新しい言語を学びたいです。 Rubyを学び、Pythonをインストールしたところです。Windows GUIアプリを開発するためのフレームワークであるWxRubyについて読みました。Rubyで。私はPythonに似たフレームワークを探しています。 それとは別に、プロダクションレベルのGUIアプリにより適した言語を知りたいです。Rubyが魅力的なRuby on RailsでWebプラットフォームに集中しているとは思えません。 私はこれらの豊富な.NETクラスとその印象的なVisual Studio IDEを取得できない可能性があることを知っていますが、それでもあまり旅に出ない道を歩みたいと思います。私はIronPythonとIronRubyを使いたくありませんが、しばらくしてから、手を探って探検するかもしれません。
10 python  ruby 

2
複数のアイテムを返すための規則はありますか?
特にPythonでは(これが一般化するかどうかはわかりません)、関数から複数のアイテムを返す「最良の」方法はありますか? def func1(): return a,b #equivalent to (a,b) def func2(): return[a,b] def func3(): return{"valueA":a,"valueB":b} 最初は私が最も一般的に見るものですが、最後のものがあなたが出力に名前を付けたのでより読みやすいコードを作成するように感じますが、私はこの方法によって作成されたある種のオーバーヘッドを見逃しているかもしれませんか?
10 python  variables 

2
オプションのモジュールをインポートしようとするときにImportErrorをキャッチしても安全ですか?
通常、このパターンは、作業中のすべてのPythonプロジェクトで少なくとも1回は見られます。たとえば、Djangoプロジェクトでは、これは多くの場合、基本設定ファイルの最後に追加されます。 try: from .local_settings import * except ImportError: pass また: try: import simplejson as json except ImportError: import json これはいつも私を少しでも悩ませてきました。モジュールが正常にインポートされた後、ImportErrorそれ自体がトリガーされるとどうなりますか?たとえば、最初の例では、local_settingsモジュールは存在しますが、local_settings存在しないモジュールをインポートしようとします。 これはオプションのモジュールをインポートする最も安全な方法ですか、この機能を実現するためのより良い方法はありますか?それはコンテキスト/使用法に依存しますか(そうであれば、このアプローチをいつ使用するかを決定するガイドラインは何ですか?)

3
プライベート関数は、単にまだ抽出されていない機能の内部ユニットである場合があります。では、なぜそれらをテストしないのですか?
モジュールまたはクラスのプライベート関数が、まだ抽出されていない機能の内部ユニットである場合があります。これは、独自のテストに値する場合があります。では、なぜそれらをテストしないのですか?我々はなります彼らは、抽出しているとき場合は/に、後でそれらのためのテストを書きます。では、同じファイルにまだ含まれているテストを書いてみませんか? 実証するには: まず、書きましたmodule_a。それをテストしたいのですが。「プライベート」機能をテストしたいと思います_private_func。私は後で私はとにかく自身の内部モジュールにそれをリファクタリングする可能性がある場合、それのためにテストを書き、ではないだろう、なぜ私は理解していないそしてそれに対する書き込みテスト。 次の機能を持つモジュールがあると仮定します(クラスの場合もあります)。 def public_func(a): b = _do_stuff(a) return _do_more_stuff(b) _do_stuffおよび_do_more_stuffモジュールの「プライベート」機能です。 実装の詳細ではなく、パブリックインターフェイスのみをテストする必要があるという考えを理解しています。しかし、これは次のとおりです。 _do_stuffおよび_do_more_stuffモジュールの機能の大部分が含まれています。それらのそれぞれは、異なる「内部」モジュールのパブリック関数である可能性があります。しかし、それらはまだ進化しておらず、ファイルを個別に抽出するのに十分な大きさではありません。 したがって、これらの関数は機能の重要な単位であるため、これらの関数のテストは適切だと感じます。それらがパブリック関数として異なるモジュールにあった場合、それらをテストしたでしょう。では、別のファイルにまだ(またはこれまでに)抽出されていないときにテストしてみませんか?
9 python  testing 

4
Pythonのクラスデコレーター:実用的なユースケース
私は、Pythonクラスデコレータの実用的で非合成の使用例を探しています。これまでのところ、私にとって意味のある唯一のケースは、次のようなプラグインやイベントなど、パブリッシャーサブスクライバーシステムにクラスを登録することです。 @register class MyPlugin(Plugin): pass または @recieves_notifications class Console: def print(self, text): ... 私が考えていた他の正気なケースは、継承、メタクラス、または装飾メソッドの上に構築された可能性があります。クラスデコレータの使用例を教えてください。 ありがとうございました!

4
マイクロサービスと共有ライブラリ
独立したマイクロサービス(RabbitMqバスで接続)に基づくシステムを設計しています。コードは(少なくとも最初のコンポーネントでは)python(python2とpython3の両方)で記述されます。マイクロサービスとしてリファクタリングして拡張したいビジネスロジックの一部を実装したモノリスアプリケーションがすでにあります。私が心配する1つの質問は次のとおりです。 異なるマイクロサービス間でコードを共有する最良の方法は何ですか。いくつかのマイクロサービスで使用する必要がある共通のヘルパー関数(データ処理、ロギング、構成解析など)があります。 マイクロサービス自体は、個別のプロジェクト(gitリポジトリ)として開発されます。共通ライブラリは、自己完結型プロジェクトとしても開発できます。これらのライブラリをマイクロサービス間で共有するにはどうすればよいですか? 私はいくつかのアプローチを見ます: 各マイクロサービスに必要なライブラリのバージョンをコピーし、必要に応じて更新します 共通ライブラリを内部PyPiにリリースし、それらのライブラリをマイクロサービスの要件の依存関係としてリストします ライブラリリポジトリをgitサブモジュールとして含める 先に進む方法を決定する前に、提案されたアプローチ、ベストプラクティス、過去の経験についてもう少しお読みしたいと思います。提案やリンクはありますか?

1
Pythonの結合は、結合するアイテムではなく、設計上の理由から、RubyやSmalltalkと比較してシンボルに焦点を当てているようです。
OOPの基礎の1つは、私たちが処理したい項目であるオブジェクトを持っていること、そしてそれらにメッセージを送信することだと思いました。 したがって、当然のことながら、アイテムのコレクションがあり、それらを1つの文字列に入れる必要があるため、次のようにします。 ["x", "o", "o"].join(" | ") # joining a tic-tac-toe row in Ruby (Smalltalkも同じ方法です)。これ" | "は、何らかの方法で、それを結合する方法の1つのトークンとしての議論と考えられています。それはすることができ" "、ゲームボードを簡素にする場合、あまりにも。したがって、結合要素" | "は、特に私たちが関心を持っているものではありません。特に重要または重要なのは、プログラムの主要なオブジェクトではありません。 Pythonがそれを使用する場合 " | ".join(["x", "o", "o"]) 何かについて議論をするために、私たちが議論にメッセージを渡しているように感じるのは、少し奇妙に感じます。多分Pythonはもっと手続き的ですか?参加する文字列に私たちに何らかの義務を果たすように伝えるには? 実装を保存して、joinコレクションクラスごとにを定義する必要がないようにするのですか?しかし、Rubyなどの任意のコレクションクラスに対して1回だけ記述することもできるというのは本当ではありません。 module Enumerable def my_join(joiner) self.inject {|a,b| a.to_s + joiner + b.to_s} end end (このようなものは、to_s各項目を呼び出しto_s、各クラスのに依存して独自の適切な処理を実行し、文字列に変換してから、それらを連結します)。そのため、文字列、ハッシュ、セットのそれぞれ、または私たちが持っているあらゆるコレクションクラスを実装する必要はありません。 または、Pythonは正しくOOPルートになりませんか?これは、使用len("abc")してtype([])の代わりに、"abc".len()または[].type()さえのpython3でもそれはそうです。Pythonは設計上の理由でこのようにしていますか?

3
なぜPythonにはコンパイラとインタープリタの両方が必要なのですか?
Javaにはコンパイラーとインタープリターの両方が必要であるという事実を理解できます。ソースコードをバイトコードにコンパイルしてから、仮想マシン(Windows、Linux、Androidなど)がそのバイトコードを現在のアーキテクチャのマシンコードに変換します。 しかし、なぜPythonにはコンパイラとインタープリタの両方が必要なのでしょうか。Pythonはプラットフォームに依存しないため、解釈を使用しないのはなぜですか?私の知る限り、Pythonプログラム(バイトコードにコンパイルされたもの)を変更せずにWindowsまたはLinuxマシンで実行することはできません。それとも私は間違っていますか?

4
空の関数が必要な理由
私はpythonの学習を開始し、なぜプログラミング言語で空の関数が必要なのか疑問に思っています 例:python: def empty_func(): pass シェルスクリプトでも、空の関数空の関数を使用できます。 私の理解と質問: なぜプログラミング言語は空の関数を必要としたのですか?それは、プログラミング言語で遊んでいるだけなのか、それとも本当に重要なことなのか? これに目的がある場合、誰かがユースケースを説明したり、空の関数の使用法の実際の例を挙げたりできますか? または、空の関数を許可するプログラミング言語の伝統はありますか? 編集(私があなたの回答を読んで得たもの): スケッチアルゴリズムまたは抽象関数用 アクションなしでフォームを送信するために実行する必要があります いくつかの必須操作のプレースホルダー

9
異なるプログラミング言語でOOPを学習することに違いはありますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 OOPを学びたいです。私はPythonを知っており、OOPについてはほとんど知りません。 しかし、フォーラムで「learn OOP」を検索すると、「Pythonは非常に新しいため、PythonでOOPを学習できないのです。Javaを学習してから、JavaでのOOPを理解する必要がある」という男を見かけました。 本当ですか?異なるプログラミング言語でOOPを理解するのに違いはありますか?Java、C#、C ++、Perl、Pythonで学習したいですか?

1
フォーマット文字列内で '{}'を使用すると、Pythonicと見なされますか?
私はあなたが書くことができることを学びました '{}{}'.format(string_a, string_b) の代わりに '{0}{1}'.format(string_a, string_b) Pythonでは、順番に1つずつスロット化したい場合は、文字列フォーマットパラメータの数字を省略できます。 これはPythonicと見なされますか? 注:「Pythonic」は慣用的なPythonコードを意味するPythonプログラマの間で一般的に使用される用語です。Pythonカルチャー内では、スタイルの質問について明確なコンセンサスが得られる傾向があります。特に、このような非常に具体的な質問の場合、「それを行うには1つ、できれば1つだけの明白な方法があるはずです」という言語の明確な設計哲学を考えると、これは、「Pythonの禅」から引用されています。これは、「Pythonic」とは何かを定義するのに大いに役立つ一連の格言であり、Pythonのすべてのディストリビューションに含まれています(Pythonインタープリターのコマンドラインで入力import thisして確認してください)。

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