Plan2:
Python Project (1)
Development of web applications for innovation café.

Tatsuya NAKAMURA
本プランの目的
• アプリケーション開発を通じて,プログラミングの基礎を習得
o Python,Web技術,データベース

[最終目標]
• イノベヤ用のWebアプリを開発
o 蔵書管理システム

2014/02/24

2
スケジュール(予定)
• 基礎編(2月〜4月)
o
o
1.
2.
3.

Webアプリ開発に必要な基礎知識を実際にプログラミングしながら学習
誰でも参加可能
Pythonの基礎(2回)
Webアプリの基礎(1回)
データベースの基礎(1回)
...
今日の内容
• Pythonを知ろう!

[目次]
1.
2.
3.
4.
5.
6.

Pythonの概要
Pythonの基本
型とリテラル
制御構文
関数
クラス

2014/02/24

4
1. Pythonの概要
• 海外で人気のプログラミング言語
o
o
o
o

GoogleやAppleなどの大企業も使用
DropboxはPythonで開発
豊富な標準ライブラリと強力な外部ライブラリ
最近,日本でも利用者増

• 特徴
o ...
2. Pythonの基礎
• インデント(ブロック)
def main():
for i in range(1,4):
if i % 2 == 0:
print “%sは偶数です.” % i
else:
print “%sは奇数です.” % i...
2. Pythonの基礎
• 入出力
name = raw_input("お名前は? ")
age = raw_input("何歳ですか? ")
print "こんにちは,%sさん(%s歳)" % (name, age)

日本語の入力は要対応...
2. Pythonの基礎
• 変数
>>> spam = "ham"
>>> spam
'ham'
>>> egg
Traceback (most recent call last):
File "<pyshell#2>", line 1, i...
2. Pythonの基礎
• デバッグ・トレースバック
def main():
x = "ほげ"
y = 123
concat(x, y)
def concat(a, b):
return a + b
if __name__ = "__main...
3. 型とリテラル
• Pythonは動的型付け言語なので,
代入されるデータの型に従って変数の型が決定
o 論理型(bool)
o 数値型(int, float, complex)
o シーケンス
• 文字列
• リスト
• タプル
• セッ...
4. 制御構文
# if文
a = 1
b = 2
if a < b:
print "True"
else:
print "False"

True
0
1
2
ok

# for文
for i in range(3):
print i
# w...
5. 関数
# 関数の宣言
def ham():
""" documentation """
return "egg“

egg

# 関数の呼び出し
bacon = ham()
print bacon

2014/02/24

