スキップしてメイン コンテンツに移動

Pythonはじめる

2008/12/3(現地時間)に、Python3.0がリリースされた。
http://www.python.org/download/releases/3.0/
この機会に本気でPythonを勉強してみようと思う。
早速インストールしてみる。インストーラは上記URLのページから。Windowsの場合は「Windows x86 MSI Installer (3.0)」か「Windows AMD64 MSI Installer (3.0) 」のどちらかを選択。ダウンロードしたものを実行してクリック、クリック。
今回はLinuxへのインストールに挑戦してみる。同URLから「Gzipped source tar ball (3.0)」を選択してダウンロードし、展開する。展開後はソースからのインストール。インストール先は/usr/lib/python3.0を指定した。

$ tar xvzf Python3.0.tgz
$ cd Python3.0/
$ ./configure --prefix=/usr/lib/python3.0
$ make
$ sudo make install

インストールの最後には、以下のようなメッセージが表示された。既にバージョン2.xがインストールされているなら、フルインストールはお勧めしない。

* Note: not installed as 'python'.
* Use 'make fullinstall' to install as 'python'.
* However, 'make fullinstall' is discouraged,
* as it will clobber your Python 2.x installation.
インストールが成功すると、/usr/lib/python3.0/bin/配下にバイナリpython3.0 があるので、それを実行する。するとインタラクティブモードで起動する。

Python 3.0 (r30:67503, Dec  4 2008, 22:58:26) 
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

遊んでみよう。

大好きなHelloWorld

>>> print('hello world')
hello world

電卓としてつかったり

>>> 3+4
7
>>> 80/4
20.0

「3」にちなんで、なべあつってみたり

>>> for i in range(10):
...  if (i % 3) == 0:
...   print(i, 'あほ')
...  else:
...   print(i)
... 
0 あほ
1
2
3 あほ
4
5
6 あほ
7
8
9 あほ

最初のHelloWorldについて、今までのバージョンでは

>>>print 'hello world'

として実行できたが、3.0からはエラーとなる。print「文」が廃止され、print「関数」として定義された為。今までのバージョンアップでは互換性を重視してきたが、3.0では互換性を犠牲にしてでも理想的な設計を目指したらしい。

「Python 3.0って何がすごいの?」という方は,以下の記事などをお読みいただけるとよいと思います:-D。
Python 3.0 リリース! — TRIVIAL TECHNOLOGIES 2.0
もっと知りたいPython3000

コメント

このブログの人気の投稿

VirtualBoxのUbuntu 18.04でNAT + ホストオンリーアダプター

VirtualBoxのVMにインストールしたUbuntu Server 18.04で、ネットワーク割当を「NAT」+「ホストオンリーアダプター」にする場合の設定についてメモ。 VMを作るとき、ゲストOSからインターネットに繋がって、かつホスト-ゲスト間でもつながる環境にしたいとき、VMのネットワーク割当は手っ取り早いのは「ブリッジアダプター」なんだけど、会社のネットワークでは都合がわるかったりするので「NAT」+「ホストオンリーアダプター」にしている。 アダプター1は「NAT」を選択 アダプター2は「ホストオンリーアダプター」を選択 ゲストOSであるUbuntuのネットワーク設定は、NATに該当するNICはDHPCで、ホストオンリーアダプターに該当するNICは固定IPとする。 Ubuntu 18.04ではネットワーク設定はNetplanで行う(Ubuntu 17.10から変わったようだ)。編集する設定ファイルは「/etc/netplan/50-cloud-init.yaml」 network: ethernets: {NATのNIC}: addresses: [] dhcp4: true optional: true {ホストオンリーアダプターのNIC}: addresses: [{固定IPアドレス}] dhcp4: no version: 2 ポイントは、ホストオンリーアダプターに該当するNICの固定アドレスを設定するときに、 ゲートウェイを設定しない こと。 以前に QiitaのVirtualBoxでNAT + Host-Only Network環境を構築する を参考にしていたのに、今回18.04で設定する際にすっかり忘れてはまってしまった。 IPアドレスは「192.168.0.2/24」のようにサブネットマスクも指定する。 NICに指定するデバイス名は以下コマンドで表示されるlogical nameが該当する。 > lshw -class network たいていは「enp0s3」「enp0s8」となるようだ。 設定ファイルを保存したら

画像を切り取って保存する

画像処理において、画像の一部を切り出すことをトリミングというらしい。画像編集ソフトなんかにも大抵「トリミング」機能が実装されているだろう。 そんな画像を切り取る処理を.NETでやってみる。 .NETでは画像を扱う際にはBitmapクラスを使用する。BitmapクラスのCloneメソッドでサイズを指定すれば、そのサイズのBitmapオブジェクトができるので、それを保存すればよい。Cloneメソッドの引数はRectangle構造体とPixelFormat列挙体。 Rectangle構造体とは四角形の位置とサイズを表したもの。元画像の左上を(0, 0)として(X座標, Y座標, 幅, 高さ)の値でRectangle構造体を作成して渡す。PixelFormat列挙体はヘルプを見てもよくわからなかった。とりあえずは元画像の値をそのまま渡す。 例えば photo by tsukacyi のようなユッケの画像をトリミングするプログラムは以下のように書ける '元画像 Dim source As Bitmap source = New Bitmap("source.jpg") '切り取るサイズ Dim rect As Rectangle rect = New Rectangle(30, 80, 400, 320) '切り取り後の画像 Dim trimed As Bitmap trimed = source.Clone(rect, source.PixelFormat) '保存 trimed.Save("trimed.jpg") source.Dispose() trimed.Dispose() トリミング後の画像は以下の通り。

「Lively」ベータ開始

Googleが3D仮想空間 「Lively」 のベータ版を開始したらしいので、試しにやってみた。 グラフィックボードを搭載していない、オンボードなPCなのだが、それなりに動作するのが驚いた。比較されるであろう「Second Life」はやったことなく、3D仮想空間とやらは初めてなのだが、なかなか面白い。 試しに 「Chuta's Room」 を作ってみた。中にいくつかこのエントリへのリンクも仕込んでおいた。もしLivelyから来られた方は、コメントでも残していただけると有難い。