SlideShare a Scribd company logo
「Python言語」
はじめの一歩
Takanori Suzuki / 2015-08-19
ヒカ☆ラボ
「Python言語」はじめの一歩 / First step of Python
ハッシュタグは
#ヒカラボ
自己紹介
• 鈴木 たかのり / Takanori Suzuki
• Twitter: @takanory
PyCon JP 2015 Chair
Python Bouldering部 部長
• Pythonで開発してる会社
• 一部分を書いた→
• http://www.shuwasystem.co.jp/products/7980html/4315.html
BeProud所属
• 2015年4月発売
• 内容はここから主に引用
• 128ページ、1,980円+税
• http://gihyo.jp/book/2015/978-4-7741-7320-7
Pythonエンジニア養成読本
来場ありがとうござい
ます
Pythonでのプログラミングに
興味ある人?
Python
書いたことある人?
他の言語でプログラム
書いたことある人?
プログラム
書いたことない人?
注意事項
今日の内容だけで
Python書けるように
ならないよ
今日やること
1. Pythonの特徴
2. 言語の特徴
3. インストール
4. 基本的な言語仕様
5. Python 2と3の違い
6. よく使う標準ライブラリ
7. よく使うサードパーティ製パッケージ
8. どうやって学ぶか
1. Pythonの特徴
Q. Pythonってなにがで
きるの?
A. なんでもできます
きれいに書きやすい
ので保守しやすい
ちゃんとしてる
• 20年以上開発が継続
• 後方互換性あり
• PEPというルールに則って機能を拡張
Python 2 と 3
• 最新は Python 2.7.10 と 3.4.3(もうすぐ3.5.0)
• 一部後方互換性なし
• 今日は Python 3 ベースでやります
2. 言語の特徴
今日やること
1. Pythonの特徴
2. 言語の特徴 ← イマココ
3. インストール
4. 基本的な言語仕様
5. Python 2と3の違い
6. よく使う標準ライブラリ
7. よく使うサードパーティ製パッケージ
8. どうやって学ぶか
インデントでブロック構造
for i in range(10):
if i % 5 == 0:
print('ham')
elif i % 3 == 0:
print('eggs')
else:
print('spam')
対話モード
$ python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more
information.
>>> for i in range(10):
... if i % 5 == 0:
... print('ham')
... elif i % 3 == 0:
... print('eggs')
... else:
... print('spam')
...
ham
spam
spam
:
eggs
バッテリー付属
• 200+ の便利な標準ライブラリ
• http://docs.python.jp/3/library/
豊富な外部パッケージ
• 60,000+ の外部パッケージ
• PyPI: Python Package Index
• http://pypi.python.org/
• 「パイピーアイ」と読むらしい
3. インストール
python.orgからdownload
• Mac, Windowsはインストーラーからどうぞ
• https://www.python.org/downloads/
• WindowsはPATHの設定をお忘れなく
• Linux はそれぞれのパッケージ管理からどうぞ
4. 基本的な言語仕様
今日やること
1. Pythonの特徴
2. 言語の特徴
3. インストール
4. 基本的な言語仕様 ← イマココ
5. Python 2と3の違い
6. よく使う標準ライブラリ
7. よく使うサードパーティ製パッケージ
8. どうやって学ぶか
対話モードで数値計算
$ python
>>> 1 + 1
2
>>> 2 * 3
6
>>> width = 60
>>> height = 90
>>> width * height
5400
文字列とリスト
>>> ‘Hello world'
‘Hello world'
>>> "Monty Python's Flying Circus"
"Monty Python's Flying Circus"
>>> ['Hello', 3]
['Hello', 3]
関数と組み込み関数
>>> def add(a, b):
... return a + b
...
>>> add(1, 3)
4
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
FizzBuzzで知る言語仕様
• 1から順番に数字を言う
• 3で割り切れる時は「Fizz」と言う
• 5で割り切れる時は「Buzz」と言う
• 3と5で割り切れる時は「FizzBuzz」と言う
Pythonファイルを実行
def fizzbuzz(num):
return num
print(fizzbuzz(4))
$ python fizzbuzz.py
4
for: ループ処理
def fizzbuzz(num):
return num
for num in range(1, 101):
print(fizzbuzz(num))
$ python fizzbuzz.py
1
2
3
:
100
if, elif, else: 条件分岐
def fizzbuzz(num):
if num % 3 == 0 and num % 5 == 0:
return 'FizzBuzz'
elif num % 3 == 0:
return 'Fizz'
elif num % 5 == 0:
return 'Buzz'
else:
return str(num)
FizzBuzzの完成
$ python fizzbuzz.py
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
:
Buzz
その他の言語仕様
• データ型
• 文字列の操作
• コレクション
• ファイル操作
• モジュール
データ型
• int: 整数型
• float: 浮動小数点型
• str: 文字列型
• bytes: バイト型
データ型
>>> type(1)
<class 'int'>
>>> type(1.1)
<class 'float'>
>>> type('日本語')
<class 'str'>
>>> '日本語'.encode('utf-8')
b'xe6x97xa5xe6x9cxacxe8xaax9e'
>>> type('日本語'.encode('utf-8'))
<class 'bytes'>
文字列の操作
>>> 'Hello World' # シングルクォーテーション
'Hello World'
>>> "Hello World" # ダブルクォーテーション
'Hello World'
>>> 'Mt.' + 'Fuji' # 文字列の連結
'Mt.Fuji'
>>> 'python'[2:5] # スライス
'tho'
>>> 't' in 'python' # 文字列の存在チェック
True
>>> 'pain-au-chocolat'.split('-') # 文字列分割
['pain', 'au', 'chocolat']
コレクション
• list: リスト
• tuple: タプル
• dict: 辞書
• set: 集合
list: リスト
>>> animals = ['cat', 'dog', 'snake']
>>> type(animals)
<class 'list'>
>>> animals[0] # 要素を取得
'cat'
>>> animals[1:] # スライスも使える
['dog', 'snake']
>>> animals.append('elephant') # 要素を追加
>>> for animal in animals: # ループで取り出す
... print(animal)
...
cat
dog
snake
elephant
tuple: タプル
>>> animals = ('cat', 'dog', 'snake')
>>> type(animals)
<class 'tuple'>
>>> animals[0] # 要素を取得
'cat'
>>> animals[1:] # スライスも使える
('dog', 'snake')
>>> animals.append('elephant') # 追加はエラー
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute
'append'
>>> 'spam', # 要素が一つのtupleを作成
('spam',)
dict: 辞書
>>> user_info = {
... 'firstname': 'takanori',
... 'lastname': 'suzuki',
... }
>>> user_info
{'firstname': 'takanori', 'lastname': 'suzuki'}
>>> user_info['firstname'] # 要素を取得
'takanori'
>>> 'firstname' in user_info # キーの存在チェック
True
>>> for key, value in user_info.items():
... print(key, value)
...
firstname takanori
lastname suzuki
set: 集合
>>> {'spam', 'ham'}
{'ham', 'spam'}
>>> {'spam', 'spam', 'spam'}
{'spam'}
>>> set1 = {'spam', 'ham'}
>>> set2 = {'ham', 'eggs'}
>>> set1 & set2 # 集合の積
{'ham'}
>>> set1 | set2 # 集合の和
{'ham', 'eggs', 'spam'}
ファイル操作
>>> with open('todo.txt') as f: # ファイルを開く
... todo_str = f.read()
...
>>> with open('memo.txt', 'w') as f: # 書き込む
... f.write('Hello worldn')
...
12
>>> with open('memo.txt', 'a', encoding='utf-8')
as f: # 文字コード指定して追記
... f.write('こんにちは世界n')
...
8
モジュール
def add(a, b):
return a + b
def sub(a, b):
return a - b
>>> import calc
>>> calc.add(1, 3)
4
>>> from calc import sub
>>> sub(5, 2)
3
calc.py
5. Python 2 と 3 の違い
今日やること
1. Pythonの特徴
2. 言語の特徴
3. インストール
4. 基本的な言語仕様
5. Python 2と3の違い ← イマココ
6. よく使う標準ライブラリ
7. よく使うサードパーティ製パッケージ
8. どうやって学ぶか
printが文から関数に
>>> print # 空行を出力
>>> print 'Hello Python 2!'
Hello Python 2!
Python 2のprint文
Python 3のprint関数
>>> print() # 空行を出力
>>> print('Hello Python 3!')
Hello Python 3!
文字列がUnicodeに統一
Python 2の2種類の文字列
Python 3の文字列は1種類
>>> type('str文字列')
<type 'str'>
>>> type(u'unicode文字列')
<type 'unicode'>
>>> type('str文字列')
<class 'str'>
>>> type(u'unicode文字列')
<class 'str'>
整数の割り算が実数
Python 2の整数の割り算の結果は整数
Python 3は浮動小数点数
>>> 4 / 2
2
>>> 1 / 3
0
>>> 4 / 2
2.0
>>> 1 / 3
0.3333333333333333
標準ライブラリの再構成
• 名前が変更
• ConfigParser -> configparser
• 統合
• StringIO, cStringIO -> io
• 再構成
• urllib, urllib2, urlparse -> urllib.*
6. よく使う
標準ライブラリ
今日やること
1. Pythonの特徴
2. 言語の特徴
3. インストール
4. 基本的な言語仕様
5. Python 2と3の違い
6. よく使う標準ライブラリ← イマココ
7. よく使うサードパーティ製パッケージ
8. どうやって学ぶか
200+ の標準ライブラリ
http://docs.python.jp/3/library/
re: 正規表現
>>> import re
>>> m = re.search('py(thon)', 'python')
>>> m
<_sre.SRE_Match object; span=(0, 6),
match='python'>
>>> m.group()
'python'
>>> m.group(0)
'python'
>>> m.group(1)
'thon'
sys, os: システムパラメータとOS
>>> import os
>>> os.mkdir('spam')
>>> os.chdir('spam')
>>> os.getcwd() # 現在のディレクトリ
'/Users/takanori/hikalab/spam'
>>> import sys
>>> sys.exit(1)
datetime: 日付と時刻
>>> import datetime
>>> now = datetime.datetime.now()
>>> now.isoformat()
'2015-08-17T18:17:49.623626'
>>> today = datetime.date(2015, 8, 18)
>>> nextyear = datetime.date(2016, 1, 1)
>>> delta = nextyear - today
>>> delta.days
136
math, random: 数学関数と乱数
>>> import math
>>> math.pi
3.141592653589793
>>> math.sqrt(2)
1.4142135623730951
>>> import random
>>> random.randint(1, 1000)
632
>>> data = ['spam', 'ham', 'eggs']
>>> random.choice(data)
'eggs'
>>> random.shuffle(data)
>>> data
['spam', 'eggs', 'ham']
itertools: イテレータ生成関数
>>> import itertools
>>> list(itertools.chain('ABC', 'DEF'))
['A', 'B', 'C', 'D', 'E', 'F']
>>> list(itertools.combinations('ABCD', 2))
[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B',
'C'), ('B', 'D'), ('C', 'D')]
shutil: 高レベルなファイル操作
>>> import shutil
>>> shutil.copytree('src_dir', 'dst_dir')
>>> shutil.rmtree('src_dir')
json: JSONエンコーダ、デコーダ
>>> import json
>>> data = {'spam': 'SPAM',
... 'ham': True,
... 'eggs': None,
... }
>>> json_str = json.dumps(data)
>>> json_str
'{"eggs": null, "ham": true, "spam": "SPAM"}'
>>> json.loads(json_str)
{'ham': True, 'eggs': None, 'spam': 'SPAM'}
7. よく使う
サードパーティ製
パッケージ
今日やること
1. Pythonの特徴
2. 言語の特徴
3. インストール
4. 基本的な言語仕様
5. Python 2と3の違い
6. よく使う標準ライブラリ
7. よく使うサードパーティ製パッケージ← イマココ
8. どうやって学ぶか
60,000+ の
サードパーティ製
パッケージ
https://pypi.python.org/pypi
pipとvirtualenv
• pip: サードパーティ製パッケージをインストールす
るためのコマンド
• virtualenv: 独立したPython環境を作る
pip のインストール
$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
$ pip install (package name)
virtualenv のインストール
$ pip install virtualenv
$ virtualenv venv
$ . venv/bin/activate
(venv)$ pip install requests
(venv)$ python
>>> import requests
>>> quit()
(venv)$ deactivate
$ python
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'requests'
dateutil: 日時操作の強力な拡張
$ pip install python-dateutil
>>> from dateutil.parser import parse
>>> parse("Mon Jan 26 20:34:20 UTC 2015")
datetime.datetime(2015, 1, 26, 20, 34, 20,
tzinfo=tzutc())
>>> parse("2015-01-26 20:34:20 JST")
datetime.datetime(2015, 1, 26, 20, 34, 20,
tzinfo=tzlocal())
>>> parse("Jan-26-2015")
datetime.datetime(2015, 1, 26, 0, 0)
Requests: HTTPクライアント
$ pip install requests
>>> import requests
>>> url = 'http://connpass.com/api/v1/event/?keyword=python'
>>> r = requests.get(url) # URLにアクセス
>>> print(r.status_code) # ステータスコードを取得
200
>>> for event in r.json()['events'][:3]: # 先頭3件を取得
... print(event['title']) # イベントのタイトルを取得
...
Python mini hack-a-thon 夏山合宿 2015
SoftLayer Bluemix Summit 2015
コミュニティ運営の秘訣を知りたい人、『Sync Meetup』に集まれ!!
BeautifulSoup4: HTML, XMLパーサ
$ pip install beautifulsoup4
>>> from bs4 import BeautifulSoup
>>> import requests
>>> r = requests.get('http://docs.python.jp/3/library/')
>>> soup = BeautifulSoup(r.content, "html.parser") # HTMLパース
>>> toctree = soup.find('div', 'toctree-wrapper') # 目次を取得
>>> links = toctree.find_all('a') # aタグを全て取得
>>> len(links) # リンクの数を取得
358
>>> for link in links[:3]: # 先頭3件を取得
... print(link.text)
...
1. はじめに
2. 組み込み関数
3. 組み込み定数
Pillow: 画像処理ライブラリ
$ pip install pillow
>>> from PIL import Image
>>> image = Image.open('sample.jpg') # 画像を読み込み
>>> half = (image.size[0] / 2, image.size[1] / 2)
>>> half = image.resize(half, Image.ANTIALIAS) # 縮小
>>> half.save('sample-half.jpg') # 画像を保存
>>> rotate = image.transpose(Image.ROTATE_90) # 回転
>>> rotate.save('sample-rotate.png') # PNGで保存
コーディング規約
• PEP 0008 -- Style Guide for Python Code
• https://www.python.org/dev/peps/pep-0008/
• pep8: コーディング規約のチェック
• autopep8: 自動的にPEP8形式にする
• flake8: pep8 + ソースコードのチェック
Webフレームワーク
• Django: https://www.djangoproject.com/
• Pyramid: http://docs.pylonsproject.org/en/latest/docs/
pyramid.html
• Flask: http://flask.pocoo.org/
• Bottle: http://bottlepy.org/
PyData関連
• NumPy: 行列計算
• SciPy: 化学計算
• Pandas: データ操作と処理
• matplotlib: データ可視化
• Chiner: 深層学習
その他
• Sphinx: ドキュメント作成
• Ansible: システム構成管理
• pytz: タイムゾーン情報
• paramiko: SSH2接続
8. どうやって学ぶか
Pythonエンジニア養成読本
• これを買って復習しよう
PyCon JP 2015
• https://pycon.jp/2015/ja/
• 10月9日(金): チュートリアル
• 10月10日(土)、11日(日): カンファレンス
• 10月12日(月・祝): 開発スプリント
Web上のテキスト
• Pythonチュートリアル
• http://docs.python.jp/3.4/tutorial/
• Dive into Python 3 日本語版
• http://diveintopython3-ja.rdy.jp/
• Python HOWTO
• http://docs.python.jp/3.4/howto/
まとめ
まとめ
• 復習しよう
• コードを書こう
• コミュニティに飛び込もう
Happy Hacking !

