Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
新人教育とPython / PyCon mini Hiroshima 2015
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
7pairs
November 22, 2015
Programming
240
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新人教育とPython / PyCon mini Hiroshima 2015
7pairs
November 22, 2015
More Decks by 7pairs
See All by 7pairs
Pythonによる契約プログラミング入門 / PyCon JP 2025
7pairs
7
4.9k
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
1.2k
テキストマイニングによるプロ野球の順位予想 / Baseball Play Study 2020 Winter
7pairs
0
590
2020年の振り返りとBaseball Play Studyの振り返り / Jisyupy 29
7pairs
0
410
Because Python is there. / Jisyupy 27
7pairs
0
550
野球好きのための快適なプレゼンテーション環境の構築 / Baseball Play Study 2019 Winter
7pairs
0
1.1k
ちゃんと実装してちゃんとテストしよう / PyCon mini Hiroshima 2019
7pairs
2
1.1k
Pie Meets Py / PyCon JP 2019
7pairs
3
6k
テキストマイニングによる新外国人選手の分析 / Baseball Play Study 2019 Spring
7pairs
0
3.1k
Other Decks in Programming
See All in Programming
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
340
オーケストレーション記述言語 Katari
yukikurage
0
200
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
120
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.2k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.3k
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.8k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
590
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
260
phperだってパンチカードでコーディングしたい
o0h
PRO
0
460
JIS keyboard support in Omarchy
lef237
0
160
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.7k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
320
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Everyday Curiosity
cassininazir
0
360
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
330
Building an army of robots
kneath
307
47k
First, design no harm
axbom
PRO
2
1.4k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Why Our Code Smells
bkeepers
PRO
340
58k
So, you think you're a good person
axbom
PRO
2
2.2k
Transcript
৽ਓڭҭͱPython ୩ ५ 2015-11-22 PyCon mini Hiroshima 2015
ࣗݾհ • ୩ ५ʢͤ ͡ΎΜʣ • Twitterɿ@7pairs • GitHubɿhttps://github.com/7pairs •
גࣜձࣾΞΠϞόΠϧॴଐ • ΞυωοτϫʔΫ୲ͷΤϯδχΞ • C#ɺJavaScript…ͳͲ • લ৬·Ͱ15ؒSIerʹۈ • ࠓͷൃදͦͷࠒͷ͓
ΞδΣϯμ • ͳͥ৽ਓڭҭͰPythonΛ࠾༻ͨ͠ͷ͔ • PythonͰڭҭ͕Ͳ͏มΘ͔ͬͨ • PythonͰߨࢣ͕ͨͪͲ͏มΘ͔ͬͨ • ଐ͞Ε͔ͯΒͷҧ͍͋ͬͨͷ͔ •
·ͱΊ
ͳͥ৽ਓڭҭͰPythonΛ࠾༻ͨ͠ͷ͔
ڭҭͷલఏ • ೖࣾޙͷ৽ਓ͞Μʹର͢Δϓϩάϥϛϯάڭҭ • ରʹϓϩάϥϛϯάະܦݧऀؚ·ΕΔ • ܦݧऀڭҭΛૣΊʹΓ্͛Δ͜ͱ… • ڭҭظؒ1ʙ3ϲ݄ʢʹΑͬͯࠩҧ͋Γʣ •
ฒߦͯ͠΄͔ͷݚम࣮ࢪ͢Δ • ϚφʔݚमɺใॲཧجૅɺσʔλϕʔεͳͲ
ڭҭͷత • ઌഐͷࢦಋԼͰۀ͕͜ͳͤΔΑ͏ʹͳΔ͜ͱ • ϓϩάϥϛϯάʹඞཁͳߟ͑ํΛʹ͚ͭΔ͜ͱ • ݴޠͦͷͷͷशख़ʹͩ͜ΘΒͳ͍ • ۀͰؔΘΔػձͷଟ͍Web։ൃʹͭͳ͍͛ͨ •
ݴޠΛΘͣඞཁͱͳΔ͕ࣝଟ͍ • WebΞϓϦͷΈɺηΩϡϦςΟͳͲ
࠾༻͢Δݴޠͷ݅ ʮWindowsڥͰ։ൃͰ͖ͯ…ʯ ʢPythonͩ…ʣ ʮͳهड़Λ͢Δඞཁ͕ͳͯ͘…ʯ ʢPythonͩ…ʣ ʮ͍͠ύϥμΠϜͷݴޠͰͳͯ͘…ʯ ʢPythonͩ…ʣ ʮWebͱͷੑ͕ߴ͍ݴޠͰ…ʯ ʢPythonͩ…ʂʣ
ͦΕ·Ͱͷ৽ਓڭҭ • ࣮Λҙࣝͯ͠JavaͰ࣮ࢪ͢Δ͜ͱ͕ଟ͔ͬͨ • JavaͰଟ͘ͷ͜ͱΛಉ࣌ʹֶͿඞཁ͕͋Δ • ϓϩάϥϛϯάͷߟ͑ํ • ΦϒδΣΫτࢦ •
Javaݴޠͷจ๏
Java൛Hello World // ͓·͡ͳ͍ͱͯ͠ਐΊ͟ΔΛಘͳ͍߲͕ଟ͍ public class HelloWorld { public static
void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (1) // Ϋϥε public class HelloWorld { public
static void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (2) // ϝιου public class HelloWorld { public
static void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (3) // ΞΫηεम০ࢠ public class HelloWorld { public
static void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (4) // ੩తʢϝιουʣ public class HelloWorld { public
static void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (5) // Γ public class HelloWorld { public
static void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (6) // Ҿ public class HelloWorld { public
static void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (7) // ྻʢ͘͠ՄมҾʣ public class HelloWorld { public
static void main(String[] args) { System.out.println("hello, world"); } }
Java൛Hello Worldͷ͓·͡ͳ͍ (8) // ύοέʔδ public class HelloWorld { public
static void main(String[] args) { System.out.println("ΤϦνΧɺ͓͏ͪʹؼΔʂ"); } }
͓·͡ͳ͍ͷޮೳ • ͓·͡ͳ͍ͱׂͯ͠ΓΕΔͷ࠽ೳ • ख͕ࢭ·ͬͯ͠·͏ਓ͍Δ • ͓·͡ͳ͍͔ΓͰࣸܦ͔ΒಘΔͷ͕ͳ͘ͳΔ • ͦͷ࣌ͰͷཧղΛ์غ͍ͯ͠Δ
ੜΈग़͞ΕΔࠞಱ • ϑΝΠϧ໊ͱҟͳΔ໊લͷpublicΫϥε • ಉҰϑΝΠϧʹ2ͭͷpublicΫϥε • ಉҰΫϥεʹ2ͭͷmainϝιου • ΤϯτϦϙΠϯτͷͭΓͷmain2ϝιου
Python3൛Hello World // ߨࢣʹ༏͍͠Hello World print("hello, world")
Pythonͷ࠾༻ʹΑͬͯظ͞ΕΔ͜ͱ • Ϋϥε͕ඞͣ͠ඞཁͳ͍ • ͕ؔඞͣ͠ඞཁͳ͍ • ରϞʔυͳΒϑΝΠϧ͢Βඞཁͳ͍ • ࠷ॳͷ͓·͡ͳ͍ͰඍົͳۭؾʹͳΔ͜ͱͳ͍
Α͋͘Δͱճ (1) Q. ࣮ࡍʹۀͰ͏ݴޠͰڭҭ͢Εɺͦͷ͋ͱεϜʔ ζʹ࣮ʹೖΕΔͷͰʁ A. ্࢘ͷࢦࣔͩͱใࠂॻʹॻ͍ͯྑ͍ͷͰ͋Εɺۀ ͰͬͱΘΕ͍ͯΔJava1.4Ͱڭҭ͠·͢ɻ
Α͋͘Δͱճ (2) Q. Pythonͱ͍͏ݴޠฉ͍ͨ͜ͱ͕ͳ͍͕ɺͦΜͳϚΠ φʔͳݴޠͰֶशʹࢧোͳ͍ͷ͔ʁ A. ฐࣾಠࣗϑϨʔϜϫʔΫΑΓ͘ΘΕ͍ͯΔݴ ޠͳͷͰɺࣗश༰қͩͱߟ͍͑ͯ·͢ɻ
PythonͰڭҭ͕Ͳ͏มΘ͔ͬͨ
ಈతܕ͚ݴޠͰ͋Δ • ίʔυΛॻ͘ͱ͖ʹࢼߦࡨޡ͍͢͠ • ҰํͰઃܭͷେ͕͞ΘΓͮΒ͍໘… • ίϨΫγϣϯ͕͍͍͢ • "1" +
1 ͕ 2 ʹͳΒͳ͍ఔͷݫີ͞Λ࣋ͭ
ରϞʔυΛ͍࣋ͬͯΔ • ༷ʑͳ໘Ͱେ׆༂ • ྫΛઆ໌͢Δͱ͖ • ৽ਓ͞Μ͕ࢼߦࡨޡ͢Δͱ͖ • ߨࢣ͕ͬͦ͜Γݴޠ༷Λ֬ೝ͢Δͱ͖ •
PythonΛ࠾༻ͨ͜͠ͱͰڭҭͷਐΊํ͕มΘͬͨ
Webͱͷੑ͕ߴ͍ • Python͚ͩͰWebΞϓϦΛ࡞Δ͜ͱ͕Ͱ͖Δ • JavaͰڭҭ͍ͯͨ͠ࠒͷ͜ͱࢥ͍ग़ͨ͘͠ͳ͍… • TomcatΛೖΕͯ… • Մಡੑͷ͍JSPΛॻ͍ͯ… •
มߋͷͨͼʹ࠶ىಈΛͯ͠…
ςΩετΤσΟλͰॆʹίʔσΟϯάͰ͖Δ • ඇྗͳϚγϯͰͳΜͱ͔ਐΊΔ͜ͱ͕Ͱ͖Δ • JavaͰڭ͍͑ͯͨࠒͷ͜ͱࢥ͍ग़ͨ͘͠ͳ͍… • Eclipseͷىಈʹ5͔͔Δ… • ίʔσΟϯάதʹExcelΛ։͘ͱݻ·Δ…
PythonͰߨࢣ͕ͨͪͲ͏มΘ͔ͬͨ
ֶशͷҙཉ͕ੜ·Εͨ • ਓʹڭ͑ΔͨΊʹ·ͣཧղ͠ͳ͚ΕͳΒͳ͍ • ৽ਓ͞Μʹ࣭͞ΕͨΒ͑ͳ͚ΕͳΒͳ͍ • ͪΖΜӕΛڭ͑ΔΘ͚ʹ͍͔ͳ͍ • ৽͍͜͠ͱΛֶͿָ͠͞Λࢥ͍ग़ͨ͠
ӳޠʹର͢Δ߅ײ͕Β͍ͩ • ެࣜυΩϡϝϯτΛΕΔͱຊޠใ͕গͳ͍ • ֎෦ϥΠϒϥϦͷυΩϡϝϯτ • Stack OverflowͳͲ • ӳޠΛಡ·͟ΔΛಘͳ͍ঢ়گʹ
• ͍ࠐ·ΕΕҙ֎ͱͳΜͱ͔ͳΔ
ۀʹPythonΛऔΓೖΕΔಈ͖ • πʔϧྨΛPythonʹஔ͖͑Δ • Perl͔Βͷஔ͖͑ • γΣϧεΫϦϓτ͔Βͷஔ͖͑ • VBA͔Βͷஔ͖͑ •
ϓϩμΫτͰͷಋೖϋʔυϧ͕ߴ͔ͬͨ…
ଐ͞Ε͔ͯΒͷҧ͍͋ͬͨͷ͔
ΠϯσϯτҒେͩͬͨ • ϒϩοΫ୯ҐͰ͖ͪΜͱΠϯσϯτ͢Δश׳ • نΛҙࣝͨ͠ίʔσΟϯά • PEP8Ғେͩͬͨ
طଘͷػೳΛ͓͏ͱͯ͘͠ΕΔ • ৽ਓ͞Μʹ͋Γ͕ͪͳंྠͷ࠶ൃ໌͕ൃੜͮ͠Β͍ • ඪ४ϥΠϒϥϦͰղܾ͢Δ͜ͱ͕Ͱ͖ͳ͍͔ • APIͷJavadocɺMSDNΛௐΔश׳ • ֎෦ͷϥΠϒϥϦͰղܾ͢Δ͜ͱ͕Ͱ͖ͳ͍͔ •
ͨͩɺͳΜͰ͔ΜͰjarΛՃ͢Δͷ…
ؔΛΦϒδΣΫτͱͯ͠ѻ͏ • mapɺfilterͳͲͰؔΛҾʹࢦఆͨ͠ܦݧ • ΄͔ͷݴޠͰྨਪͯ͠ཧղ͢Δ͜ͱ͕Ͱ͖Δ • C#ɺJavaScriptͳͲ • Java8ʁɹԿͦΕඒຯ͍͠ͷʁ
ੲͳ͕Βͷforจʹށͬͯ͠·͏ for (String str : strArray) { // Pythonͷfor͔ΒͷྨਪͰཧղͰ͖Δ }
for (int i = 0; i < strArray.length; i++) { // Կ͜Εʁɹݟͨ͜ͱ͕ͳ͍ʂ }
ੲͳ͕ΒͷforจΛཧղ͠ͳ͚Ε͍͚ͳ͍ͨͬͨҰͭͷཧ༝ • Java1.4͕ݱͰ͋ΔͨΊ • Python࠾༻2JavaScriptΛྫʹઆ໌
·ͱΊ
·ͱΊ • Pythonͷ࠾༻ʹΑΓɺΞϧΰϦζϜͳͲͷຊʹڭ͑ ͍ͨ෦ʹϑΥʔΧεͰ͖ͨ • ۀͰར༻͠ͳ͍PythonͰڭҭ͢Δ߹ɺͦͷϚΠφ εΛ্ճΔϝϦοτΛఏࣔͰ͖ΔΑ͏ʹ • ৽ਓڭҭߨࢣͷڭҭͰ͋Δ •
Pythonͱ΄͔ͷݴޠͱͷҧ͍Λೝࣝͤ͞ɺ͠Γͳ ͍ػೳ͕͋Δ߹ผݴޠΛྫʹ͢Δ͜ͱඞཁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