Introduction to python 3

1

Transcript of Introduction to python 3

Page 1: Introduction to python 3

Introduction to Python 3“Your first scripting in Python 3.x” workshop

Youhei Sakurai, TC, CSS, YSJ

APAC-EU time zone, 30th September, 2016

Page 2: Introduction to python 3

Youhei Sakurai

• Intermediate Pythonista• Started to learn Python in 2010.

• Have been introducing Python several times since 2011.

• Publishing one package on PyPI – PyMemoryModule.

• My name is written in change log of lxml 3.6.0.

Page 3: Introduction to python 3

Rules

• Will finish on time even if some of topics are not completed.

• Turn on your web-cam to enhance your active involvement.

• Raise your questions to drive bi-directional communication.

• If it is beyond beginner’s level, I’d suggest to have separate call.

• If there’re too many, I’d select rather important ones for everyone.

• Stay sharp with your text editor and Python installer.

Page 4: Introduction to python 3

Agenda

• What’s Python

• How Python looks like

• Let’s set up Python

• “Hello world!”

• Do basic practices

• Your first scripting

• Study materials

• Kahoot quiz

Page 5: Introduction to python 3

Goals

• Make Python ready on your workstation.

• Make yourself ready in the Python 3.x Ocean.

• Get breadcrumb list to learn Python 3.x.

• And... Let you get high score at Kahoot quiz.

Page 6: Introduction to python 3

What’s PythonMake Python ready

Make yourself ready

Get breadcrumb list

Page 7: Introduction to python 3

What’s Python

• One of programing languages like Java, C, Perl, Ruby, etc

• No compilation, no type definitions, no magic, no callback hell

• Well documented, cross platform, multi-purpose glue language

• Used in Amazon, Google, Yahoo, Dropbox, NASA, etc

OK, but why Python?

Page 8: Introduction to python 3

Why Python

• Batteries included• Web server, database, GUI, networking, regex, XML, JSON, archiving, C/C++

integration, package manager, async I/O, serialization, etc.

• Not a toy, powerful enough• Can write anything from one tiny script to large scaled enterprise application.

• Defacto standard language in IT industry• Even I can write Python codes better than English email.

Sounds like none of my business…

Page 9: Introduction to python 3

Why Python for you

• Python runs anywhere• You can carry the most professional toolset everywhere

• Python makes sense very well

So, is Python perfect?

Page 10: Introduction to python 3

A few disadvantages in Python

• Slower than C/C++ and assembly

• No JIT (Just-In-Time) compiler equipped in CPython

• GIL (Global Interpreter Lock) prevents real parallelism in CPython

• Jython and IronPython falls much behind CPython

Who cares?

Page 11: Introduction to python 3

So what’s Python…

Python is the professional toolset never ever invented before!!

Page 12: Introduction to python 3

A bit more about Python

History of Python• Created in 1989 by Guido Van Rossum

• Python 1.0 released in 1994

• Python 2.0 released in 2000

• Python 3.0 released in 2008

• Python 2.7 released in 2010

• Python 3.5 released in 2015

• No Python 2.8 planned (*1)

• EOL of Python 2.7 planed in 2020 (*2)

*1 … PEP 404, *2 … PEP 373

Zen of Python (by Tim Peters)• Beautiful is better than ugly.

• Explicit is better than implicit.

• Simple is better than complex.

• Complex is better than complicated.

• Flat is better than nested.

• Sparse is better than dense.

• Readability counts.

• Special cases aren't specialenough to break the rules.

Page 13: Introduction to python 3

What’s Python

How Python looks likeMake Python ready

Make yourself ready

Get breadcrumb list

Page 14: Introduction to python 3

How Python looks like

Interactive shell - Windows

• Just run `python`

Interactive shell - Unix

• Just run `python` or `python3`

Version infoType any codes you want to run

Page 15: Introduction to python 3

How Python looks like

Script

1. Create e.g. `script.py` file

2. Save it as UTF-8 text file

Command line interface

• Run `python script.py`

No logo output by default