More Related Content

What's hot (20)

TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
 
使ってみて気づいた AGPL ライセンスの メリット・デメリット
使ってみて気づいた AGPL ライセンスの メリット・デメリット使ってみて気づいた AGPL ライセンスの メリット・デメリット
使ってみて気づいた AGPL ライセンスの メリット・デメリット
Fumito Mizuno
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
 
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
Takuya Ueda
 
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェースモジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
 
OpenAI FineTuning を試してみる
OpenAI FineTuning を試してみるOpenAI FineTuning を試してみる
OpenAI FineTuning を試してみる
iPride Co., Ltd.
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
 
Go入門
Go入門Go入門
Go入門
Takuya Ueda
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
 
【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models
Deep Learning JP
 
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
 
使ってみて気づいた AGPL ライセンスの メリット・デメリット
使ってみて気づいた AGPL ライセンスの メリット・デメリット使ってみて気づいた AGPL ライセンスの メリット・デメリット
使ってみて気づいた AGPL ライセンスの メリット・デメリット
Fumito Mizuno
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
Etsuji Nakai
 
Python入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニングPython入門 : 4日間コース社内トレーニング
Python入門 : 4日間コース社内トレーニング
Yuichi Ito
 
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
 
Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析Goでかんたんソースコードの静的解析
Goでかんたんソースコードの静的解析
Takuya Ueda
 
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェースモジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
 
