SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Copyright@ 2016 All reserved by KrDAG
AUTOMATE THE
BORING STUFF
WITH PYTHON
삶을 윤택하게 해주는 코딩
KRDAG
장성만 (frontjang@naver.com)
Copyright@ 2016 All reserved by KrDAG
 Part 1 - The Basics of Python Programming (~143p)
 Introduction / Python Basics / Flow Control / Functions
 Lists / Dictionaries and Structuring Data / Manipulating Strings
 Part 2 - Automating Tasks (~439p)
 Pattern Matching with Regular Expressions
 Reading and Writing Files / Organizing Files
 Debugging / Web Scraping
 Working with Excel Spreadsheets
 Working with PDF and Word Documents
 Working with CSV Files and JSON Data
 Time, Scheduling Tasks, and Launching Programs
 Sending Email and Text Messages
 Manipulating Images
 Controlling the Keyboard and Mouse with GUI Automation
책 소개
Automate the Boring Stuff with Python
https://automatetheboringstuff.com/
https://github.com/iliyahoo/Automate-The-Boring-Stuff-With-Python
Copyright@ 2016 All reserved by KrDAG
 Comparison to Java / C++
 Python run slower; but take much less time to develop.
 3-5 times shorter than Java, 5-10 times shorter than C++
 no type declaring, powerful polymorphic list and dictionary types
 Python as a "glue" language, while others as a low-level implementation language.
 Everything in python is an object, and it sits on the heap
 Python is similar to Java
 Python is interpreted language while C++ is a compiled language
 Python class members are determined at run-time
 C++ has no has automatic memory management (garbage collection)
 Python have a full set of reflection capabilities; Serialization by pickle.saves()
WHY PYTHON?
Trade-off between Productivity and Performance?
https://www.python.org/doc/essays/comparisons/
https://www.quora.com/What-is-the-difference-between-Python-and-C++#!n=12
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE
BASICS OF PYTHON
PROGRAMMING
Python 기초배우기
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE BASICS OF PYTHON PROGRAMMING
Chapter 1. Python Basics
https://en.wikipedia.org/wiki/High_availability
#include <stdio.h>
int main()
{
float percent;
scanf("%f", &percent);
printf("%f",(100-percent)*0.01*365*24*60);
return 0;
}
gcc –o main main.c
./main
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE BASICS OF PYTHON PROGRAMMING
Chapter 2. Flow Control
@cafepear
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE BASICS OF PYTHON PROGRAMMING
Chapter 2. Flow Control
http://www.soccerline.co.kr/slboard/view.php?
uid=1988123089&page=41&code=totalboard
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE BASICS OF PYTHON PROGRAMMING
Chapter 3. Functions
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE BASICS OF PYTHON PROGRAMMING
Chapter 4. Lists
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE BASICS OF PYTHON PROGRAMMING
Chapter 5. Dictionaries and Structuring Data
http://kin.naver.com/qna/detail.nhn?d1id=3&dirId=30104&docId=201995942&qb=7Jew7JiI7J24I
DEwMOuqhQ==&enc=utf8&section=kin&rank=1&search_sort=0&spq=0
Copyright@ 2016 All reserved by KrDAG
PART 1 - THE BASICS OF PYTHON PROGRAMMING
Chapter 6. Manipulating Strings
Copyright@ 2016 All reserved by KrDAG
PART 2 - AUTOMATING
TASKS
Python 활용하기
Copyright@ 2016 All reserved by KrDAG
PART 2 - AUTOMATING TASKS
Chapter 7. Pattern Matching with Regular Expressions
Copyright@ 2016 All reserved by KrDAG
PART 2 - AUTOMATING TASKS
Chapter 8/9. Reading and Writing Files / Organizing Files
Copyright@ 2016 All reserved by KrDAG
PART 2 - AUTOMATING TASKS
Chapter 11. Web Scraping
http://xkcd.com/927/
Copyright@ 2016 All reserved by KrDAG
PART 2 - AUTOMATING TASKS
Chapter 13. Working with PDF and Word Documents
https://github.com/rk700/PyMuPDF
Copyright@ 2016 All reserved by KrDAG
PART 2 - AUTOMATING TASKS
Chapter 18. Controlling the Keyboard and Mouse with GUI Automation
Copyright@ 2016 All reserved by KrDAG
APPENDIX
Goorm위에서 개발하기
http://www.goorm.io/
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG
Copyright@ 2016 All reserved by KrDAG

