概要

Pythonは動的インタプリタ型のプログラミング言語です。PythonはWindows、UNIX、MACなどの複数のオペレーティングシステムで使用でき、Java、.NET開発プラットフォームでも使用できます。

python-logo

特徴

1 PythonはC言語で開発されていますが、PythonにはC言語のようなポインタなどの複雑なデータ型はありません。

2 Pythonは強力なオブジェクト指向の特性を持ち、オブジェクト指向の実装を簡素化しています。保護型、抽象クラス、インターフェースなどのオブジェクト指向の要素を排除しています。

3 Pythonのコードブロックは、スペースまたはタブによるインデントでコードを区切ります。

4 Pythonには31個の予約語しかなく、セミコロン、begin、endなどの記号もありません。

5 Pythonは強い型付けの言語です。変数は作成されると1つのデータ型に対応し、同じ式に現れる異なる型の変数は型変換が必要です。

開発環境の構築

1 www.python.orgからインストールパッケージをダウンロードし、configure、make、make installでインストールできます。

2 www.activestate.comからActivePythonコンポーネントパッケージをダウンロードすることもできます。(ActivePythonはPythonコアと一般的なモジュールのバイナリラッパーであり、ActiveState社がリリースしたPython開発環境です。ActivePythonによりPythonのインストールがより簡単になり、さまざまなオペレーティングシステムで利用できます。ActivePythonには一般的なPython拡張機能やWindows環境向けのプログラミングインターフェースが含まれています)。ActivePythonの場合、Windowsユーザーはmsiパッケージをダウンロードしてインストールするだけです。Unixユーザーはtar.gzパッケージをダウンロードして解凍するだけです。

3 PythonのIDEには、PythonWin、Eclipse+PyDevプラグイン、Komodo、EditPlusがあります。

バージョン

python2とpython3が現在の主要な2つのバージョンです。

次の2つの場合は、python2の使用を推奨します:

1 展開する環境を完全に制御できない場合;

2 特定のサードパーティ製パッケージや拡張機能を使用する必要がある場合;

python3は公式に推奨され、今後全面的にサポートされるバージョンです。現在、多くの機能向上はpython3バージョンでのみ行われています。

hello world

1 hello.pyを作成する

2 プログラムを書く:

if __name__ == \'__main__\':
    print "hello word"

3 プログラムを実行する:

python ./hello.py

コメント

1 行コメントであれ段落コメントであれ、#にスペースを1つ加えてコメントにします。

2 コード内で中国語のコメントを使用する必要がある場合、pythonファイルの先頭に次のコメントを追加する必要があります:

# -* - coding: UTF-8 -* -

3 次のコメントはインタープリタを指定するためのものです

#! /usr/bin/python

ファイルタイプ】

1 Pythonのファイルタイプは3種類に分けられます。ソースコード、バイトコード、最適化コードです。これらはすべて直接実行でき、コンパイルやリンクは必要ありません。

2 ソースコードは拡張子.pyで、pythonが解釈を担当します;

3 ソースファイルをコンパイルすると、拡張子が.pycのファイル、つまりコンパイル済みバイトファイルが生成されます。このファイルはテキストエディタで変更できません。pycファイルはプラットフォームに依存せず、ほとんどのオペレーティングシステムで実行できます。次のステートメントでpycファイルを生成できます:

import py_compile
py_compile.compile(‘hello.py’)

4 最適化されたソースファイルは.pyoという接尾辞になります。つまり最適化コードです。これもテキストエディタで直接変更できません。次のコマンドでpyoファイルを生成できます:

python -O -m py_complie hello.py

変数

1 Pythonの変数は宣言が不要で、変数への代入操作がそのまま変数の宣言と定義のプロセスです。

2 Pythonでは、新しい代入を行うたびに新しい変数が作成されます。変数名が同じでも、変数の識別子は同じではありません。id()関数で変数の識別子を取得できます:

x = 1
print id(x)
x = 2
print id(x)

3 変数に代入がない場合、Pythonはその変数が存在しないとみなします