OpenAI FineTuning を試してみる
OpenAI FineTuning を試してみるOpenAI FineTuning を試してみる
OpenAI FineTuning を試してみる
iPride Co., Ltd.
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
Norishige Fukushima
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
Yugo Shimizu
 
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 とPHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
 
【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models
Deep Learning JP
 
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
 

Viewers also liked (20)

python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
 
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
antibayesian 俺がS式だ
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
Shinichi Nakagawa
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Hiroshi Funai
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
Atsushi Hayakawa
 
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
Takami Sato
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
 
Gensim
GensimGensim
Gensim
saireya _
 
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
leverages_event
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
Takayuki Shimizukawa
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
 
続Pythonによるwebスクレイピング入門
続Pythonによるwebスクレイピング入門続Pythonによるwebスクレイピング入門
続Pythonによるwebスクレイピング入門
Hironori Sekine
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
Hiroko Onari
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析
Mitsunori Sato
 
Rubyによるデータ解析
Rubyによるデータ解析Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
 
python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集python-twitterを用いたTwitterデータ収集
python-twitterを用いたTwitterデータ収集
Hikaru Takemura
 
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
Etsuji Nakai
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
 
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
Shinichi Nakagawa
 
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしようPython東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Hiroshi Funai
 
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
Atsushi Hayakawa
 
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
Takami Sato
 
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアルscikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
 
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
【ヒカ☆ラボ】 株式会社AMG Solution 山口 博史氏登壇資料 20170817
leverages_event
 
Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門Pythonスタートアップ勉強会201109 python入門
Pythonスタートアップ勉強会201109 python入門
Takayuki Shimizukawa
 
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編- Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
 