Weitere ähnliche Inhalte

Was ist angesagt?

Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Michelle Anne Meralpis
 
Python: Modules and Packages
Python: Modules and PackagesPython: Modules and Packages
Python: Modules and PackagesDamian T. Gordon
 
Polymorphism in Java
Polymorphism in JavaPolymorphism in Java
Polymorphism in JavaJava2Blog
 
Introduction to method overloading &amp; method overriding in java hdm
Introduction to method overloading &amp; method overriding  in java  hdmIntroduction to method overloading &amp; method overriding  in java  hdm
Introduction to method overloading &amp; method overriding in java hdmHarshal Misalkar
 
Method Overloading In Java
Method Overloading In JavaMethod Overloading In Java
Method Overloading In JavaCharthaGaglani
 
Garbage collection
Garbage collectionGarbage collection
Garbage collectionSomya Bagai
 
Looping statements in Java
Looping statements in JavaLooping statements in Java
Looping statements in JavaJin Castor
 
Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...
Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...
Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...Edureka!
 
Python Programming Tutorial | Edureka
Python Programming Tutorial | EdurekaPython Programming Tutorial | Edureka
Python Programming Tutorial | EdurekaEdureka!
 

Was ist angesagt? (20)

Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)Basic Concepts of OOPs (Object Oriented Programming in Java)
Basic Concepts of OOPs (Object Oriented Programming in Java)
 
Chapter 07 inheritance
Chapter 07 inheritanceChapter 07 inheritance
Chapter 07 inheritance
 
Applets in java
Applets in javaApplets in java
Applets in java
 
Java 8 features
Java 8 featuresJava 8 features
Java 8 features
 
Method overloading
Method overloadingMethod overloading
Method overloading
 
Python: Modules and Packages
Python: Modules and PackagesPython: Modules and Packages
Python: Modules and Packages
 
Polymorphism in Java
Polymorphism in JavaPolymorphism in Java
Polymorphism in Java
 
Introduction to method overloading &amp; method overriding in java hdm
Introduction to method overloading &amp; method overriding  in java  hdmIntroduction to method overloading &amp; method overriding  in java  hdm
Introduction to method overloading &amp; method overriding in java hdm
 
Lesson 5 php operators
Lesson 5   php operatorsLesson 5   php operators
Lesson 5 php operators
 
Method Overloading In Java
Method Overloading In JavaMethod Overloading In Java
Method Overloading In Java
 
Garbage collection
Garbage collectionGarbage collection
Garbage collection
 
Polymorphism in oop
Polymorphism in oopPolymorphism in oop
Polymorphism in oop
 
Python OOPs
Python OOPsPython OOPs
Python OOPs
 
Inheritance in OOPS
Inheritance in OOPSInheritance in OOPS
Inheritance in OOPS
 
Modular programming
Modular programmingModular programming
Modular programming
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Chapter 03 python libraries
Chapter 03 python librariesChapter 03 python libraries
Chapter 03 python libraries
 
Looping statements in Java
Looping statements in JavaLooping statements in Java
Looping statements in Java
 
Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...
Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...
Python For Data Analysis | Python Pandas Tutorial | Learn Python | Python Tra...
 
Python Programming Tutorial | Edureka
Python Programming Tutorial | EdurekaPython Programming Tutorial | Edureka
Python Programming Tutorial | Edureka
 

Andere mochten auch

The roll of memory in the sense of ending
The roll of memory in the sense of endingThe roll of memory in the sense of ending
The roll of memory in the sense of endingnilamba3158
 
analysis of students work
analysis of students workanalysis of students work
analysis of students worklou550
 
مواقع مهمة
مواقع مهمةمواقع مهمة
مواقع مهمةMUTAZ4
 
