introduction to python 3 2nd round

Post on 20-Feb-2017

83 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Youhei Sakurai, TC, CSS, YSJ

EU-US time zone, 31 October, 2016

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.

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.

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

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.

What’s PythonMake Python ready

Make yourself ready

Get breadcrumb list

Python is,,,

• Programing language like Java, C, Perl, Ruby, etc

• Easy to run because of cross platform scripting language

• Clear look & feel thanks to language design and culture hating magics

• Able do anything (multi-purpose glue language) except writing OS/drivers

• Used everywhere e.g. in Amazon, Google, Yahoo, Dropbox, NASA, etc

Most attractive features

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

integration, thread/process pooling, async I/O, serialization, etc.

•More batteries invented• Intelligences are innovating technologies all over the world day by day.• You can try the innovations using pip through the Internet.

•Easier than English• Even I can write Python codes better than English email. • All you need is not LOVE but intelligence with a little knowledge about Python.

My favorites

• Python runs everywhere

• Python allows me to explain things very clearly

A few disadvantages

• Slower than C/C++ and assembly

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

• Jython and IronPython falls much behind CPython

• Weaker multithreading due to GIL in CPython

Who cares?

So Python could be also,,,

Something special making your professional life much more brilliant never ever before!!

A bit more about Python

History of Python• Created in 1989 by Guido Van Rossum

• Python 2.7 released in 2010

• Python 3.5 released in 2015

PEP 404 - No 2.8 planned

PEP 373 - EOL of 2.7 planed in 2020

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

• Explicit is better than implicit.

• Simple is better than complex.

What’s Python

How Python looks likeMake Python ready

Make yourself ready

Get breadcrumb list

How Python looks like

Interactive shell

• Just run `python` or `python3`

Script

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

2. Save it as UTF-8 text file

3. Run `python script.py`

Version info

Type any codes

Differentiations from C style code

1. `:` + 4x space 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

What’s PythonHow Python looks like

Let’s set up PythonMake Python ready

Make yourself ready

Get breadcrumb list

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

Where to install?

`C:¥Python35` and `C:¥Python35-x64` IMHO

Let’s install ipython using pip

1. Ensure connectivity to the Internet

2. Type `pip install ipython`

3. Hit [Enter]

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

• `?` -> show help

• `??` -> show source

• `_` -> refer last output

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

What’s PythonHow Python looks like

Let’s set up Python

“Hello world!”✓Make Python ready

Make yourself ready

Get breadcrumb list

“Hello world!”

1. Run `python` or `ipython`

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

3. Hit [Enter]

How Python looks likeLet’s set up Python

“Hello world!”

Do basic practices✓Make Python ready

Make yourself ready

Get breadcrumb list

Differentiations from C style code

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

Do basic practices – if … elif … else

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Do basic practices – list, len(…)

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

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

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Do basic practices – while …, import

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

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

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

str object v.s. bytes object

str – String

"text"

bytes – Binary data

b"¥x74¥x65¥x78¥x74"

(= b"text")

"text".encode()

b"text".decode()

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

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Do basic practices – urlopen

1. Run `ipython`

2. Type code(s)

3. Hit [Enter]

Let’s set up Python“Hello world!”

Do basic practices

Your first scripting✓Make Python ready

✓Make yourself ready

Get breadcrumb list

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?

“Hello world!”Do basic practices

Your first scripting

Study materials✓Make Python ready

✓Make yourself ready

Get breadcrumb list

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

Congratulations!! ✓Make Python ready

✓Make yourself ready

✓Get breadcrumb list

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

top related