続Pythonによるwebスクレイピング入門
続Pythonによるwebスクレイピング入門続Pythonによるwebスクレイピング入門
続Pythonによるwebスクレイピング入門
Hironori Sekine
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
Hiroko Onari
 
実践で学ぶネットワーク分析
実践で学ぶネットワーク分析実践で学ぶネットワーク分析
実践で学ぶネットワーク分析
Mitsunori Sato
 
Rubyによるデータ解析
Rubyによるデータ解析Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
 

Similar to 「Python言語」はじめの一歩 / First step of Python (20)

「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
Naoya Inada
 
2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会
虎の穴 開発室
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
Tomoya Nakayama
 
Wacode5thでのpython講義資料
Wacode5thでのpython講義資料Wacode5thでのpython講義資料
Wacode5thでのpython講義資料
丈 宮本
 
LLdeade Python Language Update
LLdeade Python Language UpdateLLdeade Python Language Update
LLdeade Python Language Update
Atsushi Shibata
 
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
AromaBlack
 
Python01
Python01Python01
Python01
XMLProJ2014
 
ゆるふわぱいそん
ゆるふわぱいそんゆるふわぱいそん
ゆるふわぱいそん
yumi_chappy
 
Python2と3の互換性問題に立ち向かうときにまずやること
Python2と3の互換性問題に立ち向かうときにまずやることPython2と3の互換性問題に立ち向かうときにまずやること
Python2と3の互換性問題に立ち向かうときにまずやること
kiki utagawa
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
shoma h
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
 
