ちょっとしたツールを書かなければならなくなったとき、それが碌につかったことがないPythonを指定されること、よくありますよね。 Python素人がそれっぽいコードを書くための最低限なところをまとめてみました。 ちょっと表現がよくないかもですが、パッと見で「大丈夫そうだな」と思ってもらえるのが目標です。 # -*- coding: utf-8 -*- """ hoge_tools.py プログラム全体の説明を書きます。 実行方法とか必要なライブラリとか、 動作確認しているPythonのバージョンとか書くとよいと思いました """ from logging import getLogger, DEBUG # ログの設定 logger = getLogger(__name__) logger.setLevel(DEBUG) # 定数です NUM_SPHERE = 4 NUM_TRYSAIL =
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近、ソケット通信を使ってAndroid端末をサーバーとしてPCからデータを送る、というちょっと変わった仕組みを仕事で作っています。 今までは「通信」というとHTTP(S)くらいしか意識したことがなかったのですが、これを機に通信というものについてもっと知っておこうと思い、とりあえず「TCP/IPとは」みたいなところから勉強中です。 その勉強の一貫としてソケット通信を使ったHTTPクライアントの実装をしてみたので、その内容を紹介をしたいと思います。言語はPythonです。 その前に そもそもソケット通信ってなによ、って方はひとまず以下のペ
satwikkansal/wtfPython: A collection of subtle and tricky Python examples 原文のライセンスは煮るなり焼くなり自由なアレ 前文雑要約 Pythonはいい言語。 でも初心者には一見わかりにくい挙動をすることもある。 ここでは古典的でトリッキーな例を集めた。 トリッキーといっても大したことのない例もわりとある。 経験を積んだPythonプログラマならだいたい知っているはず。 目次 前文雑要約 目次 使い方 代入を無視するインタプリタ? 解説 うさんくさいコード(Python 2.x系限定) 解説 ちょっとこのハッシュヤバくね? 解説 評価タイミングの食い違い 解説 辞書をイテレート中に変更する 解説 リストの要素をイテレート中に削除する 解説 del, remove, popの挙動の違い [2, 4]という出力はなんなのか
Python3.4でファイルパス操作を行うモジュールとしてpathlibが追加されました。 今までファイルパス操作はos.pathやglobを使っていましたが、pathlibを使うとファイルパスの連続操作がとても書きやすくなるので積極的に使うべきです。 pathlibの特徴 pathlibは次のような特徴があります。 オブジェクト指向 ファイルパス操作機能の統合 オブジェクト指向 今まで使っていたos.pathなどでは独立した関数で機能を提供していました。 これに対してpathlibではPathクラスのメソッドやプロパティとして機能が提供されています。 >>> from pathlib import Path >>> Path('/a/b/c.txt').parent PosixPath('/a/b') >>> Path('/a/b/c.txt').parents[1] PosixPath
- はじめに - 最近はWebスクレイピングにお熱である。 趣味の機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ
#!/usr/bin/env python # -*- coding: utf-8 -*- # from os.path import join, relpath, splitext from os import path from glob import glob import re import sys def main(): """ Run from Here. """ dir = "classes" exception_file = ["__pycache__", "Person.py"] extention = ".py" reg = re.compile('.+\\' +extention) sys.path.append(dir) # path の追加 files = [path.relpath(x, dir) for x in glob(path.join(dir, '*'
Boost の一部ながらも「実用的」すぎるため、とかくテンプレートメタプログラミングを愛好する諸兄から黙殺されてきた不幸のライブラリ、Boost.Python。Boost.勉強会でこいつの魅力を伝えようと思ったのだけど、時間の都合で無理だったので、簡単に紹介してみたい。 Boost.Python の基礎 Boost.Python は C++ のクラスや関数をラップする Python モジュールを恐ろしく簡単に書けるようにする、強力なライブラリである。 特に、Pyrex や Cython と比べて何がうれしいのかというと、 Python側にいちいちラッパ関数を書かなくてよい (テンプレートにより自動的に定義される) コンバータを登録することで、Python⇆C++の型の透過的な変換が容易にできる C++ のクラスを分かりやすい形で Python のクラスとして見せることが可能 といった点が挙
PyData.Tokyoは「Python+Dataを通じて、世界のPyDataエクスパートと繋がれるコミュニティーを作る」ことを目的として設立され、これまでに勉強会3回およびチュートリアル1回が開催されました(過去のイベントのリスト)。4回目の勉強会となる今回は「データ解析アルゴリズムの高速化」をテーマに、株式会社ブレインパッドの佐藤貴海さん(@tkm2261)とシルバーエッグ・テクノロジー株式会社の加藤公一さん(@hamukazu)の2人に話していただきました。 登壇者のレベルの高い講演に加え、ヤフー、日本IBM、NTTデータ、AWS、Gunosy、Preferred Networksなど、第一線で活躍されている非常に質の高い聴講者にも参加いただき、大変充実した会になりました。 Pythonは書きやすい言語仕様と豊富なライブラリが特徴で、手軽に複雑なデータ分析を行えますが、他言語と同じ感
そもそも、Netcaってなんなの?ということで、Wikipediaへ。どうやら、TCPやUDPのパケットを読み書きできるコマンドラインツールらしい...。とりあえず、本で紹介されているので実装してみましょう。紹介したプログラムは、ファイルのアップロード、コマンドの実行をすることができます。sshとscpの非常に簡単版です。もちろん暗号化されていないのでお遊びだと考えてください。参考としている本とは、多少コードが違いますので、元ネタを知りたい方は参考文献へ。ここで力尽きました...。残っているタイトルは後日作成します。 Black Hat Python: Python Programming for Hackers and Pentesters 作者: Justin Seitz出版社/メーカー: No Starch Pr発売日: 2014/12/14メディア: ペーパーバックこの商品を含むブ
PythonでGUIを作成できるPyQt5について,使い方を説明していきます. 注意 Pythonの基本を知っていることを前提としています Pythonは3.x系です 情報,プログラムの正確さには細心の注意を払っていますが,それらの正確性は保証できません.間違いがありましたら指摘してくださるとありがたいです リンク・参考資料 Qt - Home - Qtの本家 Riverbank | Software | PyQt | What is PyQt? - PyQtの本家 Qt Reference Pages | Qt 5.5 - Qtのドキュメント PyQt5 tutorial - 英語ですが,わかりやすいPyQt5のチュートリアルです PyQt5の基本 PyQt5でのプログラミングの基本 - PyQt5での必要最小限のプログラム ウィジェット - PyQt5の基本であるウィジェットの説明 レ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 今回はスチューデントのt分布の最尤推定を実装します。スチューデントのt分布はガウス分布より外れ値に対して頑健な性質を持つ分布としてよく知られていますが、よくよく思い出せばこの分布を用いたことが全くなかったので、良い機会ですしその頑健性を実際に確認してみます。一回目のPRML実装のときに標準ライブラリ以外は極力numpyだけというルールを設けましたが、今回はディガンマ関数というあまり馴染みのない関数が出てきたためscipyも使いました。この企画2回目にして早々にnumpy以外のサードパーティーのパッケージを使ってしまうこととなり、先が思い
PEP 440 – Version Identification and Dependency Specification Author: Alyssa Coghlan <ncoghlan at gmail.com>, Donald Stufft <donald at stufft.io> BDFL-Delegate: Alyssa Coghlan <ncoghlan at gmail.com> Discussions-To: Distutils-SIG list Status: Final Type: Standards Track Topic: Packaging Created: 18-Mar-2013 Post-History: 30-Mar-2013, 27-May-2013, 20-Jun-2013, 21-Dec-2013, 28-Jan-2014, 08-Aug-2014,
今回は Python の文字列フォーマットを行う format メソッドの使い方について説明します。format メソッドは Python 2.6 から追加されたメソッドです。Python では今まで %演算子を使用したフォーマット方法が使われていましたが、format メソッドはそれを拡張したものになります。 %演算子を仕様したフォーマットは今後廃止する可能性があると予告されています。特に理由がない限り format メソッドを使用したほうがいいでしょう。 フォーマットに要素を埋め込む 埋め込む文字列を指定するためには、波括弧 { } を使用します。format の引数に渡した文字列が {} の中に埋め込まれます。
Python のパッケージを作っていると、特定の環境だけで必要となるパッケージが大抵はでてくる。 例えばデータベースを扱うアプリケーションなら、使う RDBMS によってデータベースドライバのパッケージが異なる。 あるいは、インストール先の Python のバージョンによっては標準ライブラリに用意されていないパッケージのバックポート版をインストールしなきゃいけない。 今回は、そんなときに便利なセットアップスクリプト (setup.py) の extras_require 引数を使ってみる。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.5 BuildVersion: 15F34 $ python --version Python 3.5.1 下準備 まず最初に題材とするのはデータベースを扱うアプリケーショ
それぞれ、環境設定のインストールか、ターミナルで $ apm install hogehoge でインストールされる。 atom-beauty Before After autocomplete-path autocomplete-python file-icons highlight-selected Hydrogen japanese-mene linter, linter-flake8, linter-ui-default, busy-signal, intensions minimap, minimap-cursorline, minimap-find-and-replace, minimap-highlight-selected project-manager Atom 本体の環境設定 写ってない部分はいじってないです。 躓きやすい設定 linter flake8 への path
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く