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
Uploaded by
Shohei Okada
PDF, PPTX
12,017 views
Python入門
長岡技術科学大学 自然言語処理研究室にて行われた,平成26年度オープンハウス・アドバンストコースにおける講義資料です.
Education
◦
Read more
18
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 86
2
/ 86
3
/ 86
4
/ 86
5
/ 86
6
/ 86
7
/ 86
8
/ 86
Most read
9
/ 86
10
/ 86
11
/ 86
Most read
12
/ 86
13
/ 86
14
/ 86
15
/ 86
16
/ 86
17
/ 86
18
/ 86
19
/ 86
20
/ 86
21
/ 86
22
/ 86
23
/ 86
24
/ 86
25
/ 86
26
/ 86
27
/ 86
28
/ 86
29
/ 86
30
/ 86
31
/ 86
32
/ 86
33
/ 86
34
/ 86
35
/ 86
36
/ 86
37
/ 86
38
/ 86
39
/ 86
40
/ 86
41
/ 86
42
/ 86
43
/ 86
44
/ 86
45
/ 86
46
/ 86
47
/ 86
48
/ 86
49
/ 86
50
/ 86
51
/ 86
52
/ 86
53
/ 86
54
/ 86
55
/ 86
56
/ 86
57
/ 86
58
/ 86
59
/ 86
60
/ 86
61
/ 86
62
/ 86
63
/ 86
64
/ 86
65
/ 86
66
/ 86
67
/ 86
68
/ 86
69
/ 86
70
/ 86
71
/ 86
72
/ 86
73
/ 86
74
/ 86
75
/ 86
76
/ 86
77
/ 86
78
/ 86
79
/ 86
80
/ 86
81
/ 86
82
/ 86
83
/ 86
84
/ 86
85
/ 86
86
/ 86
Most read
More Related Content
PDF
BERT入門
by
Ken'ichi Matsui
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
by
Preferred Networks
PPTX
差分プライバシーとは何か? (定義 & 解釈編)
by
Kentaro Minami
PDF
グラフニューラルネットワークとグラフ組合せ問題
by
joisino
PDF
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
by
SSII
PDF
トピックモデルの評価指標 Perplexity とは何なのか?
by
hoxo_m
PPTX
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
by
Deep Learning JP
PDF
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
by
Deep Learning JP
BERT入門
by
Ken'ichi Matsui
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
by
Preferred Networks
差分プライバシーとは何か? (定義 & 解釈編)
by
Kentaro Minami
グラフニューラルネットワークとグラフ組合せ問題
by
joisino
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
by
SSII
トピックモデルの評価指標 Perplexity とは何なのか?
by
hoxo_m
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
by
Deep Learning JP
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
by
Deep Learning JP
What's hot
PDF
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
by
Preferred Networks
PDF
DSIRNLP#1 ランキング学習ことはじめ
by
sleepy_yoshi
PDF
ブースティング入門
by
Retrieva inc.
PDF
「世界モデル」と関連研究について
by
Masahiro Suzuki
PPTX
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
by
Deep Learning JP
PDF
Deeplearning輪読会
by
正志 坪坂
PDF
Transformerを用いたAutoEncoderの設計と実験
by
myxymyxomatosis
PDF
機械学習のためのベイズ最適化入門
by
hoxo_m
PDF
Granger因果による時系列データの因果推定(因果フェス2015)
by
Takashi J OZAKI
PPTX
Curriculum Learning (関東CV勉強会)
by
Yoshitaka Ushiku
PDF
ブレインパッドにおける機械学習プロジェクトの進め方
by
BrainPad Inc.
PDF
最近のDeep Learning (NLP) 界隈におけるAttention事情
by
Yuta Kikuchi
PDF
Attentionの基礎からTransformerの入門まで
by
AGIRobots
PDF
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
by
Yahoo!デベロッパーネットワーク
PDF
SSII2019企画: 点群深層学習の研究動向
by
SSII
PDF
研究効率化Tips Ver.2
by
cvpaper. challenge
PDF
ベータ分布の謎に迫る
by
Ken'ichi Matsui
PDF
最適化超入門
by
Takami Sato
PPTX
強化学習アルゴリズムPPOの解説と実験
by
克海 納谷
PDF
AI勉強会用スライド
by
harmonylab
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
by
Preferred Networks
DSIRNLP#1 ランキング学習ことはじめ
by
sleepy_yoshi
ブースティング入門
by
Retrieva inc.
「世界モデル」と関連研究について
by
Masahiro Suzuki
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
by
Deep Learning JP
Deeplearning輪読会
by
正志 坪坂
Transformerを用いたAutoEncoderの設計と実験
by
myxymyxomatosis
機械学習のためのベイズ最適化入門
by
hoxo_m
Granger因果による時系列データの因果推定(因果フェス2015)
by
Takashi J OZAKI
Curriculum Learning (関東CV勉強会)
by
Yoshitaka Ushiku
ブレインパッドにおける機械学習プロジェクトの進め方
by
BrainPad Inc.
最近のDeep Learning (NLP) 界隈におけるAttention事情
by
Yuta Kikuchi
Attentionの基礎からTransformerの入門まで
by
AGIRobots
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
by
Yahoo!デベロッパーネットワーク
SSII2019企画: 点群深層学習の研究動向
by
SSII
研究効率化Tips Ver.2
by
cvpaper. challenge
ベータ分布の謎に迫る
by
Ken'ichi Matsui
最適化超入門
by
Takami Sato
強化学習アルゴリズムPPOの解説と実験
by
克海 納谷
AI勉強会用スライド
by
harmonylab
Similar to Python入門
PDF
Pythonで始めるDropboxAPI
by
Daisuke Igarashi
PPT
Pythonintro
by
Mikio Kubo
PDF
はじめてのPython
by
Katsumi Honda
PDF
Python01
by
XMLProJ2014
PPTX
Python 学習教材
by
Jun MITANI
PPTX
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
KEY
Hello World Python featuring GAE
by
Maito Kuwahara
PDF
Python Kyoto study
by
Naoya Inada
PPTX
Python 学習教材 (~299ページ)
by
Jun MITANI
PDF
ALPSチュートリアル(4) Python入門
by
Computational Materials Science Initiative
ODP
Introduction of Python
by
Tomoya Nakayama
PDF
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
PDF
DATUM STUDIO PyCon2016 Turorial
by
Tatsuya Tojima
KEY
ひのきのぼうだけで全クリ目指す
by
AromaBlack
PPTX
Python基礎その1
by
大貴 末廣
PDF
Python勉強会2-数値と文字列
by
理 小林
PDF
関数型プログラミング入門 with OCaml
by
Haruka Oikawa
PDF
S03 t1 python_learningdiary#3
by
Takeshi Akutsu
PPT
Python languageupdate (2004)
by
泰 増田
PDF
QGISプログラミング入門 2016Osaka編
by
Kosuke Asahi
Pythonで始めるDropboxAPI
by
Daisuke Igarashi
Pythonintro
by
Mikio Kubo
はじめてのPython
by
Katsumi Honda
Python01
by
XMLProJ2014
Python 学習教材
by
Jun MITANI
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
Hello World Python featuring GAE
by
Maito Kuwahara
Python Kyoto study
by
Naoya Inada
Python 学習教材 (~299ページ)
by
Jun MITANI
ALPSチュートリアル(4) Python入門
by
Computational Materials Science Initiative
Introduction of Python
by
Tomoya Nakayama
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
by
Takanori Suzuki
DATUM STUDIO PyCon2016 Turorial
by
Tatsuya Tojima
ひのきのぼうだけで全クリ目指す
by
AromaBlack
Python基礎その1
by
大貴 末廣
Python勉強会2-数値と文字列
by
理 小林
関数型プログラミング入門 with OCaml
by
Haruka Oikawa
S03 t1 python_learningdiary#3
by
Takeshi Akutsu
Python languageupdate (2004)
by
泰 増田
QGISプログラミング入門 2016Osaka編
by
Kosuke Asahi
More from Shohei Okada
PDF
「登壇しているひとは偉い」という話
by
Shohei Okada
PDF
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
by
Shohei Okada
PDF
PHP 8.0 の新記法を試してみよう!
by
Shohei Okada
PDF
自分たちのコードを Composer パッケージに分割して開発する
by
Shohei Okada
PDF
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
by
Shohei Okada
PDF
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
by
Shohei Okada
PDF
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
by
Shohei Okada
PDF
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
by
Shohei Okada
PDF
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
by
Shohei Okada
PDF
スペシャリストとして組織をつくる、というキャリア
by
Shohei Okada
PDF
PHP でも活用できる Makefile
by
Shohei Okada
PDF
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
by
Shohei Okada
PDF
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
by
Shohei Okada
PDF
働き方が大きく変わった 入社3年目のときのとあるエピソード
by
Shohei Okada
PDF
Laravel で API バージョニングを実装するなら
by
Shohei Okada
PDF
Laravel における Blade 拡張のツラミ
by
Shohei Okada
PDF
Laravel の paginate は一体何をやっているのか
by
Shohei Okada
PDF
2017 年度を振り返って ~アウトプット編~
by
Shohei Okada
PDF
Laravel × レイヤードアーキテクチャをやってみている話
by
Shohei Okada
PDF
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
by
Shohei Okada
「登壇しているひとは偉い」という話
by
Shohei Okada
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
by
Shohei Okada
PHP 8.0 の新記法を試してみよう!
by
Shohei Okada
自分たちのコードを Composer パッケージに分割して開発する
by
Shohei Okada
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
by
Shohei Okada
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
by
Shohei Okada
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
by
Shohei Okada
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
by
Shohei Okada
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
by
Shohei Okada
スペシャリストとして組織をつくる、というキャリア
by
Shohei Okada
PHP でも活用できる Makefile
by
Shohei Okada
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
by
Shohei Okada
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
by
Shohei Okada
働き方が大きく変わった 入社3年目のときのとあるエピソード
by
Shohei Okada
Laravel で API バージョニングを実装するなら
by
Shohei Okada
Laravel における Blade 拡張のツラミ
by
Shohei Okada
Laravel の paginate は一体何をやっているのか
by
Shohei Okada
2017 年度を振り返って ~アウトプット編~
by
Shohei Okada
Laravel × レイヤードアーキテクチャをやってみている話
by
Shohei Okada
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
by
Shohei Okada
Python入門
1.
Python入門 長岡技術科学大学 自然言語処理研究室
presented by 岡田正平
2.
はじめに • これから1日かけて多くのことを教えますが
全て暗記しようとは思わず,Pythonで何が出来 るのかを何となく頭に入れた上で, あとでこの資料等を参照しながらプログラム 出来るようにしましょう. • スライド中の空欄は,適宜自分で試してみて 結果を記入していきましょう.
3.
Pythonとは?
4.
Pythonとは? • スクリプト言語と呼ばれる言語の一種
– 他のスクリプト言語:Perl, Ruby など • シンプルな構文 • 豊富な標準ライブラリ • Google, Yahoo!, NASAなどでも使われている 2014/9/1 H26年度オープンハウス・アドバンストコース 4
5.
Pythonを使う
6.
Pythonを使う • 2種類の方法
– 対話型インタプリタ – プログラムファイルを実行 2014/9/1 H26年度オープンハウス・アドバンストコース 6
7.
対話型インタプリタ • 端末上でpython
とタイプ • 1行ずつプログラムを書いていく 2014/9/1 H26年度オープンハウス・アドバンストコース 7
8.
プログラムファイルを実行 • テキストエディタでプログラムを作成
– 拡張子は.py • 端末上でプログラムファイルの保存場所へ移動 • python (ファイル名).pyとタイプ • 実行結果が出力される 2014/9/1 H26年度オープンハウス・アドバンストコース 8
9.
動作確認 • 対話型インタプリタを起動し,次の通り入力し
出力を確認 >>> print "Hello World!" Hello World! >>> print 1 + 1 2 2014/9/1 H26年度オープンハウス・アドバンストコース 9
10.
動作確認 • 対話型インタプリタを起動し,次の通り入力し
出力を確認 >>> print "Hello World!" Hello World! >>> print 1 + 1 2 2014/9/1 H26年度オープンハウス・アドバンストコース 10
11.
動作確認 • 次の内容のプログラムファイルを作成
• プログラムを実行し,出力を確認 % python (ファイル名).py Hello World! #! /usr/bin/ python# coding: utf-8print "Hello World!" 2014/9/1 H26年度オープンハウス・アドバンストコース 11
12.
動作確認 • 次の内容のプログラムファイルを作成
• プログラムを実行し,出力を確認 % python (ファイル名).py Hello World! #! /usr/bin/ python # coding: utf-8 print "Hello World!" 2014/9/1 H26年度オープンハウス・アドバンストコース 12
13.
※注意 • プログラムファイルの先頭2行はおまじない
(だと思って良い) • 今後の演習でも必ず記述しておく 2014/9/1 H26年度オープンハウス・アドバンストコース 13 #! /usr/bin/ python # coding: utf-8
14.
これからの演習 • 今日のPython講座の演習は
対話型インタプリタ上でやります • 明日以降の機械翻訳機の作成は テキストエディタでプログラムファイルを作成 することになると思います 2014/9/1 H26年度オープンハウス・アドバンストコース 14
15.
構文
16.
インデント • Pythonではコードのブロックを
インデントで表す – 同じレベルのインデントは高さを揃える – 1つのインデントはスペース4つ推奨 >>> if a == b: ... print "same" 2014/9/1 H26年度オープンハウス・アドバンストコース 16
17.
if文 • 条件分岐にはif文を使う
>>> if a == b: ... print "a==b" ... elifa == c: ... print "a==c" ... else: print "nothing" 2014/9/1 H26年度オープンハウス・アドバンストコース 17
18.
条件部分 • True/Falseを返す演算子やメソッド
– 比較演算子==, >, <, =>, =< – 論理演算子and, or, not >>> 2 == 3 False >>> 1 < 2 and not 2 == 3 True 2014/9/1 H26年度オープンハウス・アドバンストコース 18
19.
条件部分 • True/Falseを返す演算子やメソッド
– 比較演算子==, >, <, =>, =< – 論理演算子and, or, not >>> 2 == 3 False >>> 1 < 2 and not 2 == 3 True 2014/9/1 H26年度オープンハウス・アドバンストコース 19
20.
条件部分 – 演算子in
– startswith, endswithなどのメソッド >>> 2 in [1, 2, 3] True >>> "Hello".startswith("He") True 2014/9/1 H26年度オープンハウス・アドバンストコース 20
21.
条件部分 – 演算子in
– startswith, endswithなどのメソッド >>> 2 in [1, 2, 3] True >>> "Hello".startswith("He") True 2014/9/1 H26年度オープンハウス・アドバンストコース 21
22.
※備考1 • True/False
の2値だけを持つデータ型を bool型という • 数値の0や,空のコンテナ(list, dictなど)は Falseとして評価される >>> if not 0: ... print "empty" # 結果,"empty"と表示 2014/9/1 H26年度オープンハウス・アドバンストコース 22
23.
while文 • 条件がTrueの間繰り返し
>>> i= 0 >>> while i< 3: # iが3未満の間繰り返し ... i= i+ 1 >>> print i 3 2014/9/1 H26年度オープンハウス・アドバンストコース 23
24.
while文 • 条件がTrueの間繰り返し
>>> i= 0 >>> while i< 3: # iが3未満の間繰り返し ... i= i+ 1 >>> print i 3 2014/9/1 H26年度オープンハウス・アドバンストコース 24
25.
for文 • コンテナ(list等)の要素に順次アクセス
>>> for iin range(3): ... print i 0 1 2 2014/9/1 H26年度オープンハウス・アドバンストコース 25 range(n) 0~nまでの整数の リストを返す 組み込み関数
26.
for文 • コンテナ(list等)の要素に順次アクセス
>>> for iin range(3): ... print i 0 1 2 2014/9/1 H26年度オープンハウス・アドバンストコース 26 range(n) 0~nまでの整数の リストを返す 組み込み関数
27.
for文 • 順次アクセスのイメージ
2014/9/1 H26年度オープンハウス・アドバンストコース 27
28.
for文, while文の制御 •
continue – 次のループに進む • break – ループから抜け出す 2014/9/1 H26年度オープンハウス・アドバンストコース 28
29.
def文 • 関数の定義
• return文で値を返すor 関数を抜ける >>> defadd(a, b): ... return a + b >>> add(1, 2) 3 2014/9/1 H26年度オープンハウス・アドバンストコース 29
30.
def文 • 関数の定義
• return文で値を返すor 関数を抜ける >>> defadd(a, b): ... return a + b >>> add(1, 2) 3 2014/9/1 H26年度オープンハウス・アドバンストコース 30
31.
データ型
32.
データ型 • Pythonに変数宣言は無い
– 値を代入することで自動で型付けされる – 別の値を代入すると型は動的に変化する • 型にはint, float, str, list, dict等がある(後述) 2014/9/1 H26年度オープンハウス・アドバンストコース 32
33.
データ型 >>> a
= 1 # aは自動的にint型になる >>> print a 1 >>> a = "Hello World!" # 今度はstr型になる >>> print a Hello World! 2014/9/1 H26年度オープンハウス・アドバンストコース 33
34.
データ型 >>> a
= 1 # aは自動的にint型になる >>> print a 1 >>> a = "Hello World!" # 今度はstr型になる >>> print a Hello World! 2014/9/1 H26年度オープンハウス・アドバンストコース 34
35.
int型,float型 • 数値を格納する型(int:整数,float:実数)
• 演算子による四則演算が可能 >>> a = 2 # int >>> b = 3.0 # float >>> a + b 5.0 演算子 演算内容 + 足し算 - 引き算 * 掛け算 / 割り算(型に注意) // 商 % 剰余 ** 累乗 2014/9/1 H26年度オープンハウス・アドバンストコース 35
36.
int型,float型 • 数値を格納する型(int:整数,float:実数)
• 演算子による四則演算が可能 >>> a = 2 # int >>> b = 3.0 # float >>> a + b 5.0 演算子 演算内容 + 足し算 - 引き算 * 掛け算 / 割り算(型に注意) // 商 % 剰余 ** 累乗 2014/9/1 H26年度オープンハウス・アドバンストコース 36
37.
list型 • 複数の値を格納する型
>>> a = [1, 2.0,"ab", 4] # 要素の型は混在可能 >>> print a[2] 2.0 >>> print a[-1] 4 2014/9/1 H26年度オープンハウス・アドバンストコース 37
38.
list型 • 複数の値を格納する型
>>> a = [1, 2.0,"ab", 4] # 要素の型は混在可能 >>> print a[2] 2.0 >>> print a[-1] 4 2014/9/1 H26年度オープンハウス・アドバンストコース 38
39.
list型 >>> a[1:3]
# スライスで範囲を取出す [2.0, "ab"] # 結果もlist >>> a[1:] [2.0, "ab", 4] >>> a[:2] [1, 2.0] 2014/9/1 H26年度オープンハウス・アドバンストコース 39
40.
list型 >>> a[1:3]
# スライスで範囲を取出す [2.0, "ab"] # 結果もlist >>> a[1:] [2.0, "ab", 4] >>> a[:2] [1, 2.0] 2014/9/1 H26年度オープンハウス・アドバンストコース 40
41.
>>> a.append("xyz") #
要素の追加 >>> print a [1, 2.0, "ab", 4, "xyz"] >>> a.insert(2, "three") # 要素の挿入 >>> print a [1, 2.0, “three”, "ab", 4, "xyz"] list型 2014/9/1 H26年度オープンハウス・アドバンストコース 41
42.
>>> a.append("xyz") #
要素の追加 >>> print a [1, 2.0, "ab", 4, "xyz"] >>> a.insert(2, "three") # 要素の挿入 >>> print a [1, 2.0, “three”, "ab", 4, "xyz"] list型 2014/9/1 H26年度オープンハウス・アドバンストコース 42
43.
>>> del a[2]
# 要素の削除(位置指定) >>> print a [1, 2.0, "ab", 4, "xyz"] >>> a.remove("xyz") # 要素の削除(要素指定) >>> print a [1, 2.0, "ab“, 4] list型 2014/9/1 H26年度オープンハウス・アドバンストコース 43
44.
>>> del a[2]
# 要素の削除(位置指定) >>> print a [1, 2.0, "ab", 4, "xyz"] >>> a.remove("xyz") # 要素の削除(要素指定) >>> print a [1, 2.0, "ab", 4] list型 2014/9/1 H26年度オープンハウス・アドバンストコース 44
45.
>>> b =
[5, 6, 7] >>> a + b # listの足し算 [1, 2.0, "ab", 4, 5, 6, 7] >>> b * 2 # listの整数倍 [5, 6, 7, 5, 6, 7] list型 2014/9/1 H26年度オープンハウス・アドバンストコース 45
46.
>>> b =
[5, 6, 7] >>> a + b # listの足し算 [1, 2.0, "ab", 4, 5, 6, 7] >>> b * 2 # listの整数倍 [5, 6, 7, 5, 6, 7] list型 2014/9/1 H26年度オープンハウス・アドバンストコース 46
47.
list型 >>> a
= [5, 2, 7, 9] >>> a.sort() # 要素の値でソート >>> print a [2, 5, 7, 9] >>> a.reverse() # 逆順 >>> print a [9, 7, 5, 2] 2014/9/1 H26年度オープンハウス・アドバンストコース 47
48.
list型 >>> a
= [5, 2, 7, 9] >>> a.sort() # 要素の値でソート >>> print a [2, 5, 7, 9] >>> a.reverse() # 逆順 >>> print a [9, 7, 5, 2] 2014/9/1 H26年度オープンハウス・アドバンストコース 48
49.
list型 >>> a
= [1, 2, 1, 1] >>> len(a) # 全要素の数 4 >>> a.count(1) # 特定の要素の数 3 2014/9/1 H26年度オープンハウス・アドバンストコース 49
50.
list型 >>> a
= [1, 2, 1, 1] >>> len(a) # 全要素の数 4 >>> a.count(1) # 特定の要素の数 3 2014/9/1 H26年度オープンハウス・アドバンストコース 50
51.
※備考2 • Pythonはオブジェクト指向言語でもある
– すべてのデータはオブジェクト c.f.) Java: int型等はオブジェクトではない • オブジェクトはメソッドとよばれる 関数(のようなもの)を持つ >>> a.append(2) 2014/9/1 H26年度オープンハウス・アドバンストコース 51 メソッド
52.
str型 • 文字列を格納する型
• 1文字でもstr型(charのような型はない) >>> a = "Hello" # ''でも""でも良い >>> print a Hello 2014/9/1 H26年度オープンハウス・アドバンストコース 52
53.
str型 • 一部のメソッドはlistと共通,
スライス,len()も使用可 >>> a.count("l") # countメソッド 2 >>> a[1:3] #スライス "el" 2014/9/1 H26年度オープンハウス・アドバンストコース 53
54.
str型 • 一部のメソッドはlistと共通,
スライス,len()も使用可 >>> a.count("l") # countメソッド 2 >>> a[1:3] #スライス "el" 2014/9/1 H26年度オープンハウス・アドバンストコース 54
55.
str型 >>> b
= "World" >>> a + b # 文字列の足し算 'HelloWorld' >>> a * 3 # 文字列の整数倍 'HelloHelloHello' 2014/9/1 H26年度オープンハウス・アドバンストコース 55
56.
str型 >>> b
= "World" >>> a + b # 文字列の足し算 'HelloWorld' >>> a * 3 # 文字列の整数倍 'HelloHelloHello' 2014/9/1 H26年度オープンハウス・アドバンストコース 56
57.
str型 >>> a.find("e")
# 文字列の位置検索 1 >>> a.replace("llo", "y") # 部分文字列の置換 'Hey' 2014/9/1 H26年度オープンハウス・アドバンストコース 57
58.
str型 >>> a.find("e")
# 文字列の位置検索 1 >>> a.replace("llo", "y") # 部分文字列の置換 'Hey' 2014/9/1 H26年度オープンハウス・アドバンストコース 58
59.
str型 >>> text
= "This is a pen" >>> words = text.split() # 空白文字で区切る >>> print words ['This', 'is', 'a', 'pen'] # 結果はlist >>> "_".join(words) # listを連結する 'This_is_a_pen' 2014/9/1 H26年度オープンハウス・アドバンストコース 59
60.
str型 >>> text
= "This is a pen" >>> words = text.split() # 空白文字で区切る >>> print words ['This', 'is', 'a', 'pen'] # 結果はlist >>> "_".join(words) # listを連結する 'This_is_a_pen' 2014/9/1 H26年度オープンハウス・アドバンストコース 60
61.
str型 >>>text.lower() #
小文字化 'this is a pen' >>> text.upper() # 大文字化 'THIS IS A PEN' >>> text.startswith("pen")# 先頭はpenかどうか False >>> text.endswith("pen") # 末尾はpenかどうか True 2014/9/1 H26年度オープンハウス・アドバンストコース 61
62.
str型 >>>text.lower() #
小文字化 'this is a pen' >>> text.upper() # 大文字化 'THIS IS A PEN' >>> text.startswith("pen")# 先頭はpenかどうか False >>> text.endswith("pen") # 末尾はpenかどうか True 2014/9/1 H26年度オープンハウス・アドバンストコース 62
63.
str型 >>> a
= "Nagaoka" >>> len(a) 7 >>> a = "長岡技大" >>> len(a) 12 2014/9/1 H26年度オープンハウス・アドバンストコース 63
64.
str型 >>> a
= "Nagaoka" >>> len(a) 7 >>> a = "長岡技大" >>> len(a) 12 # !? 2014/9/1 H26年度オープンハウス・アドバンストコース 64
65.
unicode型 • 日本語のような多バイト文字を扱うには
unicode型を用いる >>> a = u"いろは" # u"文字列"の形 • str型とほぼ同じメソッドを持っているが, あくまで異なる型であることに注意 >>> "abc" + u"いろは" # エラーになる 2014/9/1 H26年度オープンハウス・アドバンストコース 65
66.
str型とunicode型 >>> unicode("Hello")
# str-> unicode u'Hello' >>> u"Hello".encode("utf-8") # unicode-> str 'Hello' ※「utf-8(unicode)」でエンコードされたstr型と, unicode型は異なるものなので注意 2014/9/1 H26年度オープンハウス・アドバンストコース 66
67.
※備考3 • 今回の演習で使っているPythonは2.x系
• 現在は3.x系もある – printが関数化 – str型を廃止しunicode型に統一 • ただし,一部ライブラリが未対応の場合も – 徐々に対応してきている 2014/9/1 H26年度オープンハウス・アドバンストコース 67
68.
dict型 • 他の言語では「ハッシュ」や「連想配列」と
呼ばれる型 • keyとvalueの組が格納される • keyを指定してvalueにアクセスする >>> a = {"name": "Tom", "age": 20} >>> a["name"] 'Tom' 2014/9/1 H26年度オープンハウス・アドバンストコース 68
69.
dict型 • 他の言語では「ハッシュ」や「連想配列」と
呼ばれる型 • keyとvalueの組が格納される • keyを指定してvalueにアクセスする >>> a = {"name": "Tom", "age": 20} >>> a["name"] 'Tom' 2014/9/1 H26年度オープンハウス・アドバンストコース 69
70.
dict型 >>> a["name"]
= "Ken" # valueの上書き >>> print a {"age": 20, "name": "Ken"} # 順番を保持しない >>> a["job"] = "student" # 要素の追加 >>>print a {"job": "student", "age": 20, "name": "Ken"} 2014/9/1 H26年度オープンハウス・アドバンストコース 70
71.
dict型 >>> a["name"]
= "Ken" # valueの上書き >>> print a {"age": 20, "name": "Ken"} # 順番を保持しない >>> a["job"] = "student" # 要素の追加 >>>print a {"job": "student", "age": 20, "name": "Ken"} 2014/9/1 H26年度オープンハウス・アドバンストコース 71
72.
dict型 >>> len(a)
3 >>> a.keys() # 全てkeyを返す ["job", "age", "name"] #結果はlist >>> a.values() # 全てのvalueを返す ["student", 20, "Ken"] # 結果はlist 2014/9/1 H26年度オープンハウス・アドバンストコース 72
73.
dict型 >>> len(a)
3 >>> a.keys() # 全てkeyを返す ["job", "age", "name"] #結果はlist >>> a.values() # 全てのvalueを返す ["student", 20, "Ken"] # 結果はlist 2014/9/1 H26年度オープンハウス・アドバンストコース 73
74.
入出力
75.
ファイルから入力 • openを使ってファイルオブジェクトを生成
• メソッドでファイル内容にアクセス # file.txtを読み込み専用で開く >>> fin = open("file.txt", "r") >>> fin.close() # 使い終わったらclose()
76.
ファイルから入力 • 一度にファイル内容全てを読み出す
fin.read() • 一行ずつ読み出す fin.readline() • 各行をlistの要素として一度に全て読み出す fin.readlines() 2014/9/1 H26年度オープンハウス・アドバンストコース 76
77.
ファイルから入力 • for文によるアクセスも可能(1行ずつ)
>>> fin = open("file.txt", "r") >>> for line in fin: ... print line.strip() 2014/9/1 H26年度オープンハウス・アドバンストコース 77 str.strip() 文字列両端の空白文字 (スペースや改行) を取り除くstr型のメソッド
78.
標準入力 • 組み込みモジュールsysをimportする
• sys.stdinが標準入力を表す • ファイルオブジェクトと同様にアクセス可能 >>> import sys >>> text = sys.stdin.read() 2014/9/1 H26年度オープンハウス・アドバンストコース 78
79.
標準出力 • print文を利用
>>> a = "Hello" >>> b = "World" >>> print a, b # ,(カンマ)区切り 'Hello World' 2014/9/1 H26年度オープンハウス・アドバンストコース 79
80.
標準出力 • print文を利用
>>> a = "Hello" >>> b = "World" >>> print a, b # ,(カンマ)区切り Hello World 2014/9/1 H26年度オープンハウス・アドバンストコース 80
81.
標準出力 • str型のformatメソッド
>>> a = "Hello" >>> b = "Tom" >>> print "{0}, {1}".format(a, b) 'Hello, Tom' >>> print "{greets}, {name}".format(greets=a,name=b) 'Hello, Tom' 2014/9/1 H26年度オープンハウス・アドバンストコース 81
82.
標準出力 • str型のformatメソッド
>>> a = "Hello" >>> b = "Tom" >>> print "{0}, {1}".format(a, b) Hello, Tom >>> print "{greets}, {name}".format(greets=a,name=b) Hello, Tom 2014/9/1 H26年度オープンハウス・アドバンストコース 82
83.
その他の機能 2014H/296/1年度オープンハウス・アドバンストコース 83
84.
その他の機能 • その他にもできることは沢山ある
– 乱数,数学関数,正規表現等 • なにか欲しい機能があったら – TAに聞いてみる – 公式ドキュメントを調べる • http://docs.python.jp/2/ 2014/9/1 H26年度オープンハウス・アドバンストコース 84
85.
課題 2014H/296/1年度オープンハウス・アドバンストコース 85
86.
FizzBuzz問題 • 1~100までの数字を順に1行ずつ出力する
• ただし, – 3で割り切れる場合は代わりにFizz と – 5で割り切れる場合は代わりにBuzz と – 3と5両方で割り切れる場合は代わりにFizz Buzzと 出力する 2014/9/1 H26年度オープンハウス・アドバンストコース 86
Download