goo blog サービス終了のお知らせ 

システム管理人の休日

仕事辞めましたー。毎日が休日です。何しようか思案中の記録です。

MITのpython入門

2015年12月17日 | Python

asuka Academyで、無料でMIT(マサチューセッツ工科大学)の授業が受けれる・・とゆうわけで、ちょっと腕試しのつもりで受講してみました。

http://www.asuka-academy.com/index.html

この中のpython入門は、動画が無いのがちょっと残念ですが、内容的にはかなりレベルが高く、実習とテストを繰り返しながら理解できてないところを自分で見つけてネットで公開されているドキュメントを参照して自習できるようなスタイルになってました。

独学だと、本を買ってきて気になるところを自分で試してみるくらいしか学習の方法が無いわけですが、ネットで公開授業というのはすごいですね。

e-ラーニングも知らない内にすごいことになってるみたいですね。

eラーニングアワードフォーラム

http://www.elearningawards.jp/index.html


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Python3の本

2015年12月06日 | Python

久しぶりにO'REILLYの本を買いました。有名な「はじめてのPython」も、一応持ってるのですが、私がPythonに触れたのは、2.4のころで、Linuxで流通しているフリーソフトも日本語で使おうと思うと、結構つまづくところが多かったんですよね。今では、VisualStudioでもサポートされているし、いろんな意味で、すごく敷居が低くなつていると思います。

2冊で数千円の買い物なので、決して安いとは思いませんが、これからプログラミングをPythonでやってみたいと思う人は、やはり3から初めた方が幸せになれるだろうな、とおもいます。特に日本では、Unicodeに統一されたことの恩恵が大きいと思います。

アマゾンで予約注文しておいたら、発売日当日にちゃんと届きましたよ。

○はじめてのPython

https://www.oreilly.co.jp/books/9784873113937/

○入門Python3

http://www.oreilly.co.jp/books/9784873117386/

○実践Python3

http://www.oreilly.co.jp/books/9784873117393/


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

wxgladeで簡単なフォームを作ってみる

2015年11月16日 | Python

wxgladeでgoogle検索したら、やはり紹介記事がありました。pythonでGUIアプリを作ってみようとすると、一度はためしてみることになるのではないでしょぅか。

○wxGladeをざっくり使う pythonコード出力まで

http://linux.oboe-gaki.com/archives/000342.html

○wxGladeでGUIのデザインを

http://april.fool.jp/blogs/2014/12/python-wxglade%E3%81%A7gui%E3%81%AE%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%92/

○Python/wxPythonによるWindowsGUIプログラミング

http://labs.beatcraft.com/ja/index.php?Python%2FwxPython%A4%CB%A4%E8%A4%EBWindowsGUI%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0

○wxWidgets_wxGlade_Example

http://www.mynote.mydns.jp/wxWidgets_wxGlade_Example/index.php

上記の記事にも出てきますが、以下の資料はUNIX USER誌の記事で、この中にwxgladeのことが出てきます。でも、2004年なんですよね。私も過去に参考にせさていただいた記憶があるのですが、10年経っても、基本的なところは、ほとんど変わっておらず、根強い人気があることがわかります。

wxWidgets でクロスプラットフォーム GUIアプリを作ろう

http://0xcc.net/pub/uu-2004-08/

一方、wxGlade付属のマニュアルはこんな感じです。以下は、wxGlade manualの「Chapter 2. Exploring wxGlade」を機械翻訳で日本語にしたものを、実際に操作しながら修正してみたものです。翻訳、なかなかおもしろいですね。操作方法が分からない状態で、翻訳の文章を見ても、ほとんど何を言ってるのか不明なので、日本語の紹介記事を探すのが手っ取り早いです。

第2章 wxGladeを探ります

簡単な例

簡単なフォームを設計します。

○起動
UnixまたはMicrosoft Windowsでwxglade.pywプログラムを実行してwxGladeを起動します。

いくつかのボタンとメイン パレットが表示されます、
アイコンとツリー ウィンドウ アプリケーションをされています。
[プロパティ] ウィンドウは、アプリケーションのプロパティを示しています。
メイン ウィンドウのボタンの上にマウスを移動すると、ツールヒントにその機能が表示されます。