12
6. クラス
• Pythonはオブジェクト指向プログラミングをサポート
# format
class CLASS_NAME:
""" documentation ""“
var1 = value
def method1(self, ...):...
6. クラス
• コンストラクタ
class Spam:
def __init__(self, ham, egg):
self.ham = ham
self.egg = egg
spam = Spam(1,2)

__init__はインスタンス...
Upcoming SlideShare
Loading in...5
×

PythonProject(1)

434

Published on

PythonProject第1回目

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
434
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

PythonProject(1)

  1. 1. Plan2: Python Project (1) Development of web applications for innovation café. Tatsuya NAKAMURA
  2. 2. 本プランの目的 • アプリケーション開発を通じて,プログラミングの基礎を習得 o Python,Web技術,データベース [最終目標] • イノベヤ用のWebアプリを開発 o 蔵書管理システム 2014/02/24 2
  3. 3. スケジュール(予定) • 基礎編(2月〜4月) o o 1. 2. 3. Webアプリ開発に必要な基礎知識を実際にプログラミングしながら学習 誰でも参加可能 Pythonの基礎(2回) Webアプリの基礎(1回) データベースの基礎(1回) • 開発編(4月〜7月) o イノベヤ用のWebアプリをグループで開発 o 事前希望者のみ参加可能 2014/02/24 3
  4. 4. 今日の内容 • Pythonを知ろう! [目次] 1. 2. 3. 4. 5. 6. Pythonの概要 Pythonの基本 型とリテラル 制御構文 関数 クラス 2014/02/24 4
  5. 5. 1. Pythonの概要 • 海外で人気のプログラミング言語 o o o o GoogleやAppleなどの大企業も使用 DropboxはPythonで開発 豊富な標準ライブラリと強力な外部ライブラリ 最近,日本でも利用者増 • 特徴 o インデントでブロックを表現(C言語では”{ }”で囲った部分) o インタプリタ(コンパイル不要) • インタラクティブシェル o マルチプラットフォーム • ほとんどのOSでPythonがインストール可能 2014/02/24 5
  6. 6. 2. Pythonの基礎 • インデント(ブロック) def main(): for i in range(1,4): if i % 2 == 0: print “%sは偶数です.” % i else: print “%sは奇数です.” % i # # # # if __name__ == “__main__”: main() # コマンドラインからの実効かどうかの制御 # main()関数を呼び出す インデントのレベル(深さ)で ブロック,スコープを表現 mainという関数を定義 1から3までのループ処理 偶数かどうかのチェック 偶数の場合に出力 # 奇数の場合に出力 $ python sample1.py 1は奇数です. 2は偶数です. 3は奇数です. 2014/02/24 6
  7. 7. 2. Pythonの基礎 • 入出力 name = raw_input("お名前は? ") age = raw_input("何歳ですか? ") print "こんにちは,%sさん(%s歳)" % (name, age) 日本語の入力は要対応 $ python sample2.py お名前は? nakatatsu 何歳ですか? 23 こんにちは,nakatatsuさん(23歳) 2014/02/24 7
  8. 8. 2. Pythonの基礎 • 変数 >>> spam = "ham" >>> spam 'ham' >>> egg Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> egg NameError: name 'egg' is not defined 変数spamに 文字列hamを代入 未定義の変数を参照した場合 NameError 2014/02/24 8
  9. 9. 2. Pythonの基礎 • デバッグ・トレースバック def main(): x = "ほげ" y = 123 concat(x, y) def concat(a, b): return a + b if __name__ = "__main__": main() $ python sample3.py Traceback (most recent call last): File "sample3.py", line 10, in <module> main() File "sample3.py", line 4, in main concat(x, y) File "sample3.py", line 7, in concat return a + b TypeError: cannot concatenate 'str' and 'int' objects 2014/02/24 9
  10. 10. 3. 型とリテラル • Pythonは動的型付け言語なので, 代入されるデータの型に従って変数の型が決定 o 論理型(bool) o 数値型(int, float, complex) o シーケンス • 文字列 • リスト • タプル • セット o 辞書型 o None型 2014/02/24 10
  11. 11. 4. 制御構文 # if文 a = 1 b = 2 if a < b: print "True" else: print "False" True 0 1 2 ok # for文 for i in range(3): print i # while文 while a < b: print "ok" a += 1 2014/02/24 11
  12. 12. 5. 関数 # 関数の宣言 def ham(): """ documentation """ return "egg“ egg # 関数の呼び出し bacon = ham() print bacon 2014/02/24 12
  13. 13. 6. クラス • Pythonはオブジェクト指向プログラミングをサポート # format class CLASS_NAME: """ documentation ""“ var1 = value def method1(self, ...): ... ... def method2(self, ...): ... ... class Spam: egg = 100 def ham(): return “ham" spam = Spam() print spam.egg print spam.ham 100 ham 2014/02/24 13
  14. 14. 6. クラス • コンストラクタ class Spam: def __init__(self, ham, egg): self.ham = ham self.egg = egg spam = Spam(1,2) __init__はインスタンス作成時に 自動で呼び出される • デストラクタ class Spam: def __del__(self): print “deleted” spam = Spam() del spam __del__はインスタンス削除時に 自動で呼び出される 2014/02/24 14
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×