4 関数の外で定義された変数はすべてグローバル変数と呼べます。グローバル変数はファイル内の任意の関数や外部ファイルからアクセスできます。

5 グローバル変数はファイルの先頭で定義することをお勧めします。

6 グローバル変数を専用のファイルに置き、importで参照することもできます:

gl.pyファイルの内容は次のとおりです:

_a = 1
_b = 2

use_global.pyでグローバル変数を参照します:

import gl
def fun():
  print gl._a
  print gl._b
fun()

定数

Pythonには定数を定義する予約語はありません。独自に定数クラスを定義して定数の機能を実現できます。

class _const:
  class ConstError(TypeError): pass
    def __setattr__(self,name,vlaue):
      if self.__dict__.has_key(name):
        raise self.ConstError, “Can’t rebind const(%s)”%name
        self.__dict__[name]=value
import sys
sys.modules[__name__]=_const()

データ型

1 Pythonの数値型は、整数型、長整数型、浮動小数点型、ブール型、複素数型に分けられます。

2 Pythonには文字型はありません

3 Pythonの内部には普通の型はなく、あらゆる型がオブジェクトです。

4 変数の型を確認する必要がある場合は、typeクラスを使用できます。このクラスは変数の型を返すか、新しい型を作成できます。

5 Pythonには文字列型を表す3つの方法があります。一重引用符、二重引用符、三重引用符です。一重引用符と二重引用符の機能は同じです。Pythonプログラマーは一重引用符を好み、C/Javaプログラマーは二重引用符で文字列を表す習慣があります。三重引用符の中には、一重引用符、二重引用符、改行などの文字を入力できます。

演算子と式

1 Pythonはインクリメント演算子とデクリメント演算子をサポートしていません。例えばi++/i-はエラーですが、i+=1は可能です。

2 1/2はpython2.5より前では0.5になり、python2.5以降では0になります。

3 等しくないは!=または<>です

4 等しいは==で表します

5 論理式では、andは論理積、orは論理和、notは論理否定を表します

制御文】

1 条件文:

if (表达式) :
    语句1
else :
    语句2

2 条件文:

if (表达式) :
  语句1
elif (表达式) :
  语句2
…
elif (表达式) :
  语句n
else :
  语句m

3 条件のネスト:

if (表达式1) :
  if (表达式2) :
    语句1
  elif (表达式3) :
    语句2
  …
  else:
    语句3
elif (表达式n) :
   …
else :
   …

4 Python自体にはswitch文はありません。

5 ループ文:

while(表达式) :
   …
else :
   …

6 ループ文:

for 变量 in 集合 :
   …
else :
   …

7 PythonはCのようなfor(i=0;i<5;i++)というループ文をサポートしていませんが、rangeを使って模倣できます:

for x in range(0,5,2):
    print x

配列関連

1 タプル(tuple):Pythonの組み込みデータ構造の1つです。タプルは異なる要素から構成され、各要素には文字列、数値、さらには要素など異なる型のデータを格納できます。タプルは書き込み保護されており、作成後に変更することはできません。タプルはしばしば1行のデータを表し、タプル内の要素は異なるデータ項目を表します。タプルは変更不可能な配列と考えることができます。タプルの作成例は次のとおりです:

tuple_name=(“apple”,”banana”,”grape”,”orange”)

2 リスト(list):リストはタプルに似ており、一連の要素で構成されます。リストは追加、削除、検索操作を実現でき、要素の値を変更できます。リストは伝統的な意味での配列です。リストの作成例は次のとおりです:

list=[“apple”,”banana”,”grage”,”orange”]

appendメソッドで末尾に要素を追加でき、removeで要素を削除できます。

3 辞書(dictionary):キーと値のペアからなる集合です。辞書内の値はキーによって参照されます。キーと値の間はコロンで区切り、キーと値のペア間はカンマで区切り、波括弧のペアで囲みます。作成例は次のとおりです:

dict={“a”:”apple”, “b”:”banana”, “g”:”grage”, “o”:”orange”}