The Roll of memory in the sense of ending
The Roll of memory in the sense of endingThe Roll of memory in the sense of ending
The Roll of memory in the sense of endingnilamba3158
 
視覺科技輔具應用於體育教學上
視覺科技輔具應用於體育教學上視覺科技輔具應用於體育教學上
視覺科技輔具應用於體育教學上恩弘 林
 
Processos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentinaProcessos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentinaaulaprocessos
 
מצגת למנהלת תבע 384
מצגת למנהלת תבע 384מצגת למנהלת תבע 384
מצגת למנהלת תבע 384Hila Aoad
 
體育教學信念20131101 blog
體育教學信念20131101 blog體育教學信念20131101 blog
體育教學信念20131101 blog恩弘 林
 
ANALYSIS OF MUSIC VIDEOS
ANALYSIS OF MUSIC VIDEOSANALYSIS OF MUSIC VIDEOS
ANALYSIS OF MUSIC VIDEOSlou550
 
4 -laporan-keuangan
4  -laporan-keuangan4  -laporan-keuangan
4 -laporan-keuangansantimoch
 

Andere mochten auch (12)

The roll of memory in the sense of ending
The roll of memory in the sense of endingThe roll of memory in the sense of ending
The roll of memory in the sense of ending
 
analysis of students work
analysis of students workanalysis of students work
analysis of students work
 
مواقع مهمة
مواقع مهمةمواقع مهمة
مواقع مهمة
 
The Roll of memory in the sense of ending
The Roll of memory in the sense of endingThe Roll of memory in the sense of ending
The Roll of memory in the sense of ending
 
視覺科技輔具應用於體育教學上
視覺科技輔具應用於體育教學上視覺科技輔具應用於體育教學上
視覺科技輔具應用於體育教學上
 
Processos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentinaProcessos telègraf i telefón neus i valentina
Processos telègraf i telefón neus i valentina
 
Q4 rmp programebi
Q4 rmp programebiQ4 rmp programebi
Q4 rmp programebi
 
מצגת למנהלת תבע 384
מצגת למנהלת תבע 384מצגת למנהלת תבע 384
מצגת למנהלת תבע 384
 
體育教學信念20131101 blog
體育教學信念20131101 blog體育教學信念20131101 blog
體育教學信念20131101 blog
 
Pajaros
PajarosPajaros
Pajaros
 
ANALYSIS OF MUSIC VIDEOS
ANALYSIS OF MUSIC VIDEOSANALYSIS OF MUSIC VIDEOS
ANALYSIS OF MUSIC VIDEOS
 
4 -laporan-keuangan
4  -laporan-keuangan4  -laporan-keuangan
4 -laporan-keuangan
 

Ähnlich wie 20160331_Automate the boring stuff with python

Django - Python MVC Framework
Django - Python MVC FrameworkDjango - Python MVC Framework
Django - Python MVC FrameworkBala Kumar
 
Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015Younggun Kim
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programsBadoo Development
 
Introduction of R on Hadoop
Introduction of R on HadoopIntroduction of R on Hadoop
Introduction of R on HadoopChung-Tsai Su
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in DjangoLakshman Prasad
 
Data Mining with SpagoBI suite
Data Mining with SpagoBI suiteData Mining with SpagoBI suite
Data Mining with SpagoBI suiteSpagoWorld
 
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatengeKarin Patenge
 
Writing Fast Code - PyCon HK 2015
Writing Fast Code - PyCon HK 2015Writing Fast Code - PyCon HK 2015
Writing Fast Code - PyCon HK 2015Younggun Kim
 
Make your PySpark Data Fly with Arrow!
Make your PySpark Data Fly with Arrow!Make your PySpark Data Fly with Arrow!
Make your PySpark Data Fly with Arrow!Databricks
 
Develop At The Speed Of Thought
Develop At The Speed Of ThoughtDevelop At The Speed Of Thought
Develop At The Speed Of ThoughtRoy Ganor
 
Improving code quality using CI
Improving code quality using CIImproving code quality using CI
Improving code quality using CIMartin de Keijzer
 
Easy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialEasy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialWidoyo PH
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementWidoyo PH
 
