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.8k
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
540
野球好きのための快適なプレゼンテーション環境の構築 / 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
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
580
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
320
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
20
21k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
350
The Rails Doctrine Decade
koic
2
490
JRuby: Past, Present, and Future
headius
0
220
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
230
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.4k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
360
すこし踏み込む CancellationToken
htkym
2
1.6k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
250
First, design no harm
axbom
PRO
2
1.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Statistics for Hackers
jakevdp
799
230k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Tell your own story through comics
letsgokoyo
1
1.1k
Claude Code のすすめ
schroneko
67
230k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
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ͱ΄͔ͷݴޠͱͷҧ͍Λೝࣝͤ͞ɺ͠Γͳ ͍ػೳ͕͋Δ߹ผݴޠΛྫʹ͢Δ͜ͱඞཁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