Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Introduction of Python
Report
Tomoya Nakayama
Follow
Software Engineer
Apr. 11, 2012
•
0 likes
1 likes
×
Be the first to like this
Show More
•
1,187 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
Java8のstreamをダラダラまとめてみる
Shinya Mochida
PHPの今とこれから2014
Rui Hirokawa
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
from old Java to modern Java
心 谷本
PHPコアから読み解くPHP5.5
Yahoo!デベロッパーネットワーク
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
Atsuo Ishimoto
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
1
of
45
Top clipped slide
Introduction of Python
Apr. 11, 2012
•
0 likes
1 likes
×
Be the first to like this
Show More
•
1,187 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
社内向けPython入門講義資料
Tomoya Nakayama
Follow
Software Engineer
Advertisement
Advertisement
Advertisement
Recommended
PEP8を読んでみよう
2bo 2bo
5.8K views
•
49 slides
20170131 python3 6 PEP526
masahitojp
3.3K views
•
35 slides
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
2.8K views
•
87 slides
Good Parts of PHP and the UNIX Philosophy
Yuya Takeyama
3.8K views
•
100 slides
ゆるふわJava8入門
dcubeio
1.6K views
•
35 slides
2017/12/21 虎の穴 Python勉強会
虎の穴 開発室
4.5K views
•
85 slides
More Related Content
Slideshows for you
(20)
Java8のstreamをダラダラまとめてみる
Shinya Mochida
•
4.1K views
PHPの今とこれから2014
Rui Hirokawa
•
21.3K views
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
•
54.2K views
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
•
22.5K views
from old Java to modern Java
心 谷本
•
35.4K views
PHPコアから読み解くPHP5.5
Yahoo!デベロッパーネットワーク
•
9.7K views
PyCon JP 2012 hands-on セッション/ FlaskによるWebアプリケーションの実装とプログラミングツール
Atsuo Ishimoto
•
22.8K views
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
•
21.6K views
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
•
46.4K views
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
•
3K views
Java SE 8 lambdaで変わる プログラミングスタイル
なおき きしだ
•
18K views
from old java to java8 - KanJava Edition
心 谷本
•
2.9K views
Tensorflow dynamically loadable XLA plugin ソースコード解析
Mr. Vengineer
•
1.2K views
Java Puzzlers JJUG CCC 2016
Yoshio Terada
•
7.1K views
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
•
37.7K views
【java8 勉強会】 怖くない!ラムダ式, Stream API
dcomsolution
•
6.4K views
Javaセキュアコーディングセミナー東京第3回講義
JPCERT Coordination Center
•
1.8K views
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
Koichi Sakata
•
3.5K views
Javaセキュアコーディングセミナー東京第3回演習の解説
JPCERT Coordination Center
•
413 views
PHPの今とこれから 2013
Rui Hirokawa
•
7K views
Similar to Introduction of Python
(20)
Python Kyoto study
Naoya Inada
•
2K views
ひのきのぼうだけで全クリ目指す
AromaBlack
•
1.5K views
T69 c++cli ネイティブライブラリラッピング入門
伸男 伊藤
•
5.2K views
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
Etsuji Nakai
•
16.1K views
Python physicalcomputing
Noboru Irieda
•
1.5K views
Pythonによる機械学習入門〜基礎からDeep Learningまで〜
Yasutomo Kawanishi
•
58.7K views
NumPyが物足りない人へのCython入門
Shiqiao Du
•
36.5K views
Python standard 2022 Spring
anyakichi
•
200 views
Django_fukuoka
ShuyaMotouchi1
•
445 views
DATUM STUDIO PyCon2016 Turorial
Tatsuya Tojima
•
3.1K views
Introduction to cython
Atsuo Ishimoto
•
14.9K views
Django_Fukuoka
Shuya Motouchi
•
442 views
15分でざっくり分かるScala入門
SatoYu1ro
•
20.8K views
Rの高速化
弘毅 露崎
•
38.3K views
ATN No.2 Scala事始め
AdvancedTechNight
•
1.2K views
pi-6. 繰り返し
kunihikokaneko1
•
138 views
はじめての人のためのDeep Learning
Tadaichiro Nakano
•
4.9K views
Rあんなときこんなとき(tokyo r#12)
Shintaro Fukushima
•
5.5K views
研究生のためのC++ no.2
Tomohiro Namba
•
427 views
Cython intro prelerease
Shiqiao Du
•
1.8K views
Advertisement
Recently uploaded
(20)
☀️【麦吉尔大学毕业证成绩单留学生首选】
15sad
•
3 views
MT,STautomation
ssuserf8ea02
•
105 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
①【戴尔豪斯大学毕业证文凭学位证书|工艺完美复刻】
love445ds
•
2 views
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
25 views
Kubernetes超入門
Takashi Suzuki
•
0 views
統計学の攻略_統計的仮説検定の9パターン.pdf
akipii Oga
•
27 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
15 views
【2023年5月】平成生まれのためのUNIX&IT歴史講座
法林浩之
•
16 views
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 views
UAV写真・レーザー測量test.pptx
ssuserb48d2b1
•
13 views
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 views
ネットワークパケットブローカー市場.pdf
HinaMiyazu
•
3 views
ペンタエリスリトール市場.pdf
HinaMiyazu
•
3 views
CDLEハッカソン2022参加報告.pdf
SHOIWA1
•
0 views
Omnis
DaisukeFujita10
•
11 views
オレオレになりがちなテスト計画を見直した話
terahide
•
25 views
突如登場したAzure Developer CLIでなにができるのか?検証してみる
Kazumi IWANAGA
•
27 views
☀️【杜兰大学毕业证成绩单留学生首选】
2125nuh
•
2 views
第2回Matlantis User Conference_20230421_畠山歓先生
Matlantis
•
357 views
Introduction of Python
Introduction to Python
2012/04/11 Tomoya Nakayama
Agenda Pythonって何? とにかく使ってみよう
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
こんなところにも Gmail Google Groups Google 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
制御構造:if if score >=
80: Print “Good!” elif score >= 60: Print “So, so.” else: Print “No Good.” 21
制御構造:while n = 0 while
n < 10: print n n = n + 1 22
制御構造:for Javaでいう拡張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} } # ネストもOK print 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 * 2 num = 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_timeline JSON 「キー: 値」の形式でデータを表現 35
プログラム # -*- coding:
utf-8 -*- import urllib import json scr_name = 'NHK_PR' # twitterのスクリーンネーム url = 'https://twitter.com/statuses/user_timeline.json' + '?screen_name=' + scr_name result = 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
IronPython import clr clr.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
Django Pythonで作られたWebフレームワーク モデルを書くだけで テーブルを勝手に作ってくれたり データ編集画面を自動で作ってくれたり
43
Python入門者向けサイト ほぷしぃ http://www.isl.ne.jp/pcsp/python/ PythonWeb
http://www.pythonweb.jp/ 44
ご清聴ありがとうございました
45
Advertisement