○デザインウィンドウにフレームを追加する
メインパレットから、最初のボタン「フレームを追加」を選択します。
基本クラスとしてwxFrameを選択します。

ツリーウィンドウを見て、2つのアイコンは、アプリケーションアイコン、フレームアイコンとサイザーのアイコンの下に生成されることがわかります。
フレームのアイコンをマウスでダブルクリックすると、デザイナーウィンドウが表示されます。

サイザーは、灰色のボックスとして表示されていることに注意してください:
彼らはあなたがウィジェットを配置しますグリッドサイザーの「スロット」です。

デザイナーウィンドウの枠に空きスロットをクリックし、メインウィンドウ上でそれを選択することにより、 サイザーにウィジェットを置きます。
静的なテキスト、テキストコントロールとボタンを追加してみてください。

何か他のものを追加したい場合は、ツリーウィンドウにサイザーを右クリックしてサイザーに空のスロットを追加し、「スロットの追加」を選択します。
フレームに4つか5つウィジェットを追加して、遊んでみてください。

○プロパティフォームを見ると、3つのタブがあります。
「共通」タブでは、ウィジェットの名前、サイズと色を指定することができます。
「レイアウト」タブでは、国境やアライメントを調整することができます。
「ウィジェット」タブでは、ウィジェットに応じてプロパティを見つけます。
デザイナーウィンドウまたはツリーウィンドウ上の対応するアイコンをクリックしてウィジェットのプロパティを選択することができます。
あなたが理解できるまで、ウィジェットのプロバティを調整してみてください。

○それでは、コードを生成してみましょう。
ツリーウィンドウでアプリケーションアイコンを選択し、[プロパティ]ウィンドウに移動します。
名前とクラスを確認し、「トップウィンドウ」を選択し、「単一ファイル」をチェックし、言語を選択して、パスとファイル名を選択するためのボタンを押して「出力パス」に設定します。

最後に、「コードを生成」ボタンを押すと、コードが生成されます。
コンパイルしてお楽しみください。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

wxpython3.0を使ってみる

2015年11月12日 | Python

まずは、開発環境を揃える意味で、有名なツールやライブラリについて調べる必要があります。なぜそのようなことをするのかというと、Windowsには標準でメモ帳とかWordpadやペイントなどのアクセサリがついてますよね。これらのツールは、決して高機能ではありませんが、必須の機能としてWindowsに標準て必ず入っていることにとても重要な意味があると思います。

pythonには、tkinterというGUIツールキットが標準でついているので、シンプルな画面構成なら、標準のものを使用したほうが確実に動くものができそうですし、また、勉強のための教材も豊富にあります。

○グラフィックユーザインターフェースFAQ

http://docs.python.jp/3.3/faq/gui.html

○お気楽 Python/Tkinter 入門

http://www.geocities.jp/m_hiroi/light/pytk01.html

○wxgladeについて