Page 16: Introduction to python 3

What’s PythonHow Python looks like

Let’s set up PythonMake Python ready

Make yourself ready

Get breadcrumb list

Page 17: Introduction to python 3

Let’s set up Python

Windows / Mac OS X

1. Download installer

2. Double-click installerWindows

-> Add Python to PATH

Mac OS X

-> Do NEVER fix system Python

3. Complete installation

Linux (Debian/Ubuntu)

1. Retrieve packages listapt-get update

2. Install Python 3.xapt-get install python3

3. Install pipapt-get install python3-pip

Page 18: Introduction to python 3

Where’s standard location on Windows?

`C:¥Python35` and `C:¥Python35-x64` are typical path IMHO

Page 19: Introduction to python 3

pip and ipython

• pip … Package manager in Python• Packages are on public repository similarly with apt, ppm, npm, etc

• ipython … Enhanced interactive shell• [TAB] -> completion

• `?` -> help

• `??` -> see source

• `_` -> last output

• Auto indentation, [Ctrl]+c capturing, search ([Ctrl]+r), etc

Page 20: Introduction to python 3

Let’s install ipython using pip

1. Ensure connectivity to the Internet

2. Type `pip install ipython`

3. Hit [Enter]

Page 21: Introduction to python 3

What’s PythonHow Python looks like

Let’s set up Python

“Hello world!”✓Make Python ready

Make yourself ready

Get breadcrumb list

Page 22: Introduction to python 3

“Hello world!”

1. Run `python` or `ipython`

2. Type `print(“Hello world!”)`

3. Hit [Enter]

Page 23: Introduction to python 3

How Python looks likeLet’s set up Python

“Hello world!”

Do basic practices✓Make Python ready

Make yourself ready

Get breadcrumb list

Page 24: Introduction to python 3

Differentiations from C style

1. `:` + indentation instead of `{ … }`

2. Pascal-like operators -> `and` `or` `not`

3. Bash-like comment -> starting with `#`

4. No difference between `’` and `”`

5. No need to put `;` at the end of line

sample.py sample.c

Page 25: Introduction to python 3

Do basic practices – if … elif … else

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Page 26: Introduction to python 3

Do basic practices – list, len(…)

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Page 27: Introduction to python 3

Do basic practices – for … in …, range(…)

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Page 28: Introduction to python 3

Do basic practices – while …, import

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Page 29: Introduction to python 3

Do basic practices – open, “…”, b”…”

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Page 30: Introduction to python 3

str object v.s. bytes object

str – String

"text"

bytes – Binary data

b"¥x74¥x65¥x78¥x74"

(= b"text")

"text".encode()

b"text".decode()

Page 31: Introduction to python 3

Do basic practices – open, “…”, b”…”

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Page 32: Introduction to python 3

Do basic practices – urlopen

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Page 33: Introduction to python 3

Let’s set up Python“Hello world!”

Do basic practices

Your first scripting✓Make Python ready

✓Make yourself ready

Get breadcrumb list

Page 34: Introduction to python 3

Your first scripting

• I am going to write dummy Web server.• My script will do:

• Listen on 80/tcp.• Accept incoming connections.• Respond random number of words.

• You are going to write HTTP client.• Your script will do:

• Access server via HTTP.• Read content from response object. <- How to decode binary data?• Split content by white space. <- How to split string?• Print how many words in response. <- How to count list of strings?

Page 35: Introduction to python 3

“Hello world!”Do basic practices

Your first scripting

Study materials✓Make Python ready

✓Make yourself ready

Get breadcrumb list

Page 36: Introduction to python 3

Study materials

• The Python Tutorial• Describes all you need to know about Python

• Learn Python the Hard Way• Gives practical tasks to make you able to write Python codes

• GitHub• Guides how you should write well-mannered Python codes

Page 37: Introduction to python 3

Congratulations!! ✓Make Python ready

✓Make yourself ready

✓Get breadcrumb list

Page 38: Introduction to python 3

Thank you for your participation.Open Kahoot! - https://kahoot.it