4 シーケンス:シーケンスはインデックスとスライス機能を持つ集合です。タプル、リスト、文字列はすべてシーケンスに属します。

関数関連

1 Pythonプログラムは、パッケージ(package)、モジュール(module)、関数で構成されます。パッケージは一連のモジュールからなる集合です。モジュールは特定の種類の問題を処理する関数とクラスの集合です。

2 パッケージは特定のタスクを完了するためのツールボックスです。

3 パッケージには__init__.pyファイルが含まれている必要があります。これは現在のフォルダがパッケージであることを識別するために使われます。

4 Pythonのプログラムはモジュールの集まりで構成されています。モジュールは関連する関数やコードを1つのファイルにまとめたもので、1つのファイルが1つのモジュールです。モジュールはコード、関数、クラスで構成されます。モジュールのインポートにはimport文を使用します。

5 パッケージの役割はプログラムの再利用を実現することです。

6 関数は繰り返し呼び出せるコードのまとまりです。関数定義の例は次のとおりです:

def arithmetic(x,y,operator):
   result={
      “+”:x+y,
      “-“:x-y,
      “*”:x*y,
      “/”:x/y
   }

7 関数の戻り値はreturnで制御できます。

文字列関連

1 フォーマット出力:

format=”%s%d” % (str1,num)
print format

2 +を使って文字列を連結します:

str1=”hello”
str2=”world”
result=str1+str2

3 文字列の切り出しはインデックス/スライス、またはsplit関数で行えます。

4 スライスによる文字列の切り出し:

word=”world”
print word[0:3]

5 Pythonは==と!=を使って文字列を比較します。比較する2つの変数の型が異なる場合、結果は必ず異なるとなります。

ファイル処理

1 ファイルを簡単に処理する:

context=”hello,world”
f=file(“hello.txt”,’w’)
f.write(context);
f.close()

2 ファイルの読み取りには、readline()関数、readlines()関数、read関数を使用できます。

3 ファイルへの書き込みには、write()、writelines()関数を使用できます。

オブジェクトとクラス】

1 Pythonはclass予約語を使ってクラスを定義します。クラス名の最初の文字は大文字にします。プログラマーが作成する必要がある型を単純な型で表現できない場合は、クラスを定義し、定義したクラスを使ってオブジェクトを作成する必要があります。クラス定義の例:

class Fruit:
    def grow(self):
       print “Fruit grow”

2 オブジェクトが作成されると、オブジェクトのハンドル、属性、メソッドという3つの特性が含まれます。オブジェクトを作成する方法:

fruit = Fruit()
fruit.grow()

3 Pythonには保護型の修飾子はありません

4 クラスのメソッドもパブリックメソッドとプライベートメソッドに分けられます。プライベート関数はそのクラスの外部の関数から呼び出すことはできません。プライベートメソッドも外部のクラスや関数から呼び出すことはできません。

5 Pythonでは、関数"staticmethod()"または"@ staticmethod"ディレクティブを使用して、通常の関数を静的メソッドに変換します。静的メソッドはグローバル関数に相当します。

6 Pythonのコンストラクタ名は__init__で、デストラクタ名は__del__です。

7 継承の使用方法:

class Apple(Fruit):
   def …

MySQLへの接続

1 MySQLdbモジュールを使うとMySQLデータベースの操作が非常に便利です。サンプルコードは次のとおりです:

import os, sys
import MySQLdb
try:
    conn MySQLdb.connect(host=’localhost’,user=’root’,passwd=’’,db=’address’
except Exception,e:
    print e
    sys.exit()
cursor=conn.cursor()
sql=’insert into address(name, address) values(%s, %s)’
value=((“zhangsan”,”haidian”),(“lisi”,”haidian”))
try
    cursor.executemany(sql,values)
except Exception, e:
    print e
sql=”select * from address”
cursor.execute(sql)
data=cursor.fetchall()
if data
    for x in data:
        print x[0],x[1]
cursor.close()
conn.close()

さらに詳しく勉強したい場合は、こちらをご覧ください:Pythonチュートリアル。

原文の出典:http://roclinux.cn/?p=2338