でも、一つ一つコーディングしながら画面作るのは大変ですよね~、と思って探してみると、いくつかwxpython用のGUIを作るツールがあります。

  • XRCed
  • wxGlade・・・・・・・Last Update: 2015-08-03
  • Starting from version 0.7.0, wxGlade requires wxPython >= 2.8 and Python >= 2.4 and

  • wxFormBuilder・・・・ Last Update: 2015-08-24
  • Support for wxWidgets 3.0

    この中で、XRCedは、wxpythonに標準で付属しています。だったら、XRCed使えばいいのかもですが、XRCedは、基本的な機能に限定されているようで、開発は2007年で止まっているようです。また、wxGladeとwxFormBuilderはwxWidgets 3.0に対応して更新されていますので、一応いろいろ試してみたいと思います。そんなわけで・・有力なGUIツールキットであるwxPythonをまず導入します。wxGladeについては、以前使ったことがあるので、最新版を試してみたいと思います。

    ○wxpythonについて

    python-izmのサンブルコードを使って、wxpythonを使ってみることにしました。環境はWindows10、python27です。

    ○まずは、以下のサイトからwxpythonのダウンロード

    http://www.wxpython.org/download.php

    wxpythonの最新版は3.0で、python2.7に対応しています。

    ・wxpython64-bit Python 2.7

    ==>ここに入りました。C:\Python27\Lib\site-packages\wx-3.0-msw

    ・wxPython Demo for Windows

    =>ここに入りました。C:\Program Files (x86)\wxPython3.0 Docs and Demos

    インストーラが起動して、Windowsにメニューまで作成してくれます。まず、demoが起動することを確認しましょう。スタートメニューから、「Run the wxPython DEMO」を選択するか、エクスプローラで、demo.pyをクリックすると起動するはずです。うまく動かない時は、以下を確認してください。

    ・python.exe(2.7)にpathが通っていることを確認

    ・demo.pyは、C:\Program Files (x86)\wxPython3.0 Docs and Demos\demoにあります。インストールしたフォルダの一つ下のdemoにあることに注意

    ・demo.pyのクリックで起動したい場合は、拡張子「py」にpython.exeが関連付けられている必要があります。

    簡単なwxpythonのサンフルを作って、動作確認をすることにしました。

    ○教材として参考にさせていただくサイト「python-izm」について

    http://www.python-izm.com/contents/gui/wxpython.shtml

    このサイトが素晴らしいのは、単にpythonの文法的なサンプルだけでなく、GUIについてはwxpython、その他、PDF作成、画像処理、データベース、excel操作など、便利なl外部モジュールの紹介があり、このサイトで勉強したらかなり実用的なアプリケーションが作れそうだな・・と感じました。

    短いサンプルのコードなので、テキストエディタにコピペで貼り付けて、名前をつけて保存。拡張子を「.py」に変更して、ファイル名をマウスでクリックして実行・・というのが、手軽なようです。動作確認のため、単体でテストしてから、アプリケーションに組み込む形で開発を進めると良いと思います。

    サイトの解説は、python2.6。wxpython2.9で説明されていますが、いくつかのサンプルを実行したところ、python2.7。wxpython3.0で問題なく動作しました。

    【11/10修正】

    最初demoが動かなかったのですが、原因はpathでした。「c:\python34」がpathの先頭に入っているのに気づきませんでした。また、環境変数のpythonhome(標準ライブラリの場所指定)とpythonpath(inport用モジュールの場所指定)は、標準的なインストール(初期値でインストール)を行った場合には、設定不要です。むしろ、下手に設定すると値が置き換わるので設定は無い方が無難です。


    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    VisualStudioからpythonでこんにちは~

    2015年11月08日 | Python

    ようやく、pythonの環境ができたので、Visual Studio 2015 communityをつかつて、おきまりの最初の一歩から・・

    ○いれまでのインストールは、このブログの過去の記事↓にあります。

    http://blog.goo.ne.jp/zen_san_/e/806f886de676b50ded638ff47a1069ef

    ○プロジェクトの作成

    ファイル>新規作成>プロジェクト>インストール済み>テンプレートを選ぶと・・VisualC#、Visual Basic、Visual F#、Visual C++、javascript、pythonと出てきました。

    ○プロジェクト名を決める

    ここで、python>pythonApplicationを選びます。名前が最初は「PythonApplication1」となっているので、わかりやすい名前をつけましょう。ここで、pythontestとしました。

    ○pythonのバージョンを選ぶ

    この時点で、ソリューションエクスプローラに、pythontestが表示されます。Python Environmentsはデフォルトの値が入っています。64bit2.7、64bit3.4、ironPython・・等選べるので、64bit3.4を選びます。

    ○pythonのinterpriterを選ぶ

    プロジェクトの一番下にpythontestのプロパティがあるので、これを開きます。一番下にinterpriterが、最初はグローバルデフォルトとなっているので、python 64bit3.4を選びます。また、windowsapricationのチェックボックスを外します。

    ○ソースコード作成

    これでやっと、コードを入力できるようになりました。

    #  coding : utf-8

    print('hello world')
    print('こんにちは~')

    ○デバッグ

    「開始」を押して、実行してみます。

    上記のような、簡単なプログラムですが、interpriterが3.4だとunicodeエラーとなり、interpriterが2.7だと、正常に処理されることがわかりました。・・・あれ!

    ○ソースコードの保存

    一度、ソースコードを保存して、読み込み直してみたらわかったのですが、一度も保存されていない場合は、メモリー上で解釈されるので、ちょっとおかしなことが起きているみたいです。読み込む時に、ソースコードがansi文字列でunicodeで読み込むため、漢字が化けていました。

    一度保存して、読み込み直して化けた漢字を修正したあとは、以下の様になります。

    print('こんにちは~') ←2.7ではエラーになる。3.4では、str型はユニコードで解釈されるので、uは不要。

    print(u'こんにちは~')←2.7ではunicode文字列であることをしめすuが必要。

    新しいソースコードを作成した時は、一旦保存してから作り始めると良いみたいですね。

    ○ソースコードの保管とコマンドプロンプトからの実行

    出来上がったソースコードは、Visualstudioが無くても、コマンドブロンブトから実行したりしたいわけですが、デフォルトでは、VisualStudioの下にprojectのフォルダが作成されているので、ユーザのフォルダからかなりら離れた場所にあることがわかりました。まずは、フォルダー構成をよく考える必要がありそうですね。

    ○無償のVisual Studioについて

    私はCommunityを導入しましたが、無償のVisualStudioには、従来のexpressもあるので、利用方法によって選ぶと良いみたいです。

    https://www.microsoft.com/ja-jp/dev/campaign/free-edition.aspx


    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    python勉強用のWindows環境を構築する

    2015年11月08日 | Python

    ○2系か3系か

    Windows環境でpython使うのに5年ほど前ならPython3系は、まだまだかな~と思ってました。当時は、日本語でpythonを使用するのに、2系と3系以上にLinuxとWindowsの環境の違いのほうがギャップが大きかったのです。でも、Windows10が発売になり、無料で使用できるVisual Studio Community 2015及びPython Tools for Visual Studio2.2等の環境が整備されてくると、もうそろそろPython3系にシフトしたほうが良いのかな、という状況になってきました。

    python3系には、「py」というコマンドがついていて、プログラムを実行する時に、2系で実行するのか、3系で実行するのか選べるようになっています。

    <参考>

    Python2.7 と Python3.3 を Windows で併用する

    http://dogwood.skr.jp/blog/2013/12/426/

      上記の資料を参考にして、phthon27とpython34をインストールしました。環境変数のpathに「c:\python27;c:\python34」を追加するだけです。

    動作確認をしていて気づいたのですが、Windows10環境だと、スタートメニューからIDLE(PythonGUI)を起動する時、なぜかpython27では起動せす、python34では起動します。IDLEは、pythonXX\lib\idlelibの中のbatファイルを起動しますが、pythonがユーザのディレクトリの中にあることを前提としているのかもしれません。

    試しに、一旦、python27とpython34の両方をuninstallして、レジストリにも何も残っていない状態から、再度、python27だけをインストールしてみましたが、結果は同じで、python27のIDLE(PythonGUI)は起動しませんでした。

    ○shell

    Windowsでは、コマンドプロンプト(CMD.exe)があるわけですが、いまから勉強するならPowerShell使いたいですよね~。PowerShellは、Windows7以降は標準でついてますが、Windows10では、バージョン5.0が標準装備になってます。

    もしかすると、PowerShellでは、動作が異なる場合があるのかもしれませんが、いまのところ、PowerShellからでも、pythonは正常に動作しています。

    ○IDE

    pythonには、IDLEというIDEが標準でついています。あまりIDEとしての機能は大したことはないのですが、100%python自身でコーディングされているので、サンプルプログラムとして、プラットフォームの違いや、pythonのバージョンの違いを確認するのに適していると思います。

    以前は、Eclipse + PyDevが一般的だったとおもいますが、今から始めるなら、Visualstudio使うのが現実的だとおもいます。

    ○テキストエディタ

    とりあえず、使い慣れた「さくらエディタ」を入れてます。今時は、「Atom」が気になるので、そのうち入れるかな~と思ってます。

    <参考>

    python開発環境

    http://matome.naver.jp/odai/2141588503312703601?&page=1


    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    Windows10でPillowを入れてみた

    2015年10月25日 | Python

    pythonで画像イメージを表示するのに便利なPillowを導入しようとしたのですが、ez_setup.pyでうまく入らないので、easy_install.pyを使ってみたら、簡単に最新のPillow 3.0.0がインストールできました。PILの開発は終了しているため、Python3系で、PILのライブラリを使用するには、PILの後継プロジェクトのPillowが必須のようです。

    Microsoft Windows [Version 10.0.10240]
    (c) 2015 Microsoft Corporation. All rights reserved.

    C:\Users\善太>python C:\Python27\Lib\site-packages\easy_install.py Pillow
    Searching for Pillow
    Reading https://pypi.python.org/simple/Pillow/
    Best match: Pillow 3.0.0
    Downloading https://pypi.python.org/packages/2.7/P/Pillow/Pillow-3.0.0-py2.7-win-amd64.egg#md5=1471e2aee739de6a3125b90155e2c8a9
    Processing Pillow-3.0.0-py2.7-win-amd64.egg
    Moving Pillow-3.0.0-py2.7-win-amd64.egg to c:\python27\lib\site-packages
    Adding Pillow 3.0.0 to easy-install.pth file
    Installing enhancer.py script to c:\python27\Scripts
    Installing createfontdatachunk.py script to c:\python27\Scripts
    Installing gifmaker.py script to c:\python27\Scripts
    Installing pildriver.py script to c:\python27\Scripts
    Installing pilfile.py script to c:\python27\Scripts
    Installing explode.py script to c:\python27\Scripts
    Installing thresholder.py script to c:\python27\Scripts
    Installing viewer.py script to c:\python27\Scripts
    Installing painter.py script to c:\python27\Scripts
    Installing player.py script to c:\python27\Scripts
    Installing pilconvert.py script to c:\python27\Scripts
    Installing pilprint.py script to c:\python27\Scripts
    Installing pilfont.py script to c:\python27\Scripts

    Installed c:\python27\lib\site-packages\pillow-3.0.0-py2.7-win-amd64.egg
    Processing dependencies for Pillow
    Finished processing dependencies for Pillow

    C:\Users\善太>

    -----------------------------------------------------------------------------------------------

    Pillowの紹介記事が以下にあります。この中でもコメントされていますが、scikit-imageやopencvなど良質で大規模な画像処理認識系のライブラリが他に存在しているので、PIL/Pillowは学習用として良い規模感ののライブラリとのことです。オライリーの「実践 コンピュータビジョン」の中で、PILを使用したサンプルコードが示されている関係で必要になる場合が多いようです。

    そもそも、pythonにはTkinterが標準で付属していて、Tkinterでは扱える画像フォーマットが限定されてしまうことから、PILを使おうということになったわけで、本格的に開発するならライブラリの選択はかなり重要になりますね。

    http://derivecv.tumblr.com/post/79130719546

    動作確認は、以下のPILのサンプルプログラムでjpegを表示してみたところ、うまく表示できました。-

    http://bacspot.dip.jp/virtual_link/www/si.musashi-tech.ac.jp/new_www/Python_IntroTkinter/03/index-2.html#chap04

    ------------------------------------------------------------------------------------------------

    Windows10環境で、pythonを使おうと思い、必要(かもしれない)ライブラリを導入しているのですが、PILの後継プロジェクトであるPillowがうまく入らないです。

    ez_setup.pyを実行した結果は以下の通りでした。途中まではうまく動いているので、pathなどの設定はあってると思うのですけどね。以下の例は、コマンドプロンプトから実行していますが、PowerShellから実行しても全く同じメッセージが出てアウトでした。とりあえず、今日はここまでかな。また、進展があれば、報告します。

    C:\Users\善太\Documents\python>python C:\Users\善太\Documents\python\ez_setup.py Pillow
    Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-18.4.zip
    test
    "2" 個の引数を指定して "DownloadFile" を呼び出し中に例外が発生しました: "WebCli
    ent 要求で例外が発生しました。"
    発生場所 行:1 文字:106
    + ... redentials; (new-object System.Net.WebClient).DownloadFile('https://p ...
    +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : WebException

    Traceback (most recent call last):
      File "C:\Users\善太\Documents\python\ez_setup.py", line 391, in <module>
        sys.exit(main())
      File "C:\Users\善太\Documents\python\ez_setup.py", line 387, in main
        archive = download_setuptools(**_download_args(options))
      File "C:\Users\善太\Documents\python\ez_setup.py", line 332, in download_setuptools
        downloader(url, saveto)
      File "C:\Users\善太\Documents\python\ez_setup.py", line 233, in download_file_powershell
        _clean_check(cmd, target)
      File "C:\Users\善太\Documents\python\ez_setup.py", line 207, in _clean_check
        subprocess.check_call(cmd)
      File "c:\python27\lib\subprocess.py", line 540, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['powershell', '-Command', "[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials; (new-object System.Net.WebClient).DownloadFile('https://pypi.python.org/packages/source/s/setuptools/setuptools-18.4.zip', 'C:\\\\Users\\\\\\x91P\\x91\\xbe\\\\Documents\\\\python\\\\setuptools-18.4.zip')"]' returned non-zero exit status 1

    C:\Users\善太\Documents\python>


    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    pythonの教材

    2015年10月23日 | Python

    なかなか良い教材がけっこうたくさんあるので、覚え書きしておきます。Linuxの入門的なものから、プログラミング言語としてのpython入門、pythonを用いたGUIプログラミングなど・・とても幅広いです。

    ○python-izm

    http://www.python-izm.com/contents/introduction/outline.shtml

    ○Pythonで学ぶ 基礎からのプログラミング入門

    http://news.mynavi.jp/series/python/001/

    ○Python入門(Siscoの社内トレーニング)

    http://www.slideshare.net/yuichi110/python-introduction-42659983?related=1

    ○「プログラミングスレまとめ in VIP」の中のpython

    http://vipprog.net/wiki/prog_lang/python.html

    ○Python入門

    http://www.pythonweb.jp/tutorial/

    ○PyQtではじめるGUIプログラミング(2011-08-27に開催されたPyCon JP 2011のセッションで使用したスライド)

    http://www.slideshare.net/RansuiIso/pyqtgui?related=2

    ○Python (システムプログラミングスクリプト言語)

    以下は、大学のサーバーで公開されている、教科書的な情報で、膨大なサンプルがあります。これだけでもかなり勉強できます。最後のPthonで学ぶ「詳細 UNIXプログラミング」には圧倒されます。この本、UNIXの参考書としては有名な本で、私も持ってるんですけど。すごいですね 

  • 百科事典的な紹介
  • 1時間で覚える?
  • 汎用のプログラミング
  • GUI(Graphical User Interface)
  • Pythonで学ぶ「詳解 UNIXプログラミング」
  • googleで、「大学 python」で検索すると、、あらあら、大量に教材が・・ようやく大学での勉強にpythonが脚光を浴びてきたようですね・・・

    ○microsoftの教材でも、ここまでやってる・・

    2日間のカリキュラムで、11時間かかります。気合入れてみてください。なお、ここで使用しているPythonは3、IDEはVisualStudioです。言語は英語ですが、日本語の字幕が出ます。

    https://mva.microsoft.com/ja/training-courses/introduction-to-programming-with-python_jpn-8360?l=CbEymoO8_7304984382

    ↑ん~これ見たら、あれ、VisualBasicはどうなったんだろうと思いました。そう、VBだって、ライブラリを十分作れば、pythonのようなことができるはずなんですけどね~。よく見てると、Pythonの紹介というよりも、VisualStudioの紹介というか・・microsoft自身のPRビデオを見ているような気がしてきました。

    ○pythonのサンプルプログラム

    以下は、5年以上前に私がpythonのサンプルを探してた時に作ったリストです。

    古いので、一部リンク切れしているものは除きました。今でも健在で更新されてるものもあります。

    以前よく見ていたharukaze.NETがなくなってしまったのは痛いですね~。今では、最初に紹介したpython-izmがかなり素晴らしく、サンプルコードのコピベも簡単にできます。

    ●モンキーPython

    Linux magazine 2005年1月号~3月号に連載された, プログラミングの入門記事『サルでもわかる モンキーPython』の原稿。

    2015.7 Python3に対応しました。

    • 第1回 プログラミング初めの一歩 前編 後編
    • 第2回 お絵かきプログラムを作ってみる 前編 後編
    • 第3回 分岐・繰り返しなどとファイルの読み書き 前編 後編

    ●RubyレシピブックをPythonで書く
    http://lightson.dip.jp/zope/ZWiki/PythonRecipe

    ●2ch pythonのお勉強まとめwiki
    http://python.rdy.jp

    ●基礎からはじめるPython
    http://itpro.nikkeibp.co.jp/article/COLUMN/20080207/293301/?ST=develop

    ● Python早めぐり
    http://www.shido.info/py/python2.html

    ●wxpython関連

    https://sites.google.com/site/tibracode/python/wx

    https://www.diigo.com/list/rrbgggrww/wx_python

    http://www.nbrains.net/php/pukiwiki/index.php?link%BD%B8%2FGUI%2FwxWidgets


    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    最近のインストール

    2015年10月06日 | Python

    VSでPythonを試してみたく、VSの2013→2015のアップデートをインストールしました。従来のPythonToolはPTVSという名称のパッケージになり、PTVS 2.2では、Python2.Xと3.Xの両方に対応しているようです。IronPythonについては、現時点でPython2.7系しかなく、Python3.X系のバージョンは無いようです。Pythonは2.7が2.X系の最終とのことですが、2.X系の資産が膨大なので、まだまだ2.X系が主流として残っているのでしょうね。

    Visual Studio 2015

    https://www.microsoft.com/ja-jp/dev/products/community.aspx

    PTVS 2.2

    https://github.com/Microsoft/PTVS/releases/tag/v2.2

    IronPython2.7.5

    https://ironpython.codeplex.com/releases/view/169382


    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    さすが日本と言えること

    2011年04月09日 | Python

    災害の影響もあって、日本全体がシンミリムードとなっているなか、RubyのJIS規格化が決まったそうだ。

    http://www.ipa.go.jp/about/press/20110322.html

    いつも、いつもアメリカに先を越され続けた日本のコンピュータの歴史中で、少しだけ「誇らしい」思いをする部分がある。

    Light Waght Language としてのRuby、サーバサイドでの開発言語としてのRuby…Rubyをどんな局面で使用しているのかは人それぞれの思いがあるかもしれないが、、、

    私は、PHP、python、Rubyの3言語の中では、pythonが好きなのだが、Rubyについてももう少し極めてみたいな、と思わせるニュースだった。




    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    ニシキヘビ

    2010年04月05日 | Python

    pythonって、ニシキヘビのことですよね。
    wikipediaによれば、「食性は動物食で、カエル、爬虫類、鳥類、哺乳類等を食べる。種によっては大型の家畜や人間を捕食した例もある。獲物が目の前を通りかかると素早く襲いかかり、締め殺してから丸呑みにする。」とある。多分、毒はないのかな。僕はペットにしようかとは思わないけど。
    プログラミング言語のpythonの名の由来は、たぶん「丸呑み」ってことだろうな。
    http://ja.wikipedia.org/wiki/%E3%83%8B%E3%82%B7%E3%82%AD%E3%83%98%E3%83%93%E5%B1%9E




    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    Pythonの三項演算子

    2010年02月14日 | Python

    特に新しい問題ではないのだが、Python 2.5 からの新機能で三項演算子というのがある。

    代入の式で、なんらかの条件について、もし●●なら△、そうでなければ□、というような場合、
    通常、以下のように書くところを、、


    if predicate:
    value = then_value
    else:
    value = else_value


    次のように一行で書くことができる。


    value = then_value if predicate else else_value


    <Python 2.5 の新機能>


    http://www.shido.info/py/python10.html



    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    datetimeを使ってみる

    2010年02月13日 | Python

    毎年、毎月、あるいは随時同じようなパターンの仕事というのは良くある。したがって、フォルダー名とかファイル名に日付を使ってバージョンの管理をしていたりする。ファイル名を自動的に作成するために、pythonで使う日付の関数を調べてみた。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    """
      datetimeを使ってみる。
    """
    import datetime

    def str_date(y,m,d): 
        dt=datetime.date(y,m,d) 
        return dt.strftime("%Y%m%d")

    def pr_date(dt):
        print dt
        print dt.year , u"年"
        print dt.month , u"月"
        print dt.day , u"日"

    def pr_time(dt):
        print dt
        print dt.hour , u"時"
        print dt.minute , u"分"
        print dt.second , u"秒"

    #日付と時間
    dt = datetime.datetime.now()
    pr_date(dt)
    pr_time(dt)

    #日付
    dt = datetime.date.today()
    pr_date(dt)

    #時間
    dt=datetime.time(1,2,3)
    pr_time(dt)

    #文字列で日付を
    dt = datetime.date.today()
    print str_date(dt.year,dt.month,dt.day)

    ----------------------------------------------------------------------------

    python IDLEで上記のプログラムを実行すると、以下のようになる。

    ----------------------------------------------------------------------------

    Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.

        ****************************************************************
        Personal firewall software may warn about the connection IDLE
        makes to its subprocess using this computer's internal loopback
        interface.  This connection is not visible on any external
        interface and no data is sent to or received from the Internet.
        ****************************************************************
       
    IDLE 1.2.2     
    >>> ================================ RESTART ================================
    >>>
    2010-02-18 00:41:08.149000
    2010 年
    2 月
    18 日
    2010-02-18 00:41:08.149000
    0 時
    41 分
    8 秒
    2010-02-18
    2010 年
    2 月
    18 日
    01:02:03
    1 時
    2 分
    3 秒
    20100218
    >>>




    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    スペースの削除と文字列メソッド

    2010年02月07日 | Python

    pythonで簡単なプログラムを作ってみた。文字列の前後のスペースを削除するという簡単なもの。インデックスとスライスの勉強になりました。こんなの作らなくても、文字列メソッドの.lstrip()と.rstrip()でいいんだけどね。

    def del_space_right(s):
        #右の不要なスペースを除去
        j=len(s)
        for i in range(len(s)):
            if s[len(s)-i-1]==" ":
                j-=1
            else:
                break
        return s[0:j]

    def del_space_left(s):
        #左の不要なスペースを除去
        j=0
        for i in range(len(s)):
            if s[i]==" ":
                j=i+1
            else:
                break
        return s[j:]

     

    文字列メソッド.replace(" ","")とすることで、文字列中のスペースを全て削除することもできる。メソッドはいろいろあるので、マニュアル見て勉強しよう。

    http://www.python.jp/doc/release/lib/string-methods.html




    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする

    sitecustomize.pyについて

    2010年01月06日 | Python

    WindowsでPythonを使っていると、Linuxではうまく動いていたのに、同じソースコードをWindowsに持ってくると途端にエンコードエラーでこけることがある。「みんなのPython」の「Pythonと日本語」「起こりやすいトラブルと対処」のところで、デフォルトエンコーディングを変更する方法が書いてあった。

    「C:\Python25\Lib\site-packages\sitecustomize.py」の中身

    import sys
    sys.setdefaultencoding("utf-8")

    上記の2行だけのスクリプトをsite-packagesのところに置いておくことで、デフォルトエンコーディングをasciiから他のコード(ここではutf-8)に変更することができるようだ。

    しかし、ascii文字しか使わない米国人なら別だけど、shift-jisもutf-8も常識の日本人が、自分の環境でしか動かない状況を作るのはちょっと、邪道なプログラミングというか、サイトの作り方のような気がしないでもない。

    とはゆうものの、漢字を使用することが想定されていないマイナーなライブラリを使用する場合には、やむを得ない方法なのかもしれない。

    sitecustomize.pyは、pythonが起動する時に、一度だけ実行される処理なのだそうだ。ここで、ちょっとテストをしてみた。

    ●C:\Python25\Lib\site-packages\sitecustomize.pyがある場合。

    import sys

    print sys.getdefaultencoding()

    とすると、「utf-8」と表示される。一度、pythonを終了して、コマンドプロンプトに戻ってから、、、

    ●sitecustomize.pyが無い場合。

    site-packagesの下に、tempフォルダーを作成。sitecustomize.pyとsitecustomize.pycをtempに移動して「隠す」

    import sys

    print sys.getdefaultencoding()

    とすると、「ascii」と表示された。

    したがって、通常は、tempにsitecustomize.pyを隠しておいて、テストする時だけsitecustomize.pyを有効にして、原因を調べるというやり方を試みることにした。




    • X
    • Facebookでシェアする
    • はてなブックマークに追加する
    • LINEでシェアする