スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Python3を使ってみる(インストール、使い方)

この記事は、Windows環境においてPython3.3を利用するためのメモです。
Python(パイソン)というプログラミング言語です。
次の記事でPythonを利用するためのメモなのですが、レベルと時間が足りません…
※次の記事のVapourSynthの利用には、Python3.3をインストールした環境が必要です。(Core r16時点)

※Python3.3の利用方法については、Python公式のチュートリアルなどを参考にしてください。
※Pythonには、Python3系のほかにPython2系もあります。
 Python3系は、Python2系との後方互換性がないらしいので、注意が必要です。
 インターネット上の多くの情報はPython2系のためのものであるため、仕様変更や廃止によりPython3では使えなかったりすることがあります…。
 また、Python3.3と3.2でも多少の違いがあります。3系での変更点は公式ページなどを参照してください

Python公式(英語) http://www.python.org/
The Python Tutorial
http://docs.python.org/3/tutorial/
Library Reference
http://docs.python.org/3/library/

日本語(日本Pythonユーザ会 http://www.python.jp/)
Python チュートリアル
http://docs.python.jp/3.3/tutorial/
ライブラリリファレンス(Python 標準ライブラリの説明)
http://docs.python.jp/3.3/library/




この記事は、Windows環境でPythonを利用するためのメモです。
※Pythonの利用方法については、Python公式のチュートリアルなどを参考にしてください。

もくじ
1.ダウンロード Download

2.インストール Install

3.使ってみる Usage

3-1.対話モード
(1)Hello World.と表示してみる
(2)計算
(3)変数
(4)文字列
(5)変数の型
(6)リスト(list)
(7)タプル(tuple)
(8)辞書(dict)

3-2.スクリプト

モジュール
標準モジュール
import
モジュール名の短縮

4.
5.





1.ダウンロード Download

Python公式サイトからインストーラをダウンロードします。
とりあえずPython3.3をダウンロードしています

Python 3.3.0 Windows x86 MSI Installer (Windows binary -- does not include source)
MD5 checksums and sizes of the released files:
70062e4b9a1f959f5e07555e471c5657 19980288 python-3.3.0.msi
※VapourSynthの利用のためには、Python3.3の利用が必要です。(r16時点)

2.インストール Install

とりあえずPython3.3(x86,32bit版)のインストールをします
python-3.3.0.msiというやつです。
※VapourSynthの利用のためには、Python3.3の利用が必要です。(r16時点)

インストールの際、Pathを通しておく設定をしておきました。
※Python3.3をインストールする際、パスを通しておく設定を選択できます。Python3.2には項目ありません。
この設定をしておけば、コマンドプロンプトでPythonを利用する場合に、Pythonと入力するだけでPythonを起動できます(pythonでも可)
(C:Python33\Pythonのようにフルパスを入力しなくてすみます。)

手動設定方法(ミスに注意)
環境変数を自分で設定する場合、
※Python3.2以前のバージョンなどを使うなど。あるいはPython3.3インストール時にチェックし忘れたとか。
環境変数Pathの先頭に、C:\Python33\; というように加えます
(C:\Python33\;はPython3.3の場合。Python3.2の場合はC:\Python32\;というように加える。)

※環境変数は、スタート -> コントロールパネル -> システムの詳細設定 -> 環境変数 -> システムの環境変数 -> 変数 Path
を選択し、編集(I)で、
変数値の先頭に、C:\Python33\; というように加えます
(この例はPython3.3の場合。Python3.2ならC:\Python32\;というように加える。)













3.使ってみる Usage

3-1.対話モード

スタート->すべてのプログラム->Python 3.3 -> Python (command line)
もしくは
スタート->すべてのプログラム->Python 3.3 -> IDLE (Python GUI)
とすれば、Pythonが対話モードで実行できます。

(1)Hello World.と表示してみる
プログラミングの作法だと思われるのでやってみます。

>>>
となっているところに、
print('Hello World.')
と入力してEnterキーを押せば、
Hello World.
と表示されます。

画面的にはこんな感じです。
>>>print('Hello World.')
Hello World.

※ここがPython2との違いです。
 Python2系では、print 'Hello World.' というような感じでしたが、
 Python3系では、print('Hello World.')というように小カッコ()が必要です。
 printは、Python3ではprint関数になっているためです。
 Python2ではPrint文で()は不要でした。2.7あたりでは()があっても使えるようです


(2)計算
和 足し算
x + y
差 引き算
x - y
積 掛け算
x * y
商 割り算
x / y
あまり 割り算
x % y

複素数の計算
虚数単位はj
(1+1j)*(1-1j)というように、jの前には数字をつける必要がある。
※変数名と区別


1+2と入力してEnterキーを押せば、計算結果3が出力される
>>> 1+2
3
>>> 1/2
0.5
>>> 4/3
1.3333333333333333
※これはPython3での計算結果。Python2系では整数同士の割り算の計算結果は、整数になったらしい。
>>> 1.0/2
0.5
>>> 4.0/3
1.3333333333333333
※これもPython3での計算結果。Python2系では、割り算のどちらかが実数であれば商も実数となる。2系では両方整数なら商も整数だった

小数点以下を無視したい場合には//を使う
>>> 1.0//2
0
>>> 4.0//3
1
>>> 1/2
0
>>> 4/3
1
↓足し算
>>> 1+3
4

↓引き算
>>> 1-3
-2

↓かけ算
>>> 1*3
3

↓割り算
>>> 1/3
0.3333333333333333

↓割り算のあまり
>>> 5 % 2
1

↓累乗
>>> 2**16
65536

↓複素数の計算
>>> 1+1j

>>> (1+1j)*(1-1j)
(2+0j)

↓複素数の実部(real part)と虚部(imaginary part)を表示する
>>> a=(1+1j)*(1-1j)
>>> a.real
2.0
>>> a.imag
0.0


↓対話モードで最後に計算された結果は変数_に代入されている
>>> _
0.0

>>> 1*2*3
6
>>> _
6

(3)変数
>>> a=1+2
>>>
※計算結果を変数aに代入して記憶させておく。計算結果は出力されない
>>> a
3
※aと入力してエンターすれば、変数aの内容3が出力される
>>>b
NameError: name 'b' is not defined
※未定義の変数bは参照できないのでエラー

>>> b=a+1
>>>
>>>b
4
複数の変数に代入
>>> x=y=z=3
>>> x
3
>>> y
3
>>> z
3
(4)文字列
文字列も変数として扱うことができる。文字列は、シングルクォート(')かダブルクォート(')で囲む。
>>> message='Hello world.'
>>> message
'Hello world.'

>>> type(message)


↓改行するときは3重のクオート('''と'''もしくは"""と""")で囲む
>>> '''Hello.
I'm fine'''
"Hello.\nI'm fine"

↓特殊文字の表現。特殊な文字を文字列に使う時には\を使う。raw文字列(r'文字列')のようにすることもできる





↓文字列の長さ
>>> s='Hello'
>>> len(s)
5

コード変換の方法 ※Python3では異なる
※以前のバージョンは以下のとおり
ASCII文字列(英文字列)s → ユニコード文字列u
u=unicode(s)

ユニコード文字列 → ASCII
s=str(u)

u'文字列' 2系や3.3で使える。3.2では使えない。



SHIFT-JIS → ユニコード変換
codecs.getdecorder
codecs.getencoder


(5)変数の型
変数は、代入されたときにそれが自動的に変数となる。
変数の型も、その時に自動的に決まる。
変数にはいくつかの型がある。
整数型(int)
実数型(float)
複素数型(complex)

文字列型(str)
タプル(tuple)、リスト(list)、辞書(dict)、…等
>>> i=100
>>> f=1.2
>>> s='3'

>>> type(i)
class 'int'
>>> type(f)
class 'float'
>>> type(s)
class 'str'

>>> a=1+2j
>>> type(a)
class 'complex'
※ブログ表示の都合上書いてありませんが、class 'complex'などの前後には<と>が表示されます。

(6)リスト(list)
多くの値をまとめて扱う。
リストは、大カッコ[と]で囲み、,で区切る。[]とかけばそれは空のリスト。
リストの各要素のデータの型は同じでなくても良い。
例1)
x=[a,b,c,d,e]
例2)
a=['abc','def',-3,2+1j]
例1の場合
>>> x=['a','b','c','d','e']
>>> x
['a', 'b', 'c', 'd', 'e']
>>> type(x)
class 'list'