Introduction to Python 3.4 as of beta 1
Introduction to Python 3.4 as of beta 1Introduction to Python 3.4 as of beta 1
Introduction to Python 3.4 as of beta 1
Toru Furukawa
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAE
Maito Kuwahara
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPython
Katsumi Honda
 
S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3
Takeshi Akutsu
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)
泰 増田
 
Introduction to Numpy (and Python) [JPN]
Introduction to Numpy (and Python) [JPN]Introduction to Numpy (and Python) [JPN]
Introduction to Numpy (and Python) [JPN]
MasaruOinaga
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
Takanori Suzuki
 
Python Kyoto study
Python Kyoto studyPython Kyoto study
Python Kyoto study
Naoya Inada
 
2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会2017/12/21 虎の穴 Python勉強会
2017/12/21 虎の穴 Python勉強会
虎の穴 開発室
 
Wacode5thでのpython講義資料
Wacode5thでのpython講義資料Wacode5thでのpython講義資料
Wacode5thでのpython講義資料
丈 宮本
 
LLdeade Python Language Update
LLdeade Python Language UpdateLLdeade Python Language Update
LLdeade Python Language Update
Atsushi Shibata
 
ひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指すひのきのぼうだけで全クリ目指す
ひのきのぼうだけで全クリ目指す
AromaBlack
 