Spark + AI Summit recap jul16 2020
Spark + AI Summit recap jul16 2020Spark + AI Summit recap jul16 2020
Spark + AI Summit recap jul16 2020Guido Oswald
 
JPA Week3 Entity Mapping / Hexagonal Architecture
JPA Week3 Entity Mapping / Hexagonal ArchitectureJPA Week3 Entity Mapping / Hexagonal Architecture
JPA Week3 Entity Mapping / Hexagonal ArchitectureCovenant Ko
 
H2O PySparkling Water
H2O PySparkling WaterH2O PySparkling Water
H2O PySparkling WaterSri Ambati
 
Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...
Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...
Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...PyData
 

Ähnlich wie 20160331_Automate the boring stuff with python (20)

Django - Python MVC Framework
Django - Python MVC FrameworkDjango - Python MVC Framework
Django - Python MVC Framework
 
Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
 
Introduction of R on Hadoop
Introduction of R on HadoopIntroduction of R on Hadoop
Introduction of R on Hadoop
 
Ladypy 01
Ladypy 01Ladypy 01
Ladypy 01
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
 
Learn python
Learn pythonLearn python
Learn python
 
Data Mining with SpagoBI suite
Data Mining with SpagoBI suiteData Mining with SpagoBI suite
Data Mining with SpagoBI suite
 
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
 
Writing Fast Code - PyCon HK 2015
Writing Fast Code - PyCon HK 2015Writing Fast Code - PyCon HK 2015
Writing Fast Code - PyCon HK 2015
 
Make your PySpark Data Fly with Arrow!
Make your PySpark Data Fly with Arrow!Make your PySpark Data Fly with Arrow!
Make your PySpark Data Fly with Arrow!
 
Develop At The Speed Of Thought
Develop At The Speed Of ThoughtDevelop At The Speed Of Thought
Develop At The Speed Of Thought
 
Improving code quality using CI
Improving code quality using CIImproving code quality using CI
Improving code quality using CI
 
Easy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & MercurialEasy Web Project Development & Management with Django & Mercurial
Easy Web Project Development & Management with Django & Mercurial
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Spark + AI Summit recap jul16 2020
Spark + AI Summit recap jul16 2020Spark + AI Summit recap jul16 2020
Spark + AI Summit recap jul16 2020
 
JPA Week3 Entity Mapping / Hexagonal Architecture
JPA Week3 Entity Mapping / Hexagonal ArchitectureJPA Week3 Entity Mapping / Hexagonal Architecture
JPA Week3 Entity Mapping / Hexagonal Architecture
 
AppengineJS
AppengineJSAppengineJS
AppengineJS
 
H2O PySparkling Water
H2O PySparkling WaterH2O PySparkling Water
H2O PySparkling Water
 
Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...
Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...
Massively Parallel Processing with Procedural Python by Ronert Obst PyData Be...
 

Kürzlich hochgeladen

Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming languageSmritiSharma901052
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodManicka Mamallan Andavar
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingBootNeck1
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosVictor Morales
 

Kürzlich hochgeladen (20)

Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming language
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument method
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
System Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event SchedulingSystem Simulation and Modelling with types and Event Scheduling
System Simulation and Modelling with types and Event Scheduling
 
KCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitosKCD Costa Rica 2024 - Nephio para parvulitos
KCD Costa Rica 2024 - Nephio para parvulitos
 

