Movatterモバイル変換


[0]ホーム

URL:


Tomoya Nakayama, profile picture
Uploaded byTomoya Nakayama
ODP, PPTX1,233 views

Introduction of Python

社内向けPython入門講義資料

Embed presentation

Download as ODP, PPTX
Introduction to Python         2012/04/11      Tomoya Nakayama
AgendaPythonって何?とにかく使ってみよう
Pythonとの出会いもともとPerl使い技術書を何冊か読むサンプルコードが結構な確率でPythonこれはPython知らなきゃまずいな…使ってみると意外とおもしろい!これを機にPerlからPythonにシフトしよう!!                             3
Pythonって何?             4
Pythonの歴史Guide van Rossum が開発1991年 0.90公開1994年 1.0リリース2000年 2.0リリース2008年 3.0リリース                          Wikipedia                       「グイド・ヴァンロッサ    5                             ム」
Pythonの特徴スクリプト言語(インタプリタ)動的型付けインデントが命オブジェクト指向                    6
Pythonのいいところ幅広く使われている可読性 インデントが強制されているから簡単ライブラリが豊富                     7
プログラミング言語ランキング               Language               Ratings     1        Java                    17.110%     2        C                       17.087%     3        C#                      8.244%     4        C++                     8.047%     5        Objective-C             7.737%     6        PHP                     5.555%     7        (Visual) Basic          4.369%     8        JavaScript              3.386%     9        Python                  3.291%     10       Perl                    2.703% (出典) TIOBE Programming Community Index for March 2012                                                         8
オープンソースでもhttp://www.ohloh.net/languages/compare                                         9
こんなところにPythonが(出典) Wikipedia 「Pythonを使っている製品あるいはソフトウェア の一覧」                                      10
こんなところにもGmailGoogle GroupsGoogle Maps   (出典) Wikipedia 「Pythonを使っている製品あるいはソフトウェア    の一覧」                                      11
ライブラリが豊富標準ライブラリだけでも100種類以上 ファイル操作(CSV, HTML, XMLなど) インターネット(HTTPなど) GUI 単体テスト その他いろいろ… 詳細はこちら  http://www.python.jp/doc/release/library/index.html標準以外にも数多くのパッケージ                                                        12
使ってみよう         13
まずはインストールWindowsインストーラをダウンロードするインストーラを実行するおしまい                         14
コマンドライン実行環境の起動スタートメニューから「Python2.7」⇒「Python (command line)」コマンドプロンプトのような対話式の実行環境が 起動する                                15
お決まりの…print “Hello, Python.”                         16
Pythonの特徴をもう一度スクリプト言語(インタプリタ)動的型付けインデントが命オブジェクト指向                    17
動的型付け変数の型は動的に変化する PerlとかPHPと同じ foo = “string” foo = 7                    18
インデントが命プログラムの階層はインデントで表現次の2つの例では結果が異なる (1)   if score >= 80:         print “Good!n”         print “Your score is ” + str(score) + “n” (2)   if score >= 80:         print “Good!n”       print “Your score is ” + str(score) + “n”                                                      19
C言語で書くと…(1)   if (score >= 80) {        printf(“Good!n”);        printf(“Your score is %dn”, score);      }(2)   if (score >= 80) {        printf(“Good!n”);      }      printf(“Your score is %dn”, score);                                               20
制御構造:ifif score >= 80:   Print “Good!”elif score >= 60:   Print “So, so.”else:   Print “No Good.”                      21
制御構造:whilen = 0while n < 10:   print n   n = n + 1                     22
制御構造:forJavaでいう拡張forループ array = [1, 2, 3, 4, 5] for n in array:    print n                           23
データ構造:リスト(1)いわゆる「配列」 array1 = [1, 2, 3, 4, 5] array2 = [1, 2, [3, 4], 5] array3 = [1, 2, “3”, “4”, 5] array4 = range(2, 6, 1)いろんな参照方法  array1[0]  array1[1:3]  array1[-2]                                24
データ構造:リスト(2)いろんな操作 len(array1) array1.append(6) array3.remove(“3”) array1.reverse()                      25
データ構造:タプルリストと同じように使えるが、後から操作できな い tpl = (1, 2, 3, 4, 5) print tpl[0] tpl[0] = 10# これはNG                         26
データ構造:辞書キーと値のペアdic1 = {'name': 'John', 'age': 25}print dic1['name']dic2 = {   'john': {'name': 'John', 'age': 25},   'bob': {'name': 'Bob', 'age': 20}} # ネストもOKprint dic2['bob']['age']                                          27
リスト内包表記(1) array = [60, 92, 12, 54, 88]    print len([n for n in array if n >=     60])(2) ax = [“x1”, “x2”, “x3”]    ay = [“y1”, “y2”, “y3”]    az = [“z1”, “z2”, “z3”]    print [(x, y, z) for x in ax for y     in ay for z in az]                                          28
関数の定義def my_double(x):   return x * 2num = my_double(5)                     29
クラスの定義class Derived(Base):   # Baseクラスを継承したDerivedクラ ス  def __init__(self):    # __init__はコンストラクタ(名前固定)  def public_method(self, arg1, arg2):    # publicメソッド  def __private_method(self, arg1, arg2):    # 先頭に__を付けるとprivateに。obj = Derived()obj.public_method(arg1, arg2)obj.__private_method(arg1, arg2) # これはエラー    30
ダックタイピング(duck typing)"If it walks like a duck and quacks like a duck,  it must be a duck"「もしもそれがアヒルのように歩き、アヒル のように鳴くのなら、それはアヒルである」                                                   31
ダックタイピングclass Duck:    def sound(self):       return “quack”class Cat:    def sound(self):       return “myaa”def let_sound(obj):    print obj.sound()let_sound(Duck())let_sound(Cat())                        32
サンプルプログラム            33
twitterアプリの製作特定のユーザーのツイートを取得 twitter APIを利用 レスポンスをJSONで取得ツイートの時刻とテキストを出力                        34
プログラム作成の前に…twitter API  https://dev.twitter.com/docs/api/1/get/statuses/user_timelineJSON  「キー: 値」の形式でデータを表現                                                                  35
プログラム# -*- coding: utf-8 -*-import urllibimport jsonscr_name = 'NHK_PR' # twitterのスクリーンネームurl = 'https://twitter.com/statuses/user_timeline.json'     + '?screen_name=' + scr_nameresult = urllib.urlopen(     url, proxies={'https': 'http://proxy:8080'} )result = json.loads(result.read())for tweet in result:    print '[%s] %s' % (tweet['created_at'], tweet['text'])                                                       36
まとめ      37
まとめ簡単でしょ?使ってみてくださいね。               38
おまけ      39
Pythonの亜種IronPython  .NET frameworkで動くPython  .NET frameworkのライブラリが使える  Visual Studioが使えるっぽい(フォームデザイナと    か)Jython  Java VMで動くPython  ちょっとバージョン古めかな…                                   40
IronPythonimport clrclr.AddReferenceByPartialName(“System.Windows.Forms”)from System.Windows.Forms import *MessageBox.Show(    “Are you OK?”, “Test”,    MessageBoxButtons.YesNo,    MessageBoxIcon.Question)                                                        41
Jython    JavaのコードからPythonを呼び出す感じ。import org.python.util.PythonInterpreter;public class JythonTest {    public static void main(String[] args) {         PythonInterpreter pyi = new PythonInterpreter();         pyi.exec(“print 'Hello, world.'”);         pyi.execfile(“hello.py”); // ファイル実行もOK     }}                                                  42
DjangoPythonで作られたWebフレームワークモデルを書くだけで テーブルを勝手に作ってくれたり データ編集画面を自動で作ってくれたり                        43
Python入門者向けサイトほぷしぃ  http://www.isl.ne.jp/pcsp/python/PythonWeb  http://www.pythonweb.jp/                                      44
ご清聴ありがとうございました                 45

Recommended

PDF
Python入門
PDF
PEP8を読んでみよう
PDF
20170131 python3 6 PEP526
PDF
Twitter sphere of #twitter4j #twtr_hack
PDF
Good Parts of PHP and the UNIX Philosophy
PDF
ゆるふわJava8入門
PPTX
2017/12/21 虎の穴 Python勉強会
PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
PDF
Java8のstreamをダラダラまとめてみる
PDF
PHPの今とこれから2014
PDF
from old Java to modern Java
PDF
PHPコアから読み解くPHP5.5
PDF
PHPにおけるI/O多重化とyield
PDF
Pythonでの開発を効率的に進めるためのツール設定
PDF
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
PDF
Java SE 8 lambdaで変わる プログラミングスタイル
PDF
from old java to java8 - KanJava Edition
PDF
Tensorflow dynamically loadable XLA plugin ソースコード解析
PPTX
Java Puzzlers JJUG CCC 2016
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
PPTX
【java8 勉強会】 怖くない!ラムダ式, Stream API
PDF
Javaセキュアコーディングセミナー東京第3回講義
PPTX
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
PDF
Javaセキュアコーディングセミナー東京第3回演習の解説
PDF
PHPの今とこれから 2013
PDF
研究生のためのC++ no.7
KEY
Hello World Python featuring GAE
PDF
Python Kyoto study
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PDF
Introduction Pycon2010

More Related Content

PDF
Python入門
PDF
PEP8を読んでみよう
PDF
20170131 python3 6 PEP526
PDF
Twitter sphere of #twitter4j #twtr_hack
PDF
Good Parts of PHP and the UNIX Philosophy
PDF
ゆるふわJava8入門
PPTX
2017/12/21 虎の穴 Python勉強会
PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Python入門
PEP8を読んでみよう
20170131 python3 6 PEP526
Twitter sphere of #twitter4j #twtr_hack
Good Parts of PHP and the UNIX Philosophy
ゆるふわJava8入門
2017/12/21 虎の穴 Python勉強会
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.

What's hot

PDF
Java8のstreamをダラダラまとめてみる
PDF
PHPの今とこれから2014
PDF
from old Java to modern Java
PDF
PHPコアから読み解くPHP5.5
PDF
PHPにおけるI/O多重化とyield
PDF
Pythonでの開発を効率的に進めるためのツール設定
PDF
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
PDF
Java SE 8 lambdaで変わる プログラミングスタイル
PDF
from old java to java8 - KanJava Edition
PDF
Tensorflow dynamically loadable XLA plugin ソースコード解析
PPTX
Java Puzzlers JJUG CCC 2016
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
PPTX
【java8 勉強会】 怖くない!ラムダ式, Stream API
PDF
Javaセキュアコーディングセミナー東京第3回講義
PPTX
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
PDF
Javaセキュアコーディングセミナー東京第3回演習の解説
PDF
PHPの今とこれから 2013
PDF
研究生のためのC++ no.7
Java8のstreamをダラダラまとめてみる
PHPの今とこれから2014
from old Java to modern Java
PHPコアから読み解くPHP5.5
PHPにおけるI/O多重化とyield
Pythonでの開発を効率的に進めるためのツール設定
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Java SE 8 lambdaで変わる プログラミングスタイル
from old java to java8 - KanJava Edition
Tensorflow dynamically loadable XLA plugin ソースコード解析
Java Puzzlers JJUG CCC 2016
Pythonはどうやってlen関数で長さを手にいれているの?
【java8 勉強会】 怖くない!ラムダ式, Stream API
Javaセキュアコーディングセミナー東京第3回講義
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
Javaセキュアコーディングセミナー東京第3回演習の解説
PHPの今とこれから 2013
研究生のためのC++ no.7

Similar to Introduction of Python

KEY
Hello World Python featuring GAE
PDF
Python Kyoto study
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PDF
Introduction Pycon2010
PDF
LLdeade Python Language Update
PDF
CodingTips+ 基礎編
PDF
「Python言語」はじめの一歩 / First step of Python
PDF
DATUM STUDIO PyCon2016 Turorial
PPT
Pythonintro
PDF
第36回NDS 発表資料 ちょこっとpython
PPTX
Django_Fukuoka
PDF
Django_fukuoka
PDF
Pythonで始めるDropboxAPI
PDF
Python & PyConJP 2014 Report
PDF
第2回勉強会スライド
PDF
Code Reading at Security and Programming camp 2011
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PDF
Wrapping a C++ library with Cython
PDF
はじめてのPython
PPT
Python languageupdate (2004)
Hello World Python featuring GAE
Python Kyoto study
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Introduction Pycon2010
LLdeade Python Language Update
CodingTips+ 基礎編
「Python言語」はじめの一歩 / First step of Python
DATUM STUDIO PyCon2016 Turorial
Pythonintro
第36回NDS 発表資料 ちょこっとpython
Django_Fukuoka
Django_fukuoka
Pythonで始めるDropboxAPI
Python & PyConJP 2014 Report
第2回勉強会スライド
Code Reading at Security and Programming camp 2011
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Wrapping a C++ library with Cython
はじめてのPython
Python languageupdate (2004)

Introduction of Python


[8]ページ先頭

©2009-2025 Movatter.jp