↓リストの要素は、番号(インデックス)で呼び出せる。左から順に0,1,2, ...というような順番。リスト名[番号]
>>> x[0]
'a'
>>> x[1]
'b'
>>> x[-1] 'e'
↓スライス。特定のインデックス範囲の要素を取り出す。スライスの位置に注意。x[1:3]のとき、index 1の左コンマからindex 3の左のコンマまでの範囲(index 1 から index 2まで)を取り出している。(['a','b','c','d','e']) >>> x[1:3] ['b', 'c'] スライスの位置の簡単な考え方 インデックスが文字と文字との間を数えていると考えれば、 1つ目の文字(H)のひだり側が0で、5つ目の文字(o)のひだり側が4であることがわかる。 5つ目の文字のみぎ側は5である Helloを切り出すためには、0と5の位置でスライスする必要がある。 +---+---+---+---+---+ | H | e | l | l | o | +---+---+---+---+---+ 0 1 2 3 4 5 -5 -4 -3 -2 -1 x='Hello'のとき(※文字列もスライスできる。文字列、タプル、リストなどデータが並べられたものをシーケンスと言い、その要素を数えることができる。要素の番号は0から始まる。 >>> x='Hello' >>> x[0] 'H' >>> x[1] 'e' >>> x[2] 'l' >>> x[3] 'l' >>> x[4] 'o' >>> x[0:4] 'Hell' >>> x[0:5] 'Hello' >>> x[:] 'Hello' >>> x[0:] 'Hello' >>> x[:5] 'Hello' ↓結合 >>> x+x ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e'] ↓くりかえし >>> x*3 ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e'] ↓変更。リストの要素を変更している >>> x[1:3]=['sky'] >>> x ['a', 'sky', 'd', 'e'] ↓リストのリスト(リストの要素がリスト) >>> x[1]=[1,2,3,4,5] >>> x ['a', [1, 2, 3, 4, 5], 'd', 'e']
(7)タプル(tuple)
タプルは、リストと似ている。
タプルは、(と)で囲む。,が区切り記号
※各要素を変更できない点がリストと異なる。
外側の()は省略可能
>>> x=('a','b','c','d','e')
>>> x
('a', 'b', 'c', 'd', 'e')
>>> type(x)