ゆるふわぱいそん
ゆるふわぱいそんゆるふわぱいそん
ゆるふわぱいそん
yumi_chappy
 
Python2と3の互換性問題に立ち向かうときにまずやること
Python2と3の互換性問題に立ち向かうときにまずやることPython2と3の互換性問題に立ち向かうときにまずやること
Python2と3の互換性問題に立ち向かうときにまずやること
kiki utagawa
 
Python3 プログラミング勉強会
Python3 プログラミング勉強会Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
 
PyPy 紹介
PyPy 紹介PyPy 紹介
PyPy 紹介
shoma h
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
 
Introduction to Python 3.4 as of beta 1
Introduction to Python 3.4 as of beta 1Introduction to Python 3.4 as of beta 1
Introduction to Python 3.4 as of beta 1
Toru Furukawa
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAE
Maito Kuwahara
 
はじめてのPython
はじめてのPythonはじめてのPython
はじめてのPython
Katsumi Honda
 
S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3
Takeshi Akutsu
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)
泰 増田
 
Introduction to Numpy (and Python) [JPN]
Introduction to Numpy (and Python) [JPN]Introduction to Numpy (and Python) [JPN]
Introduction to Numpy (and Python) [JPN]
MasaruOinaga
 
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjpPythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
 

More from Takanori Suzuki (20)

Outside and inside of PyCon JP 2016
Outside and inside of PyCon JP 2016Outside and inside of PyCon JP 2016
Outside and inside of PyCon JP 2016
Takanori Suzuki
 
The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなし
Takanori Suzuki
 
How to create PyCon JP
How to create PyCon JPHow to create PyCon JP
How to create PyCon JP
Takanori Suzuki
 
PyCon JP 2015 Closing speech
PyCon JP 2015 Closing speechPyCon JP 2015 Closing speech
PyCon JP 2015 Closing speech
Takanori Suzuki
 
Two sides of Python Engineer Training Book in PyCon mini Sapporo
Two sides of Python Engineer Training Book in PyCon mini SapporoTwo sides of Python Engineer Training Book in PyCon mini Sapporo
Two sides of Python Engineer Training Book in PyCon mini Sapporo
Takanori Suzuki
 
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"
Takanori Suzuki
 
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"
Takanori Suzuki
 
PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88
PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88
PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88
Takanori Suzuki
 
Plone features and trends
Plone features and trendsPlone features and trends
Plone features and trends
Takanori Suzuki
 
Pycon JP 2014 Closing
Pycon JP 2014 ClosingPycon JP 2014 Closing
Pycon JP 2014 Closing
Takanori Suzuki
 
PyCon JP を支える技術 / Technologies that underlie PyCon JP
PyCon JP を支える技術 / Technologies that underlie PyCon JPPyCon JP を支える技術 / Technologies that underlie PyCon JP
PyCon JP を支える技術 / Technologies that underlie PyCon JP
Takanori Suzuki
 
PyCon JP 2014 Opening(14 sep)
PyCon JP 2014 Opening(14 sep)PyCon JP 2014 Opening(14 sep)
PyCon JP 2014 Opening(14 sep)
Takanori Suzuki
 
PyCon JP 2014 opening(13 sep)
PyCon JP 2014 opening(13 sep)PyCon JP 2014 opening(13 sep)
PyCon JP 2014 opening(13 sep)
Takanori Suzuki
 
