• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Python for High School Programmers
 

Python for High School Programmers

on

  • 832 views

 

Statistics

Views

Total Views
832
Views on SlideShare
702
Embed Views
130

Actions

Likes
0
Downloads
10
Comments
2

1 Embed 130

http://in.pycon.org 130

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Python for High School Programmers Python for High School Programmers Presentation Transcript

    • Python for HighSchool Programmers April 06, 2013Sivasubramaniam Arunachalam @sivaa_in
    • It’s me!• Application Developer • Web/Enterprise/Middleware/B2B • Java/Java EE, Python/Django • 2002• Technical Consultant• Process Mentor• Speaker
    • It’s about you!Have you written a code recently? Yes / No / Never It doesn’t matter!
    • Agenda• Background• Concepts• Basics• Demo
    • for / elsefor ( int i = 0; i < 10; i++ ) { ……} else { ……}
    • Back in 1989
    • Guido van Rossum http://www.python.org/~guido/images/guido91.gif
    • https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRsHF89zT2tSdsm45hFYDaJPocfpwIM_Eh76pjKbTzZI2dxArWa
    • http://upload.wikimedia.org/wikipedia/en/9/9a/CompleteFlyingCircusDVD.jpg
    • High Level Language
    • Dynamic / Scripting Language
    • Zen of Python• 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 arent special enough to break the rules.• Although practicality beats purity.• Errors should never pass silently.• Unless explicitly silenced.• In the face of ambiguity, refuse the temptation to guess.• There should be one-- and preferably only one --obvious way to do it.• Although that way may not be obvious at first unless youre Dutch.• Now is better than never.• Although never is often better than *right* now.• If the implementation is hard to explain, its a bad idea.• If the implementation is easy to explain, it may be a good idea.• Namespaces are one honking great idea -- lets do more of those!
    • Why?
    • Clean / Clear Syntax
    • Less Key Words 31
    • Portable • Servers / Desktops / Mobile Devices / Raspberry Pi • Windows/Unix/Linux/Mac • Pre-installed in Mac and Linux
    • Multi-Language Support • CPython • Jython • IronPython
    • Multi-Paradigm • Functional / Procedural / Object Oriented
    • Easy to Learn
    • Highly Readable
    • No Variable Declaration
    • More Productivity...the lines of Python code were 10% of the equivalent C++ code. - Greg Stein
    • Batteries Included
    • Open Source
    • Where I can use?• Stand-Alone Application• Desktop/GUI Application• Web Application• XML Processing• Database Application• Network Application• Scientific Application• Gaming• Robotics
    • Some One using it?
    • Hello World!
    • Installation / Tools • Interpreter • Script Editor
    • . py .pyc .pyo .pyd
    • Optimized Code • Faster Execution • Less CPU Cycles
    • Increment ‘i’ by 1 i++ i=i+1 ADD #1,A1 [A1] ← [A1] + 1
    • Machine Instructions / Line of Code (LoC)
    • Assembly Language 1-2System Languages 3-7Scripting Languages 100 - 1K
    • Current Versions 2.7.3 & 3.3.0
    • The Prompt >>>
    • How to run?C:> python my_program.py
    • Let’s Start• Start / Exit• Simple print• Zen of Python• Keywords• Help
    • Variables
    • <type> var_name = val; int int_ex = 10; int_ex = 10
    • int_ex = 10long_ex = 1000000000000Lfloat_ex = 1.1string_ex = “Welcome”boolean_ex = True
    • type()
    • print type(int_ex)print type(long_ex)print type(float_ex)print type(string_ex)print type(boolean_ex)
    • boolean_one = True boolean_two = Falseprint boolean_one and boolean_twoprint boolean_one or boolean_twoprint not boolean_two
    • int_one = 11 int_two = 5print int_one / int_twoprint float(int_one) / float(int_two)print float(int_one) / int_twoprint int_one / float(int_two)
    • type casting
    • int_ex = 11 float_ex = 8.8 boolean_ex = Trueprint float (int_ex)print int (float_ex)print int (boolean_ex)
    • int_one = 11 int_two = 5print int_one + int_twoprint int_one - int_twoprint int_one * int_twoprint int_one / int_twoprint int_one % int_twoprint int_one ** int_two
    • int_one = 11 int_two = 5print int_one > int_twoprint int_one >= int_twoprint int_one < int_twoprint int_one <= int_twoprint int_one == int_twoprint int_one != int_two
    • Lets do some Maths
    • import math (or)from math import sqrt
    • dir (math)
    • int_one = 11 int_two = 5import mathprint math.sqrt (int_one) import mathfrom math import factorial print math.piprint factorial (int_two)
    • Lets Talk to the User
    • raw_input() (or)raw_input([prompt_string])
    • user_input = raw_input()print “You have Entered “ , user_inputuser_input = raw_input(“Input Please : “)print type(user_input)
    • int_one = raw_input (“Number 1 : “)int_two = raw_input (“Number 2 : “)print int_one + int_twoprint int(int_one) + int(int_two)
    • The Nightmare Strings
    • “Hey, What’s up?”
    • ‘ ’ “ ”“““ ””” ‘‘‘ ’’’
    • print ‘ example text ’print “ example text ”print “““ example of long ….. …. text ”””print ‘‘‘ example of long ….. …. text ’’’
    • print ‘ String with “double” quotes ’print “String with ‘single’ quote ”print ““ Hey what‘s up””print ‘“ Hey what‘s up”’print “““ “ Hey what‘s up ” ”””print ‘‘‘ “ Hey what‘s up ” ’’’
    • Don’t Mess with Quotes
    • Collections
    • 0 1 2 3 4 510 10.1 ‘A’ ‘ABC’ 2 True-6 -5 -4 -3 -2 -1
    • 0 1 2 3 4 5 10 10.1 ‘A’ ‘ABC’ 2 True -6 -5 -4 -3 -2 -1list_ex = [ 10, 10.1, ‘A’, ‘ABC’, 2, True ]tuple_ex = ( 10, 10.1, ‘A’, ‘ABC’, 2, True )
    • List [] vs Tuple ()
    • 0 1 2 3 4 5 10 10.1 ‘A’ ‘ABC’ 2 True -6 -5 -4 -3 -2 -1tuple_ex = ( 10, 10.1, ‘A’, ‘ABC’, 2, True )• tuple_ex[0] • tuple_ex[-6]• tuple_ex[1] • tuple_ex[-5]• tuple_ex[2] • tuple_ex[-4]• tuple_ex[3] • tuple_ex[-3]• tuple_ex[4] • tuple_ex[-2]• tuple_ex[5] • tuple_ex[-1]
    • Tuple / List Tricks
    • tuple_ex = (100, )list_ex = [100, ]tuple_ex = tuple(‘gobi’)list_ex = list(‘gobi’)
    • Lets Slice!
    • 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1list_ex = [1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, ] print list_ex[:3] print list_ex[3:] print list_ex[:-3] print list_ex[-3:]
    • 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10-10 -9 -8 -7 -6 -5 -4 -3 -2 -1list_ex = [1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, ] print list_ex[0:1] print list_ex[0:2] print list_ex[-2:-1] print list_ex[-3:-1]
    • 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10-10 -9 -8 -7 -6 -5 -4 -3 -2 -1list_ex = [1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, ] print list_ex[0:10:2] print list_ex[1:10:2]
    • 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10-10 -9 -8 -7 -6 -5 -4 -3 -2 -1list_ex = [1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, ] print len(list_ex) print max(list_ex) print min(list_ex)
    • Lets Join!
    • city = list(‘gobi’)city[len(city):] = “chettipalayam” “”.join(city)
    • ipl_teams = [‘CSK’, ‘DD’, ‘KXIP’, ‘KKR’, ‘MI’, ‘PWI’, ‘RR’, ‘RCB’, ‘SRH’,] “, ”.join(ipl_teams)
    • str_ipl_teams = “, ”.join(ipl_teams)list_ipl_teams = list(str_ipl_teams )list_ipl_teams[str_ipl_teams.rfind(", ")] = " and“print "".join(list_ipl_teams)
    • ipl_teams = [‘CSK’, ‘DD’, ‘KXIP’, ‘KKR’, ‘MI’, ‘PWI’, ‘RR’, ‘RCB’,] ipl_teams.append(‘SRH’)
    • ipl_teams = [‘CSK’, ‘DD’, ‘KXIP’, ‘KKR’, ‘MI’, ‘PWI’, ‘RR’, ‘RCB’,] ipl_teams.remove(‘SRH’) del ipl_teams[-1]
    • ipl_teams = [‘CSK’, ‘DD’, ‘KXIP’, ‘KKR’, ‘MI’, ‘PWI’, ‘RR’, ‘RCB’,] ipl_teams.insert (1, ‘SRH’)
    • ipl_teams = [‘CSK’, ‘SRH’, ‘DD’, ‘KXIP’, ‘KKR’, ‘MI’, ‘PWI’, ‘RR’, ‘RCB’,] ipl_teams.sort()
    • The Control Flow
    • Lets begin with a Search
    • list_ex = [1, 2, 3, 4, 5]print 3 in list_ex1
    • title_winners = [‘CSK’, ‘RR’, ‘DC’, ‘KKR’]print ‘CSK’ in title_winners
    • my_city = “Gobichettipalayam”print ‘chetti’ in my_city
    • while
    • i=1while i <= 10: print i, i=i+1
    • for
    • for i in range(1, 11): print i,
    • for i in range(11): if i % 2 == 0: print i
    • for i in range(11): if i % 2 == 0: print “Even : ”, i else : print “Odd: ”, i
    • for i in range(11): if i == 0: pass elif i % 2 == 0: print “Even : ”, i else : print “Odd: ”, i
    • for i in range(11): if i == 0: continue elif i % 2 == 0: print “Even : ”, i else : print “Odd: ”, i
    • for i in range(11): if i == 0: break elif i % 2 == 0: print “Even : ”, i else : print “Odd: ”, i
    • title_winners = [CSK, RR, DC, KKR]for team in title_winners: print team,
    • for i in range(11): print i,else: print “No Break executed in for”
    • Null Factor None
    • list_ex = []if list_ex: print “List is not Empty”else: print “List is Empty”
    • list_ex = Noneif list_ex: print “List is not None”else: print “List is None”
    • Error Handling
    • The OO Python
    • Thank You! siva@sivaa.inbit.ly/sivaa_in bit.ly/sivasubramaniam
    • Referenceshttp://www.slideshare.net/narendra.sisodiya/python-presentation-presentationhttp://www.f-106deltadart.com/photo_gallery/var/albums/NASA-Research/nasa_logo.png?m=1342921398http://www.seomofo.com/downloads/new-google-logo-knockoff.pnghttp://www.huntlogo.com/wp-content/uploads/2011/11/US-Navy-Logo.pnghttp://3.bp.blogspot.com/_7yB-eeGviiI/TUR471pyRpI/AAAAAAAAIBI/X705lo5Gjqc/s1600/Yahoo_Logo24.JPGhttp://www.thetwowayweb.com/wp-content/uploads/2012/09/youtube_logo.png