>>> x[1]
'b'
>>> x[1:3]
('b', 'c')

タプルを加算しても、aとaの部分が2a,bとbが2b…とはならない
>>> x+x
('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e')
>>> x*3
('a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e')

↓タプルの各要素は変更できない。
>>> x[1]=(1,2,3,4,5)
TypeError: 'tuple' object does not support item assignment

(8)辞書
(他のプログラミング言語での連想配列あるいは連想記憶)
キーによる値の保存と取出しができる。
中カッコ{と}で囲み、,で区切る。キーと値の区切り記号は:
{キー(key):値(value),キー:値, ...(略)... ,キー:値}

(9)
(10)
演算











関数
変数

時間を表示する
関数
プログラムのファイル.pyのようにプログラムがあれば、
それをほかのプログラムからも利用することができる。
それがモジュール。モジュールの中には複数の関数をまとめておくことができる。

関数を定義するときはdefをつかう
def 関数名(関数引数1,関数引数2, ...):
    定義
    定義
    定義
    定義
関数名(引数1,引数2, ...)



コメント
行の先頭に#があればそこはコメントとなる。
コメント部分はプログラムの実行には影響を与えないため、
コメント部分にプログラムの内容説明をメモしておいたりしておく。



if 条件ごとに処理
if 条件1:
    処理
elif 条件2:
    処理
else:
    処理
定数

データの型 … 整数、実数、複素数、文字列、タプル、リスト、辞書...等
シーケンス データを並べたもの

要素