20160331_Automate the boring stuff with python

  • 1. Copyright@ 2016 All reserved by KrDAG AUTOMATE THE BORING STUFF WITH PYTHON 삶을 윤택하게 해주는 코딩 KRDAG 장성만 (frontjang@naver.com)
  • 2. Copyright@ 2016 All reserved by KrDAG  Part 1 - The Basics of Python Programming (~143p)  Introduction / Python Basics / Flow Control / Functions  Lists / Dictionaries and Structuring Data / Manipulating Strings  Part 2 - Automating Tasks (~439p)  Pattern Matching with Regular Expressions  Reading and Writing Files / Organizing Files  Debugging / Web Scraping  Working with Excel Spreadsheets  Working with PDF and Word Documents  Working with CSV Files and JSON Data  Time, Scheduling Tasks, and Launching Programs  Sending Email and Text Messages  Manipulating Images  Controlling the Keyboard and Mouse with GUI Automation 책 소개 Automate the Boring Stuff with Python https://automatetheboringstuff.com/ https://github.com/iliyahoo/Automate-The-Boring-Stuff-With-Python
  • 3. Copyright@ 2016 All reserved by KrDAG  Comparison to Java / C++  Python run slower; but take much less time to develop.  3-5 times shorter than Java, 5-10 times shorter than C++  no type declaring, powerful polymorphic list and dictionary types  Python as a "glue" language, while others as a low-level implementation language.  Everything in python is an object, and it sits on the heap  Python is similar to Java  Python is interpreted language while C++ is a compiled language  Python class members are determined at run-time  C++ has no has automatic memory management (garbage collection)  Python have a full set of reflection capabilities; Serialization by pickle.saves() WHY PYTHON? Trade-off between Productivity and Performance? https://www.python.org/doc/essays/comparisons/ https://www.quora.com/What-is-the-difference-between-Python-and-C++#!n=12
  • 4. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Python 기초배우기
  • 5. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Chapter 1. Python Basics https://en.wikipedia.org/wiki/High_availability #include <stdio.h> int main() { float percent; scanf("%f", &percent); printf("%f",(100-percent)*0.01*365*24*60); return 0; } gcc –o main main.c ./main
  • 6. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Chapter 2. Flow Control @cafepear
  • 7. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Chapter 2. Flow Control http://www.soccerline.co.kr/slboard/view.php? uid=1988123089&page=41&code=totalboard
  • 8. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Chapter 3. Functions
  • 9. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Chapter 4. Lists
  • 10. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Chapter 5. Dictionaries and Structuring Data http://kin.naver.com/qna/detail.nhn?d1id=3&dirId=30104&docId=201995942&qb=7Jew7JiI7J24I DEwMOuqhQ==&enc=utf8&section=kin&rank=1&search_sort=0&spq=0
  • 11. Copyright@ 2016 All reserved by KrDAG PART 1 - THE BASICS OF PYTHON PROGRAMMING Chapter 6. Manipulating Strings
  • 12. Copyright@ 2016 All reserved by KrDAG PART 2 - AUTOMATING TASKS Python 활용하기
  • 13. Copyright@ 2016 All reserved by KrDAG PART 2 - AUTOMATING TASKS Chapter 7. Pattern Matching with Regular Expressions
  • 14. Copyright@ 2016 All reserved by KrDAG PART 2 - AUTOMATING TASKS Chapter 8/9. Reading and Writing Files / Organizing Files
  • 15. Copyright@ 2016 All reserved by KrDAG PART 2 - AUTOMATING TASKS Chapter 11. Web Scraping http://xkcd.com/927/
  • 16. Copyright@ 2016 All reserved by KrDAG PART 2 - AUTOMATING TASKS Chapter 13. Working with PDF and Word Documents https://github.com/rk700/PyMuPDF
  • 17. Copyright@ 2016 All reserved by KrDAG PART 2 - AUTOMATING TASKS Chapter 18. Controlling the Keyboard and Mouse with GUI Automation
  • 18. Copyright@ 2016 All reserved by KrDAG APPENDIX Goorm위에서 개발하기 http://www.goorm.io/
  • 19. Copyright@ 2016 All reserved by KrDAG
  • 20. Copyright@ 2016 All reserved by KrDAG
  • 21. Copyright@ 2016 All reserved by KrDAG
  • 22. Copyright@ 2016 All reserved by KrDAG
  • 23. Copyright@ 2016 All reserved by KrDAG
  • 24. Copyright@ 2016 All reserved by KrDAG
  • 25. Copyright@ 2016 All reserved by KrDAG
  • 26. Copyright@ 2016 All reserved by KrDAG
  • 27. Copyright@ 2016 All reserved by KrDAG
  • 28. Copyright@ 2016 All reserved by KrDAG
  • 29. Copyright@ 2016 All reserved by KrDAG