C++, Java etc... Very important advantages (among many) : #python101 Its faster to write a solution in Python! Code is extremly readable Its very easy to learn Many utilities come with the language directly. · · · · 3/31
u d e < i o s t r e a m . h > i n t m a i n ( ) { c o u t < < " H e l l o W o r l d " ; r e t u r n 0 ; } C + + · p u b l i c c l a s s H e l l o W o r l d { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { S y s t e m . o u t . p r i n t l n ( " H e l l o , W o r l d " ) ; } } J A V A · p r i n t ' H e l l o W o r l d . ' # A r e y o u s e r i o u s ? J u s t o n e l i n e ? P Y T H O N 5/31
script · - $ p y t h o n P y t h o n 2 . 7 . 2 ( d e f a u l t , O c t 1 1 2 0 1 2 , 2 0 : 1 4 : 3 7 ) [ G C C 4 . 2 . 1 C o m p a t i b l e A p p l e C l a n g 4 . 0 ( t a g s / A p p l e / c l a n g - 4 1 8 . 0 . 6 0 ) ] o n d a r w i n T y p e " h e l p " , " c o p y r i g h t " , " c r e d i t s " o r " l i c e n s e " f o r m o r e i n f o r m a t i o n . > > > p r i n t ' H e l l o W o r l d . ' H e l l o W o r l d . > > > P Y T H O N · - $ c a t h e l l o . p y p r i n t ' H e l l o W o r l d . ' $ p y t h o n h e l l o . p y H e l l o W o r l d . S H E L L 7/31
2 5 > > > 5 * 3 1 5 > > > 5 - 2 3 > > > 5 * * 4 6 2 5 > > > 5 / 9 0 > > > 5 / 9 . 0 0 . 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 > > > 5 % 2 1 > > > t y p e ( 4 ) < t y p e ' i n t ' > > > > t y p e ( 5 / 9 . 0 ) < t y p e ' f l o a t ' > P Y T H O N 9/31
x = 5 or i = 1 0 . Define variable names with m e a n i n g I say! #python101 Dynamic Typing · No explicit T y p e declarations are required. Type checking is done at R u n - T i m e - - > > > s t u d e n t s _ c o u n t = 5 0 > > > t o t a l _ g r o u p s = 1 0 > > > n u m _ o f _ s t u d e n t s _ i n _ e a c h _ g r o u p = s t u d e n t s _ c o u n t / t o t a l _ g r o u p s > > > n u m _ o f _ s t u d e n t s _ i n _ e a c h _ g r o u p 5 P Y T H O N 10/31
strings Concatentation · > > > g r e e t i n g = ' h e l l o ! ' > > > p r i n t g r e e t i n g h e l l o ! P Y T H O N · > > > t e x t = ' ' ' t h e q u i c k b r o w n f o x j u m p e d o n m e ( y e s t h a t s m e , n o t t h e . . . l a z y c a t ) a n d a t e m y l u n c h . I d o n t k n o w w h y ! T h e G o d s m u s t b e c r a z y I s a y ! ' ' ' > > > P Y T H O N · > > > ' R a m e s h ! ' + ' S u r e s h ! ' + ' C a n y o u g i v e m e y o u r F i v e - S t a r ' ' R a m e s h ! S u r e s h ! C a n y o u g i v e m e y o u r F i v e - S t a r ? ' P Y T H O N 11/31
e = ' R a m e s h ' > > > p r i n t ' G o o d M o r n i n g % s ' % n a m e G o o d M o r n i n g R a m e s h P Y T H O N · > > > p r i n t ' G o o d M o r n i n g { 0 } ' . f o r m a t ( n a m e ) G o o d M o r n i n g R a m e s h P Y T H O N 12/31
2 0 F a l s e > > > 2 0 > 4 T r u e > > > 1 0 / 2 0 > 2 # D o n ' t c o n f u s e y o u r s e l f a n d o t h e r s . U s e b r a c k e t s I s a y ! F a l s e > > > x = 1 0 > > > 3 < x < 1 5 T r u e P Y T H O N 13/31
e n d = ' R a m e s h ' > > > i f f r i e n d = = ' R a m e s h ' : . . . p r i n t ' P l a y G a m e s T o g e t h e r ' . . . e l i f f r i e n d = = ' D a d ' : . . . p r i n t ' G i v e C o f f e e ' . . . e l s e : . . . p r i n t ' N o t i n v i t e d ' P l a y G a m e s T o g e t h e r P Y T H O N 14/31
an Array. #python101 · > > > s h o p p i n g _ i t e m s = [ ' M i l k ' , ' D o s a M i x ' , ' C h i c k e n ' , ' S o a p ' ] > > > g r e e t i n g s = [ 5 , 4 , 3 , 2 , 1 , ' H a p p y N e w Y e a r ! ' ] > > > t y p e ( g r e e t i n g s ) < t y p e ' l i s t ' > P Y T H O N · > > > g r e e t i n g s . a p p e n d ( 2 0 1 4 ) # L i s t s a r e m u t a b l e > > > h e l p ( l i s t ) # G i v e s a d e t a i l e d d e s c r i p t i o n o f a l l o p e r a t i o n s o n a l i s t P Y T H O N · > > > g r e e t i n g s [ 5 ] ' H a p p y N e w Y e a r ! ' > > > g r e e t i n g s [ - 1 ] 2 0 1 4 > > > g r e e t i n g s [ 2 : ] [ 3 , 2 , 1 , ' H a p p y N e w Y e a r ! ' , 2 0 1 4 ] P Y T H O N 15/31
b l e Data Structure to contain multiple items. #python101 · > > > g r e e t i n g s = ( 5 , 4 , 3 , 2 , 1 , ' H a p p y N e w Y e a r ! ' , 2 0 1 4 ) P Y T H O N · > > > t y p e ( g r e e t i n g s ) < t y p e ' t u p l e ' > > > > h e l p ( g r e e t i n g s ) # o r h e l p ( t u p l e ) t o k n o w m o r e a b o u t " t u p l e " P Y T H O N 16/31
name #python101 · > > > d e f g r e e t _ m e ( ) : . . . p r i n t ' H e l l o S t u d e n t s ' . . . > > > g r e e t _ m e ( ) H e l l o S t u d e n t s P Y T H O N · > > > d e f s q u a r e _ m e ( n u m b e r ) : . . . r e t u r n n u m b e r * n u m b e r . . . > > > s q u a r e _ m e ( 1 0 ) 1 0 0 P Y T H O N 17/31
b j e c t s #python101 The object (i.e., instance of the class) is passed i m p l i c i t l y to the method The method has access to all the data contained within the class · · · > > > c l a s s S t u d e n t ( o b j e c t ) : . . . d e f _ _ i n i t _ _ ( s e l f , n a m e ) : . . . s e l f . n a m e = n a m e . . . d e f p r i n t _ n a m e ( s e l f ) : . . . p r i n t s e l f . n a m e . . . > > > P Y T H O N · > > > s t u d = S t u d e n t ( n a m e = ' R a m e s h ' ) > > > s t u d . p r i n t _ n a m e ( ) R a m e s h P Y T H O N 19/31
to d o s o m e t h i n g with them #python101 There is no i = 0 , i + + business thankfully :D · > > > s h o p p i n g _ i t e m s = [ ' M i l k ' , ' D o s a M i x ' , ' C h i c k e n ' , ' S o a p ' ] > > > f o r i t e m i n s h o p p i n g _ i t e m s : . . . p r i n t ' I a m b u y i n g % s ' % i t e m . . . I a m b u y i n g M i l k I a m b u y i n g D o s a M i x I a m b u y i n g C h i c k e n I a m b u y i n g S o a p P Y T H O N 20/31
· > > > s h o p p i n g _ i t e m s = [ ( ' M i l k ' , 2 ) , ( ' D o s a M i x ' , 1 ) , ( ' S o a p ' , 3 ) ] P Y T H O N · > > > [ i t e m [ 1 ] f o r i t e m i n s h o p p i n g _ i t e m s ] # I s t h a t a s i n g l e l i n e f o r l o o p ? [ 2 , 1 , 3 ] P Y T H O N 21/31
q u e n c e · Access characters using indexes You can iterate over the characters using a for loop string.split() separator.join(sequence) string[::-1] - - - - > > > ' H u s b a n d W i f e ' . s p l i t ( ) [ ' H u s b a n d ' , ' W i f e ' ] P Y T H O N - - > > > ' ' . j o i n ( [ ' H u s b a n d ' , ' W i f e ' ] ) # T o g e t h e r f o r e v e r : D ' H u s b a n d W i f e ' P Y T H O N - - > > > ' H u s b a n d W i f e ' [ : : - 1 ] # I s t h a t a s t r i n g r e v e r s e ? ' e f i W d n a b s u H ' P Y T H O N 22/31
c a t h e l l o _ w o r l d . p y p r i n t ' H e l l o W o r l d ' p r i n t ' H o w m a n y t i m e s I h a v e t o w i s h t h e w o r l d " H e l l o " ? ' p r i n t ' A t l e a s t a m i l l i o n t i m e s ' S H E L L - > > > h e l l o _ f i l e = o p e n ( ' h e l l o _ w o r l d . p y ' ) > > > f o r l i n e i n h e l l o _ f i l e : . . . p r i n t l i n e . . . p r i n t ' H e l l o W o r l d ' p r i n t ' H o w m a n y t i m e s I h a v e t o w i s h t h e w o r l d " H e l l o " ? ' p r i n t ' A t l e a s t a m i l l i o n t i m e s b r o t h e r ! ' > > > P Y T H O N 23/31
e l l o _ f i l e = o p e n ( ' h e l l o _ w o r l d . p y ' , ' w ' ) > > > e x t r a _ l i n e s = [ ' W h y ? ' , ' I a m G a j i n i . ' ] > > > f o r l i n e i n e x t r a _ l i n e s : . . . h e l l o _ f i l e . w r i t e ( l i n e ) . . . > > > h e l l o _ f i l e . c l o s e ( ) # T h i s i s g o o d ! P Y T H O N · $ c a t h e l l o _ w o r l d . p y W h y ? I a m G a j i n i . S H E L L 24/31
t h aka C o n t e x t M a n a g e r · · > > > w i t h o p e n ( ' h e l l o _ w o r l d . p y ' , ' a ' ) a s h e l l o _ f i l e : . . . h e l l o _ f i l e . w r i t e ( ' O y e G a j i n i , Y o u r c a m e r a i s s t o l e n . A y y o ! ! ! ! ! ' ) . . . P Y T H O N · $ c a t h e l l o _ w o r l d . p y W h y ? I a m G a j i n i . O y e G a j i n i , Y o u r c a m e r a i s s t o l e n . A y y o ! ! ! ! ! S H E L L 25/31
e module o s module d a t e t i m e module · - > > > i m p o r t t i m e > > > t i m e . t i m e ( ) # A n e a s y w a y t o p r o f i l e c o d e b l o c k s 1 3 7 6 6 6 6 5 4 0 . 6 3 1 4 0 6 P Y T H O N · - > > > i m p o r t o s > > > o s . e n v i r o n P Y T H O N · - > > > i m p o r t d a t e t i m e > > > d a t e t i m e . d a t e . t o d a y ( ) d a t e t i m e . d a t e ( 2 0 1 3 , 8 , 1 7 ) P Y T H O N 26/31
associative arrays in other languages Nothing but an u n o r d e r e d set of k e y :v a l u e pairs · · - > > > s t u d e n t = { ' n a m e ' : ' N a n d a ' , ' r o l l ' : 5 2 2 , ' e d u ' : ' E n g i n e e r i n g ' } > > > t y p e ( s t u d e n t ) < t y p e ' d i c t ' > P Y T H O N - > > > s t u d e n t . k e y s ( ) [ ' e d u ' , ' n a m e ' , ' r o l l ' ] > > > s t u d e n t . v a l u e s ( ) [ ' E n g i n e e r i n g ' , ' N a n d a ' , 5 2 2 ] > > > s t u d e n t . i t e m s ( ) [ ( ' e d u ' , ' E n g i n e e r i n g ' ) , ( ' n a m e ' , ' N a n d a ' ) , ( ' r o l l ' , 5 2 2 ) ] P Y T H O N 28/31
a L i s t , we can i n d e x elements by their k e y s Using Keys to loop through the data · - > > > s t u d e n t [ ' n a m e ' ] ' N a n d a ' > > > s t u d e n t [ ' e d u ' ] ' E n g i n e e r i n g ' P Y T H O N · - > > > ' n a m e ' i n s t u d e n t T r u e > > > f o r f i e l d i n s t u d e n t : . . . p r i n t f i e l d , s t u d e n t [ f i e l d ] . . . e d u E n g i n e e r i n g n a m e N a n d a r o l l 5 2 2 P Y T H O N 29/31