Python novice to ninja

Post on 19-May-2015

327 views 14 download

Tags:

transcript

PYTHON FROM NOVICE TO NINJA.WORKSHOP BY @ALSAYEDGAMAL

WARNING: BEGINNERS ONLY SESSIONWELL, IT’S OK TO JOIN IF YOU HAVE NO PYTHON EXPERIENCE.

AGENDA

• Motivation.

• Python essentials.*

• Basic application development.*

• Tips and tricks.

• Your python track.

*= HANDS ON

MOTIVATIONWHY PYTHON ?

WHY PYTHON?

• It’s Open source.

• Cross platform.

• Easy to learn.

• No boiler plates.

• Dynamic(to be explained in code).

• Community.?

OPEN SOURCEOPEN SOURCE == FREEDOM.

CROSS PLATFORMWRITE ONCE, RUN EVERYWHERE.

EASY TO LEARNIT TAKES > 10 SECONDS TO WRITE YOUR HELLO, WORLD.

SYSTEM.OUT.PRINT(“HELLO,WORLD”);IT TAKES 1 LINE TO YOUR “HELLO, WORLD”

FROM 29TH TO 8TH IN < 7 YEARS*IT’S 8TH TOO IN 2013.

*TOIBE.COM | TIOBE PROGRAMMING COMMUNITY INDEX FOR NOVEMBER 2013

FROM 29TH TO 8TH IN < 7 YEARS*IT’S 8TH TOO IN 2013.

*TOIBE.COM | TIOBE PROGRAMMING COMMUNITY INDEX FOR NOVEMBER 2013

–Steve Jobs

“Innovation distinguishes between a leader and a follower.”

PYTHON ESSENTIALS

• Scripting nature.

• Basic data types.

• Operators.

• Flow control.

• Functions are fun.

• Modules.

• OOP.

EXPRESSION IN PYTHON.

EXPRESSIONvariable = 3 + 2

EXPRESSION IN PYTHON.

EXPRESSIONvariable = 3 + 2

OPERATORS

OPERANDS

EXPRESSION IN PYTHON.

EXPRESSIONvariable = 3 + 2

OPERATORS

OPERANDSVariablesx,name, __len__

Data5, “hello”,

[1,2,3]

EXPRESSION IN PYTHON.

EXPRESSIONvariable = 3 + 2

OPERATORS

OPERANDS

+ * = / %[] () > = & != |

Variablesx,name, __len__

Data5, “hello”,

[1,2,3]

PYTHON BLOCKS

def foo(x,y):

function body

class class_name(parent):

class definition

if condition:

If block

for item in structure:

for block

LoopBranching

Class definitionFunction definition

GETTING YOUR HANDS DIRTYTIME TO EXPLAIN IN CODE.

BEFORE WE START

• If you are linux or unix based you are good to go.

• Else If you are on windows (I hope not) download and install

• sublime text editor

• python runtime

• Our code will be perfect for Python 2.x and may be 3.x.

SORTED?

MEDIA.PY

P1: Tawfik Okasha

P2: Amr Adib

SCRIPT HIGHLIGHTS.

• Basic expression (variable assignment).

• User input and output.

• Function definition / passing function as variable.

• List data-type.

• Basic sorting.

NEXT: SHAPING YOUR EXPERIENCESYSTEM ADMIN, WEB, DESKTOP, NETWORK, GAME DEVELOPMENT,…

QUESTIONS?

THANKS