Introduction of PyCon JP / TechLION vol.17
Introduction of PyCon JP / TechLION vol.17Introduction of PyCon JP / TechLION vol.17
Introduction of PyCon JP / TechLION vol.17
Takanori Suzuki
 
collective.socialpublish
collective.socialpublishcollective.socialpublish
collective.socialpublish
Takanori Suzuki
 
Introduction of PyCon APAC
Introduction of PyCon APACIntroduction of PyCon APAC
Introduction of PyCon APAC
Takanori Suzuki
 
Conference Conference 2013-05-17
Conference Conference 2013-05-17Conference Conference 2013-05-17
Conference Conference 2013-05-17
Takanori Suzuki
 
kabepy: Python Bouldering Club
kabepy: Python Bouldering Clubkabepy: Python Bouldering Club
kabepy: Python Bouldering Club
Takanori Suzuki
 
Inside PyCon JP 2012 #bpstudy61
Inside PyCon JP 2012 #bpstudy61Inside PyCon JP 2012 #bpstudy61
Inside PyCon JP 2012 #bpstudy61
Takanori Suzuki
 
Outside and inside of PyCon JP 2016
Outside and inside of PyCon JP 2016Outside and inside of PyCon JP 2016
Outside and inside of PyCon JP 2016
Takanori Suzuki
 
The tale of I and python / Python とのはなし
The tale of I and python / Python とのはなしThe tale of I and python / Python とのはなし
The tale of I and python / Python とのはなし
Takanori Suzuki
 
PyCon JP 2015 Closing speech
PyCon JP 2015 Closing speechPyCon JP 2015 Closing speech
PyCon JP 2015 Closing speech
Takanori Suzuki
 
Two sides of Python Engineer Training Book in PyCon mini Sapporo
Two sides of Python Engineer Training Book in PyCon mini SapporoTwo sides of Python Engineer Training Book in PyCon mini Sapporo
Two sides of Python Engineer Training Book in PyCon mini Sapporo
Takanori Suzuki
 
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"
Takanori Suzuki
 
Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"Two sides of "Python Engineer Training Book"
Two sides of "Python Engineer Training Book"
Takanori Suzuki
 
PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88
PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88
PyCon JP を支える技術/ Technology that underlie PyCon JP / BPStudy #88
Takanori Suzuki
 
Plone features and trends
Plone features and trendsPlone features and trends
Plone features and trends
Takanori Suzuki
 
PyCon JP を支える技術 / Technologies that underlie PyCon JP
PyCon JP を支える技術 / Technologies that underlie PyCon JPPyCon JP を支える技術 / Technologies that underlie PyCon JP
PyCon JP を支える技術 / Technologies that underlie PyCon JP
Takanori Suzuki
 
PyCon JP 2014 Opening(14 sep)
PyCon JP 2014 Opening(14 sep)PyCon JP 2014 Opening(14 sep)
PyCon JP 2014 Opening(14 sep)
Takanori Suzuki
 
PyCon JP 2014 opening(13 sep)
PyCon JP 2014 opening(13 sep)PyCon JP 2014 opening(13 sep)
PyCon JP 2014 opening(13 sep)
Takanori Suzuki
 
Introduction of PyCon JP / TechLION vol.17
Introduction of PyCon JP / TechLION vol.17Introduction of PyCon JP / TechLION vol.17
Introduction of PyCon JP / TechLION vol.17
Takanori Suzuki
 
collective.socialpublish
collective.socialpublishcollective.socialpublish
collective.socialpublish
Takanori Suzuki
 
Introduction of PyCon APAC
Introduction of PyCon APACIntroduction of PyCon APAC
Introduction of PyCon APAC
Takanori Suzuki
 
Conference Conference 2013-05-17
Conference Conference 2013-05-17Conference Conference 2013-05-17
Conference Conference 2013-05-17
Takanori Suzuki
 
kabepy: Python Bouldering Club
kabepy: Python Bouldering Clubkabepy: Python Bouldering Club
kabepy: Python Bouldering Club
Takanori Suzuki
 
Inside PyCon JP 2012 #bpstudy61
Inside PyCon JP 2012 #bpstudy61Inside PyCon JP 2012 #bpstudy61
Inside PyCon JP 2012 #bpstudy61
Takanori Suzuki
 

「Python言語」はじめの一歩 / First step of Python