+ Learn IT 2014: Python Basic programming + Agenda Python, PyCharm CE Basic programming concepts Creating an executable file Where to go from here using Py2Exe + Python Python version 2.7.6 (an interpreter) Py2Exe version 0.6.9 win32-py2.7.exe PyCharm Community Edition (an IDE) + Python Easy to learn High-level Available (simple syntax) scripting language on PC, Mac, Unix and Linux systems Drawing shapes Create web using Turtle Module apps, games, or search engine (such as Google) Lists of applications developed in Python https://wiki.python.org/moin/Applications + Programming Basic Elements Comments Data Types, Functions Turtle Loops Variables and Variables Declaration + Comments Are used to describe the meaning and purpose of your source code or program Can be Are thought of as notes for ourselves and others ignored by compilers and interpreters Should be included in all programs + Comments Types Single Multiline Examples # This is a single line comment. # This is multiline comments # comments line 2… + Programming Basic Elements Comments Data Types, Functions Turtle Loops Variables and Variables Declaration + Data Types Common data types: String – letters, numbers, and name = symbols “Ros” Numbers – integer and float a=1 # integer or int b = 3.5 # float Boolean – True or False x = True y = False List – array in other languages a_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] + Variables & Variables Declaration Used to store value or a piece of data Declaring variables: Should be something meaningful Can start with alphabet, and underscore but not number Case sensitive, i.e., name is not the same as Name + Examples Data Types Variable Declaration String my_str = “Ros” Integer my_int = 90 Float my_float = 90.87 Boolean my_bool = True Explanations my_str = variable; “Ros” = string value (notes the use of quotations) True is a value (note the use of an uppercase T and F) my_bool2 = False List my_list = [] my_list = varialbe [] = an empty list, which you can use append to add to the list my_list2 = [1, 2, 3] [1, 2, 3] = a list with some values + Comments and Variables Example + Programming Basic Elements Comments Data Types, Functions Turtle Loops Variables and Variables Declaration + Function A building block of code or a chunk of code that can be reused To define a function in Python, we used a keyword “def” Example + Function in Python Language Python Defining a function def drawline(): # your code here # your code here drawline() Explanations colon (:) tells Python that a block of code is coming next block of code (recommended 4 spaces indentation) calling drawline() function + Programming Basic Elements Comments Data Types, Functions Turtle Loops Variables and Variables Declaration + Turtle Turtle (cursor) graphics is a Python graphic package for creating vector graphics (scalable graphics) Turtle Three graphics module is included in Python things we need to know: Positions (distance) Directions (angle) States of the pens (line color, shape filled, line width, etc.) + Directions in Turtle Facing Left Facing Right + Degrees in Turtle 0 45 315 270 90 225 135 180 + Turtle Commands Commands forward() Descriptions Moves the turtle forward left() Moves the turtle counter clockwise right() Moves the turtle clockwise penup() pendown() color() heading() Picks up the turtles tail Puts down the turtles tail Changes the color of the turtle (http://www.tcl.tk/man/tcl8.4/TkCmd/color s.htm) Returns the current heading shape() Shape of the turtle, can be arrow, classic, turtle, or circle done() End turtle module Visit https://docs.python.org/2/library/turtle.html for more information. + Drawing Square + Output + Activity Draw other shapes like triangle, rectangle, etc. Formula Shape Sides Range() Angle Triangle 3 3 360/3 = 120 Square/Rectangle 4 4 360/4 = 90 Octagon 8 8 360/8 = 45 + Programming Basic Elements Comments Data Types, Functions Turtle Loops Variables and Variables Declaration + Loops Looping means repeating the same thing over and over again. Two kinds of loops: For loop – repeat a certain number of times While loop – repeat until a certain thing happens (or as long as some condition is met) + For Loop Examples For loop Outputs 1 for i in [1,2,3,4]: print i 1 2 3 4 2 for i in [0,1,2]: print “Hi” Hi Hi HI Explanations: • The variable i (loop index; loop counter) • The sequences in example started with the value 0 or 1 (example 1 and 2) and ended with any numbers (in example 1 and 2 the numbers were 4 and 2 respectively) + For Loop Range(start, stop, step) function is a short cut for entering starting and ending numbers range() function returns the numbers between the start and stop step in An range() function is optional argument argument is a value that we put inside the parentheses and pass it to the function + For Loop Examples Outputs 1 for i in range (1, 4): print “Hello world” Hello world Hello world Hello world 2 for i in range(2): print “Learn IT 2014!” Learn IT 2014 Learn IT 2014 Explanations: • range(1, 4) means our program will print out the words “Hello world” 3 times starting from 1 and ending before 4, which is 3. Note, step is optional. In this case we didn’t specify step so it will count by 1 • If you want to print out 5 Hello world, how would you do that using range(n1, n2)? • Example 2 showed another way of specifying a number of loops you want using just range(n) • range(2) in example 2 is the same thing as range(0, 1) + For Loop Examples for i in range (start, stop, step): Outputs 1. Counting by 2 for i in range(1, 10, 2): print "i =", i i =1 i=3 i=5 i=7 i=9 2. Counting by 5 for i in range(1, 10, 5): print "i =", i i=1 i=6 3. Counting backward for i in range(5, 0, -1): print "i =", i i=5 i=4 i=3 i=2 i=1 Using “step” examples + For Loop We can also use a for loop to count something else other than numbers Example for i in [item, item, item, so on]: for i in [“coffee”, “hot chocolate”, “tea”]: print “I like to drink ” + i + “.” Outputs I like to drink coffee. I like to drink hot chocolate. I like to drink tea. + While Loop While loop is used to repeat a block of codes an unknown number of times until a specific condition is met (conditional loop) While loop is similar to if-else condition Lines While loop 1 2 3 4 5 6 7 8 Explanations temperature = 115 # set initial condition while temperature > 112: # first while loop 115 > 112 print temperature Print 115 temperature = temperature – 1 115 – 1 = 114, loop back until 112 > 112, which is false print “The tea is cool enough.” Print “The tea is cool enough.” What happen if you leave out line 4? (Code from http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/whilestatements.html) + Activity Draw a square using a for loop Formula Shape Sides Range() Angle Triangle 3 3 360/3 = 120 Square/Rectangle 4 4 360/4 = 90 Octagon 8 8 360/8 = 45 + Square Code + Py2Exe Creating an executable file or standalone file using python script Py2exe, http://www.logix4u.net/component/content/article/27tutorials/44-how-to-create-windows-executable-exe-frompython-script Mac user, http://pythonhosted.org/py2app + Py2Exe Create setup.py in the same folder where you want your python script to be executable Example: #setup.py from distutils.core import setup import py2exe setup(console=[‘yourpythonfile.py']) + Creating an EXE File Go to Start and type “cmd” and press enter to open a command prompt Note: Visit, http://www.pythoncentral.io/py2exe-python-to-exe-introduction/ for more information + Creating an EXE File Navigate to the folder that we want to create a python file into an executable file Example: 1. Create a directory called, “LearnIT2014” under C drive and copy the python file you want to create an executable file to that directory 2. In the command prompt window, type the following command to change the directory to LearnIT2014 c:\Users\n10rxa1> cd\ c:\> c:\>cd LearnIT2014 3. This will take you to c:\LearnIT2014 4. Type the following command after c:\LearnIT2014> c:\LearnIT2014>setup.py py2exe 5. When it is done creating, you will see two subfolders called “build” and “dist” created under LearnIT2014 6. Double click “dist” folder to open, you should see an exe file 7. The “dist” folder is the folder that you can pack and send it your friends and family + Where to go from here Python books: lists of free books about Pythonhttp://pythonbooks.revolunet.com/ Hello World Book http://www.manning.com/sande2/ How to think like a computer scientist http://www.openbookproject.net/thinkcs/python/english2e/ Python for Kids http://www.nostarch.com/pythonforkids + Where to go from here CodeAcademy: Python 2 http://www.codecademy.com/tracks/python GrokLearning: Python 3 https://groklearning.com/csedweek/ Mobile app using Python http://kivy.org/ Udemy (free Develop Python on iPad) games with Python https://www.udemy.com/gamedevelopment-fundamentals-with-python/ + Happy Coding