Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
YS
Uploaded by
Yoshio Shimomura
2,509 views
第1回python勉強会
第1回python勉強会のスライド
Education
◦
Read more
9
Save
Share
Embed
Embed presentation
Download
Downloaded 19 times
1
/ 60
2
/ 60
3
/ 60
4
/ 60
5
/ 60
6
/ 60
7
/ 60
8
/ 60
9
/ 60
10
/ 60
11
/ 60
12
/ 60
13
/ 60
14
/ 60
15
/ 60
16
/ 60
17
/ 60
18
/ 60
19
/ 60
20
/ 60
21
/ 60
22
/ 60
23
/ 60
24
/ 60
25
/ 60
26
/ 60
27
/ 60
28
/ 60
29
/ 60
30
/ 60
31
/ 60
32
/ 60
33
/ 60
34
/ 60
35
/ 60
36
/ 60
37
/ 60
38
/ 60
39
/ 60
40
/ 60
41
/ 60
42
/ 60
43
/ 60
44
/ 60
45
/ 60
46
/ 60
47
/ 60
48
/ 60
49
/ 60
50
/ 60
51
/ 60
52
/ 60
53
/ 60
54
/ 60
55
/ 60
56
/ 60
57
/ 60
58
/ 60
59
/ 60
60
/ 60
More Related Content
PDF
Python入門
by
Shohei Okada
PDF
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
PDF
「Python言語」はじめの一歩 / First step of Python
by
Takanori Suzuki
PDF
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
by
aoshiman
PDF
Python3 プログラミング勉強会
by
Tetsuya Morimoto
POTX
素振りのススメ at Python入門者の集い
by
Takayuki Shimizukawa
PDF
Pythonを取り巻く開発環境 #pyconjp
by
Yoshifumi Yamaguchi
PDF
久しぶりのPythonでgoogleのアレを制御してみた
by
Shohei Tai
Python入門
by
Shohei Okada
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
「Python言語」はじめの一歩 / First step of Python
by
Takanori Suzuki
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
by
aoshiman
Python3 プログラミング勉強会
by
Tetsuya Morimoto
素振りのススメ at Python入門者の集い
by
Takayuki Shimizukawa
Pythonを取り巻く開発環境 #pyconjp
by
Yoshifumi Yamaguchi
久しぶりのPythonでgoogleのアレを制御してみた
by
Shohei Tai
What's hot
PDF
BPStudy#54 そろそろPython3
by
Atsushi Odagiri
PDF
Python東海Vol.5 IPythonをマスターしよう
by
Hiroshi Funai
PDF
python-twitterを用いたTwitterデータ収集
by
Hikaru Takemura
PDF
Pyconjp2014_implementations
by
masahitojp
PDF
Python 2/3コード共存戦略 #osakapy
by
敦志 金谷
PDF
XML-RPC : Pythonが「電池付属」と呼ばれる理由
by
Ransui Iso
PPTX
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
PPTX
プログラミング入門 Python超入門編
by
ナレッジコミュニケーション
PPT
Python twitterとtkinterのことはじめ
by
Yukitaka Uchikoshi
PDF
なぜ科学計算にはPythonか?
by
Aki Ariga
PDF
Python パッケージの影響を歴史から理解してみよう!
by
Kir Chou
PDF
scikit-learnを用いた機械学習チュートリアル
by
敦志 金谷
PDF
Python × Herokuで作る 雑談slack bot
by
dcubeio
PPTX
Pythonの環境導入 2014年春季版
by
Katsuhiro Morishita
PDF
3分でサーバオペレーションコマンドを作る技術
by
Kei IWASAKI
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
by
Katsuhiro Morishita
KEY
Windowsにpythonをインストールしてみよう
by
Kenji NAKAGAKI
PDF
パッケージングの今と未来
by
Atsushi Odagiri
BPStudy#54 そろそろPython3
by
Atsushi Odagiri
Python東海Vol.5 IPythonをマスターしよう
by
Hiroshi Funai
python-twitterを用いたTwitterデータ収集
by
Hikaru Takemura
Pyconjp2014_implementations
by
masahitojp
Python 2/3コード共存戦略 #osakapy
by
敦志 金谷
XML-RPC : Pythonが「電池付属」と呼ばれる理由
by
Ransui Iso
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
プログラミング入門 Python超入門編
by
ナレッジコミュニケーション
Python twitterとtkinterのことはじめ
by
Yukitaka Uchikoshi
なぜ科学計算にはPythonか?
by
Aki Ariga
Python パッケージの影響を歴史から理解してみよう!
by
Kir Chou
scikit-learnを用いた機械学習チュートリアル
by
敦志 金谷
Python × Herokuで作る 雑談slack bot
by
dcubeio
Pythonの環境導入 2014年春季版
by
Katsuhiro Morishita
3分でサーバオペレーションコマンドを作る技術
by
Kei IWASAKI
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
by
Katsuhiro Morishita
Windowsにpythonをインストールしてみよう
by
Kenji NAKAGAKI
パッケージングの今と未来
by
Atsushi Odagiri
Viewers also liked
PDF
Softlayer勉強会#2
by
Shuichi Yukimoto
PDF
勉強会資料#1
by
Shuichi Yukimoto
PDF
Send grid softlayer_nagoya
by
Shuichi Yukimoto
PDF
Ocif2016_go_web_freamwork
by
Shuichi Yukimoto
PDF
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
by
Shuichi Yukimoto
PDF
Slackbot_by_OpenWhisk
by
Shuichi Yukimoto
PDF
Softlayer_API_openWhisk
by
Shuichi Yukimoto
PDF
WindowsでPython
by
drillan
Softlayer勉強会#2
by
Shuichi Yukimoto
勉強会資料#1
by
Shuichi Yukimoto
Send grid softlayer_nagoya
by
Shuichi Yukimoto
Ocif2016_go_web_freamwork
by
Shuichi Yukimoto
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
by
Shuichi Yukimoto
Slackbot_by_OpenWhisk
by
Shuichi Yukimoto
Softlayer_API_openWhisk
by
Shuichi Yukimoto
WindowsでPython
by
drillan
Similar to 第1回python勉強会
KEY
Hello World Python featuring GAE
by
Maito Kuwahara
PPT
Pythonintro
by
Mikio Kubo
PDF
Pythonで始めるDropboxAPI
by
Daisuke Igarashi
PDF
はじめてのPython
by
Katsumi Honda
ODP
Introduction of Python
by
Tomoya Nakayama
PPTX
Python 学習教材
by
Jun MITANI
PDF
DATUM STUDIO PyCon2016 Turorial
by
Tatsuya Tojima
PDF
第36回NDS 発表資料 ちょこっとpython
by
civic Sasaki
PDF
エキ Py 読書会02 2010/9/7
by
Tetsuya Morimoto
PDF
Python01
by
XMLProJ2014
PDF
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 第1回
by
Project Samurai
PDF
エキ Py 読書会02 2章後半
by
Tetsuya Morimoto
KEY
ひのきのぼうだけで全クリ目指す
by
AromaBlack
PDF
Ruby紹介(pdf)
by
Gohryuh
PDF
Python Kyoto study
by
Naoya Inada
PDF
Scalaプログラミング・マニアックス
by
Tomoharu ASAMI
PPT
Start!! Ruby
by
mitim
PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
by
kiki utagawa
PDF
LLdeade Python Language Update
by
Atsushi Shibata
PDF
Python勉強会2-数値と文字列
by
理 小林
Hello World Python featuring GAE
by
Maito Kuwahara
Pythonintro
by
Mikio Kubo
Pythonで始めるDropboxAPI
by
Daisuke Igarashi
はじめてのPython
by
Katsumi Honda
Introduction of Python
by
Tomoya Nakayama
Python 学習教材
by
Jun MITANI
DATUM STUDIO PyCon2016 Turorial
by
Tatsuya Tojima
第36回NDS 発表資料 ちょこっとpython
by
civic Sasaki
エキ Py 読書会02 2010/9/7
by
Tetsuya Morimoto
Python01
by
XMLProJ2014
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 第1回
by
Project Samurai
エキ Py 読書会02 2章後半
by
Tetsuya Morimoto
ひのきのぼうだけで全クリ目指す
by
AromaBlack
Ruby紹介(pdf)
by
Gohryuh
Python Kyoto study
by
Naoya Inada
Scalaプログラミング・マニアックス
by
Tomoharu ASAMI
Start!! Ruby
by
mitim
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
by
kiki utagawa
LLdeade Python Language Update
by
Atsushi Shibata
Python勉強会2-数値と文字列
by
理 小林
第1回python勉強会
1.
第1回 python勉強会 株式会社MNU 下村
佳生
2.
自己紹介 • 下村 佳生
1984/03/07 • 株式会社MNU 取締役(4月で3年目 • 使ったことがある言語 python / js / c# / php / c / c++ • 大学ではCPUシミュレータ弄ってました
3.
勉強会目標(仮) • python(django)でwebアプリケーション作成 • pythonの使い方をパラパラめくっても 楽しくない •
目標がないと分かった気になって終わる 勉強会での課題募集中
4.
pythonお試し環境 • ブラウザ上で色々な言語を実行できるサイト • http://ideone.com/ •
https://paiza.io/
5.
今日の内容 • python紹介 • 基本的なデータ構造 •
コードの書き方基礎 • パッケージとモジュール • クラスの記述 • 特殊な記述 • ライブラリを使おう
6.
python紹介
7.
外見の特徴 • 中括弧 {
, } ではなくインデントで構造を表す • 関数や制御文の後はインデントを1つ下げる • 中身を省略したい場合は「pass」と書く • タブではなくスペース4つでインデント • 1行は80文字(100文字)以内 • → 誰が書いても似たような見た目になる
8.
中身の特徴 • データも関数も全てオブジェクト • 1
→ 数字型のオブジェクト • 引数に関数を渡すことが可能 • 関数に属性を追加できる
9.
組み込み定数 • 真偽値 • True
/ False • null値 • None
10.
基本的なデータ構造
11.
基本的なデータ構造 • リスト(配列のようなもの) • タプル(変更できないリスト) •
辞書(ハッシュ,連想配列のようなもの) • セット(集合,順序のないリスト)
12.
リスト(list) • 大括弧で宣言 • a
= [1, 2, 3] • リストの追加はappendメソッドを使用 • a.append(4) • 連結はextend もしくは + • extendは元の配列に追加, + は新しい配列の作成 • a[0], a[1]のように参照可能
13.
タプル(tuple) • 編集できないリスト • 括弧で宣言 •
x = (1, 2, 3) • appendやextendはない • + 演算子は使用可能 (新しいタプルができる) • 要素一個のタプルを作る場合は後ろに , をつける • x[0] x[1]のように参照可能
14.
辞書(dict) • 中括弧で宣言, key:
valueのペアを , で繋げる • d = {1: 2, 2: 4, a : b } • key で参照可能 • 存在しないかもしれないkeyの取得はgetを使う
15.
辞書オブジェクトの関数色々 • d.get(key, default) •
d[key]の取得.なかったらdefaultを返す • key in d • keyがdにあればTrue, なければFalseを返す • d.setdefault(key, value) • d[key]がなければvalueをセット,あれば何もしない • d.update(dict) • 辞書を新しい辞書で上書き • d.items() • keyとvalueのタプルのリストを返す [(key, value), (key, value), …]
16.
集合(set) • 順序のないリスト • 中括弧で宣言 •
{1, 2, 3, 4} • ユニークな値の抽出や重複のチェックなどに便利 {1} {4}{2, 3}
17.
コードの書き方基礎
18.
pythonファイルを作ろう • 拡張子は .py •
コメントは先頭に # • 文字列は か で囲む • 日本語がある場合は uをつけて囲む u こんな感じ • python2系統で日本語を使う場合は ファイル1行目に以下を記述
19.
記述方法 • スペースや改行,カンマの位置などは以下を推奨 • PEP8本家 http://legacy.python.org/dev/peps/pep-0008/ •
PEP8(日本語訳) http://pep8-ja.readthedocs.org/ja/latest/
20.
繰り返し文 • 構文は以下のとおり for 代入する変数名
in イテレータ: • 辞書は keys(), values(), items()で keyだけ,値だけ, (key, value) が取れる
21.
繰り返し文補足 • 辞書のfor文は以下のように書くことが多い ※タプルは a,
b = (1, 2) のように代入できる
22.
if文 • 構文は以下の通り if 条件: •
複数条件がある場合は and や or を使う
23.
関数の記述 • def の後ろに関数名 •
カッコの中に引数を定義 • = を付けることでデフォルト値を設定可能 • * , ** と記述することで可変引数の取得が可能 • 最後に :
24.
関数の呼び出し方 • = を付けることで特定の引数のみ渡せる •
リスト(タプル)に * を付けると一気に渡せる • 辞書に ** を付けると名前付きで一気に渡せる
25.
関数の戻り値 • return a
b のように書くことで複数個返せる • 呼び出し元はタプルで受け取る • タプル,リストは a, b = arr で代入可能
26.
• スコープ外で定義されたObjectの参照も可能 • スコープ内で宣言前に参照するとエラーになる •
以下の順序で適用 • 関数 • クラス • ファイル • グローバル スコープ OK NG
27.
パッケージとモジュール
28.
モジュール • 「.pyファイル」がモジュールとなる • 中身は関数やクラス,変数の集まり •
__name__でモジュール名が取得できる • 一番最初に実行されるモジュール名は__main__ 直接読み込んだ場合に定義した関数を実行する例
29.
パッケージ • モジュールをまとめたもの • ディレクトリの中に__init__.pyを用意する •
中身は空でよい SoftLayerパッケージの中身
30.
モジュール/パッケージの読込 • import [パッケージ/モジュール名] •
from [パッケージ名] import [モジュール名] • 後ろに as を付けると別名にできる
31.
クラスの記述
32.
クラスの記述 • class 名前(継承元):
の形で記述 • 継承元がない場合は object を書く • メソッドの第1引数は全てselfを取る • クラスメソッドの場合も同様(こっちはclsにする)
33.
クラス記述例
34.
コンストラクタとデストラクタ • __init__メソッドがコンストラクタに相当 • __del__メソッドがコンストラクタに相当 •
__(アンダーバーを2つ)を前後に挟んだメソッドは 大体特殊な用途のメソッド
35.
特殊メソッド • 演算子オーバーロード • オブジェクトに定義することで動作を追加,変更 表記
意味 使用例等 __str__ 簡易文字表現 printなど __repr__ 詳細文字表現 logなど __eq__ 比較演算子(=) insA == insB __getitem__ 辞書表現 ins[key] __call__ 関数化 ins() 特殊メソッドの例
36.
特殊メソッド実装例 辞書アクセスとインスタンスの例 実行結果
37.
特殊メソッド色々 • python2 • http://docs.python.jp/2/reference/ datamodel.html#specialnames •
python3 • http://docs.python.jp/3/reference/ datamodel.html#specialnames
38.
特殊な記法
39.
特殊な記法 • リスト内包表記 • http://docs.python.jp/2/tutorial/datastructures.html#id6 •
デコレータ • http://docs.python.jp/2/glossary.html#term-decorator • with • http://docs.python.jp/2/reference/ datamodel.html#context-managers
40.
リスト内包表記 • [作成する要素 for
x in list 判定式] • {}で囲むと辞書,()で囲むとジェネレータになる 0から9までの偶数を10倍したリストを作るコードの比較
41.
デコレータ • 関数をラップして関数を返す関数 • 引数や戻り値のチェックや変換が可能 •
認証処理やProxyなど,共通ロジックで使用 • 関数やメソッドの前の行に @ をつけて指定する • 入れ子も可能(下から順番に適用される)
42.
デコレータの例(1/4) • 関数を受け取って,その関数をそのまま返すデコレータ • 左右でやってることは同じ
43.
デコレータの例(2/4) • 関数を受け取って,全く別の関数を返すデコレータ
44.
デコレータの例(3/4) • 引数を増やしてみる
45.
デコレータの例(4/4) • 引数を装飾し,渡された関数を呼びなおす
46.
with構文 • 明確なタイミングで終了処理をしたい時に利用 • fileのopen,
closeなど • javaなどのtry-catch-finallyに相当 • __enter__,__exit__メソッドを実装することで 自作可能
47.
htmlタグを出力するwith
48.
ライブラリを使おう
49.
ライブラリを使おう • python standard
library • 標準でついてくるライブラリ • http://docs.python.jp/2/library/ • http://docs.python.jp/3/library/ • pip • サードパーティ製の便利コード色々 • https://pypi.python.org/pypi/pip
50.
カレンダー操作 • calendar.Calendar • 様々なiteratorを返すカレンダークラス •
各メソッドに年月を渡す 引数はスタートの曜日 0:月曜 ∼ 6:日曜
51.
カレンダー表示 • calendar.TextCalendar • カレンダー表示を行う
52.
日付型と操作 (1/2) • datetime.date
日付を表すクラス • datetime.timedelta 日付や時間の差分 日付同士は引き算可能 結果はtimedelta型
53.
日付型と操作 (2/2) • timedeltaは足すことも可能 結果はdate型 時間単位や週単位も指定可能 では1ヶ月後はどう計算する?
54.
日付計算 • 単純に一ヶ月を足すと… • 5/31
→ 6/31 でエラー • 12/1 → 13/1 でエラー →月の最大日数を考慮しよう from calendar import monthrange →12月の場合は翌年の1月に設定
55.
日付計算 実装例
56.
もっと簡単な日付操作 • python-dateutilライブラリ(pipでinstall) • dateutil.relativedelta.relativedelta •
より詳細な日付操作が可能 http://dateutil.readthedocs.org/en/latest/relativedelta.html 2月31日(3月3日)ではなく2月28日になる monthではなくmonthsなのに注意
57.
日付操作応用 問題 • 月末を取得してみよう
58.
日付操作応用 答え • 今月の月末の取得
59.
日付操作おまけ
60.
クラスをカスタマイズしよう dateクラスを継承し,月末を返すメソッドを追加
Download