文字列
文字列定数は、以下の引用符で囲って表現する。
二重引用符ダブルクオート(")
単一引用符シングルクオート(')

改行が含まれる文字列は、3個の引用符を並べて表現する
'''Hello
Hello
Hello'''
改行が含まれない文字列は、行末にバックスラッシュ記号(\)を入れる
'''Hello\
Hello\
Hello'''
エスケープ
特殊文字の表現の際に、バックスラッシュ記号(\)を使う ▼ここから▼
意味 表現
' \'
" \"
/ \\
TAB \t
改行 \n
Backspace \b
Bell \a
Null \0
Vertical tab \v
Carriage return \r
Formfeed \f
Escape \e
8進数 \0XX
16進数 \xXX
▲ここまで▲


3-2.スクリプト(script)

この上の3-1.対話モードでは、手作業で1行ずつ入力する方法が書かれています。
手作業で長いプログラムを打ち込んでいくのはつらいので、スクリプト(script)としてファイルに保存しておき利用できます。



スクリプトを作成する(例)

hello.py
message='Hello, world!'
print(message)




(1)windowsのコマンドプロンプトでスクリプトを実行する
コマンドプロンプトを起動し、hello.pyが置かれているディレクトリに移動する
↓hello.pyがC:\Python33のフォルダに置かれている場合
cd C:\Python33
と入力すると、
C:\Python33>と表示される

C:\Python33>と表示されているところに
python hello.py
と入力すれば、
Hello, world!
と表示される



(2)batファイルで実行する
たとえば、以下のようなbatファイルを用意しておいて、hello.pyをドラッグアンドドロップすれば実行される
@echo off
python %~1
pause



モジュール(modules) .pyファイルに、関数など処理を書いておけば、モジュールとして呼び出して利用することもできます。

基本的な処理については、標準モジュールとして初めから用意されています。
ほかにも各種外部モジュールを用意してくれている有志の方々によるプロジェクトがあります。

すでにあるものについては自分であえて一から考えてつくりだす必要はあまりありません。
※ただし、Python3系に対応していないものが多いかもしれません
もちろん新しいモジュールが必要になったら自分で作ることもできます。





(1)標準モジュール
標準モジュールはPythonに付属している。
少しだけ内容をメモしておく(多数あるのでその一部だけ)。


sys
os モジュール OSの機能(ディレクトリ操作、ファイル操作)

string 文字列操作
re 正規表現
datetime 日付と時間
math 数値計算
random 疑似乱数生成

urllib URLを扱うモジュール群



(2)import モジュールの利用
モジュールは、importで呼び出す

↓mathがモジュール名、sqrtが関数。モジュール名.関数名の形で、モジュールに含まれる関数を呼び出す
>>> import math


平方根を計算。2の平方根の計算。
>>> math.sqrt(2)
1.4142135623730951



円周率
>>> math.pi
3.141592653589793
自然対数
>>> math.log(10)
2.302585092994046

自然対数の底
>>> math.e
2.718281828459045
>>> math.exp(1)
2.718281828459045
>>> math.exp(2)
7.38905609893065

>>> math.sin(math.pi/2)
1.0
(3)モジュール名の短縮
↓モジュール名を短縮することもできる(モジュールの名前が長い場合に短縮すれば楽)
>>> import math as mh
>>> mh.sqrt(2)
1.4142135623730951


↓VapourSynthの場合の例。vapoursynthがモジュール名で、vsが短縮名(ニックネーム)。
>>> import vapoursynth as vs


場所を表示
>>> import vapoursynth
>>> vapoursynth
module 'vapoursynth' from 'C:\\Python33\\lib\\site-packages\\vapoursynth.pyd'
※ブログ表示の都合上表示されていませんが、左端<と右端>が表示されます
(4)モジュールが探索される場所

モジュールをimportする際、Pythonが探索する場所に、モジュールを置いておく必要がある
>>> import sys
>>> sys.path
['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages']



現在のディレクトリを表示する
>>> import os
>>> os.getcwd()
'C:\\Python33'

ディレクトリの一覧
>>> os.listdir(os.curdir)
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'tcl', 'Tools', 'w9xpopen.exe']

windowsの環境変数の使い方(http://support.microsoft.com/kb/310519)
raw文字列 r'文字列'
Unicode文字列 u'文字列' 2系は使える。3.3でも使える。3.2では使えない。









AmazonベストセラーTOP5
アニメ(BD/DVD)
ライトノベル
コミック
フィギュア・ドール
アニメゲームmusic

コメントの投稿

非公開コメント

プロフィール

空に架かる橋

Author:空に架かる橋
FC2ブログへようこそ!
このブログについて(プライバシーポリシー)
Amazon.co.jpアソシエイト
こちらのブログはたまに各種実験会場となるため、デザイン変更等により表示が遅くなったり、文字が読みにくかったりする場合があります。 そのうちなおりますm(_ _)m
記事の内容に問題がある場合は、ただちに記事内容の利用をやめてください。

カウンター

現在の閲覧者数:

DTV研究
検索フォーム
カテゴリ
PT3 (3)
最新記事
最新コメント
最新トラックバック
月別アーカイブ
Amazonランキングテスト3.2
内容:

カテゴリー:

ノード:

アダルトを
選択しない 表示しない
※カテゴリー変更後に有効
RSSへのリンク
TGテストエリア
テストエリアb
AmazonベストセラーTOP5
アニメ(BD/DVD)
ライトノベル
コミック
フィギュア・ドール
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。