A Practical Introduction to Python Programming
Total Page:16
File Type:pdf, Size:1020Kb
A Practical Introduction to Python Programming Brian Heinold Department of Mathematics and Computer Science Mount St. Mary’s University ii ©2012 Brian Heinold Licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported Li- cense Contents I Basics1 1 Getting Started 3 1.1 Installing Python..............................................3 1.2 IDLE......................................................3 1.3 A first program...............................................4 1.4 Typing things in...............................................5 1.5 Getting input.................................................6 1.6 Printing....................................................6 1.7 Variables...................................................7 1.8 Exercises...................................................9 2 For loops 11 2.1 Examples................................................... 11 2.2 The loop variable.............................................. 13 2.3 The range function............................................ 13 2.4 A Trickier Example............................................. 14 2.5 Exercises................................................... 15 3 Numbers 19 3.1 Integers and Decimal Numbers.................................... 19 3.2 Math Operators............................................... 19 3.3 Order of operations............................................ 21 3.4 Random numbers............................................. 21 3.5 Math functions............................................... 21 3.6 Getting help from Python........................................ 22 3.7 Using the Shell as a Calculator..................................... 22 3.8 Exercises................................................... 23 4 If statements 27 4.1 A Simple Example............................................. 27 4.2 Conditional operators........................................... 28 4.3 Common Mistakes............................................. 28 4.4 elif ...................................................... 29 4.5 Exercises................................................... 30 iii iv CONTENTS 5 Miscellaneous Topics I 33 5.1 Counting................................................... 33 5.2 Summing................................................... 34 5.3 Swapping................................................... 35 5.4 Flag variables................................................ 36 5.5 Maxes and mins............................................... 36 5.6 Comments.................................................. 37 5.7 Simple debugging............................................. 37 5.8 Example programs............................................. 38 5.9 Exercises................................................... 40 6 Strings 43 6.1 Basics...................................................... 43 6.2 Concatenation and repetition...................................... 44 6.3 The in operator............................................... 44 6.4 Indexing.................................................... 45 6.5 Slices...................................................... 45 6.6 Changing individual characters of a string............................. 46 6.7 Looping.................................................... 46 6.8 String methods............................................... 47 6.9 Escape characters.............................................. 48 6.10 Examples................................................... 49 6.11 Exercises................................................... 51 7 Lists 57 7.1 Basics...................................................... 57 7.2 Similarities to strings........................................... 58 7.3 Built-in functions.............................................. 59 7.4 List methods................................................. 59 7.5 Miscellaneous................................................ 60 7.6 Examples................................................... 60 7.7 Exercises................................................... 62 8 More with Lists 65 8.1 Lists and the random module..................................... 65 8.2 split ..................................................... 66 8.3 join ...................................................... 67 8.4 List comprehensions............................................ 68 8.5 Using list comprehensions........................................ 69 8.6 Two-dimensional lists........................................... 70 8.7 Exercises................................................... 72 CONTENTS v 9 While loops 75 9.1 Examples................................................... 75 9.2 Infinite loops................................................. 78 9.3 The break statement........................................... 78 9.4 The else statement............................................. 79 9.5 The guessing game, more nicely done................................ 80 9.6 Exercises................................................... 83 10 Miscellaneous Topics II 87 10.1 str, int, float, and list ..................................... 87 10.2 Booleans.................................................... 89 10.3 Shortcuts................................................... 90 10.4 Short-circuiting............................................... 91 10.5 Continuation................................................. 91 10.6 pass ...................................................... 91 10.7 String formatting.............................................. 92 10.8 Nested loops................................................. 93 10.9 Exercises................................................... 95 11 Dictionaries 99 11.1 Basics...................................................... 99 11.2 Dictionary examples............................................ 100 11.3 Working with dictionaries........................................ 101 11.4 Counting words............................................... 102 11.5 Exercises................................................... 104 12 Text Files 109 12.1 Reading from files............................................. 109 12.2 Writing to files................................................ 110 12.3 Examples................................................... 110 12.4 Wordplay................................................... 111 12.5 Exercises................................................... 113 13 Functions 119 13.1 Basics...................................................... 119 13.2 Arguments.................................................. 120 13.3 Returning values.............................................. 121 13.4 Default arguments and keyword arguments............................ 122 13.5 Local variables............................................... 123 13.6 Exercises................................................... 125 14 Object-Oriented Programming 129 14.1 Python is objected-oriented....................................... 129 14.2 Creating your own classes........................................ 130 14.3 Inheritance.................................................. 132 14.4 A playing-card example......................................... 133 vi CONTENTS 14.5 A Tic-tac-toe example........................................... 136 14.6 Further topics................................................ 138 14.7 Exercises................................................... 138 II Graphics 141 15 GUI Programming with Tkinter 143 15.1 Basics...................................................... 143 15.2 Labels..................................................... 144 15.3 grid ...................................................... 145 15.4 Entry boxes.................................................. 146 15.5 Buttons.................................................... 146 15.6 Global variables............................................... 148 15.7 Tic-tac-toe................................................... 149 16 GUI Programming II 155 16.1 Frames..................................................... 155 16.2 Colors..................................................... 156 16.3 Images..................................................... 157 16.4 Canvases................................................... 158 16.5 Check buttons and Radio buttons................................... 159 16.6 Text widget................................................. 160 16.7 Scale widget................................................ 161 16.8 GUI Events.................................................. 162 16.9 Event examples............................................... 164 17 GUI Programming III 169 17.1 Title bar.................................................... 169 17.2 Disabling things............................................... 169 17.3 Getting the state of a widget....................................... 169 17.4 Message boxes................................................ 170 17.5 Destroying things.............................................. 171 17.6 Updating................................................... 171 17.7 Dialogs.................................................... 172 17.8 Menu bars.................................................. 174 17.9 New windows................................................ 174 17.10pack ...................................................... 175 17.11StringVar ................................................. 175 17.12More with GUIs............................................... 176 18 Further Graphical Programming 177 18.1 Python 2 vs Python 3..........................................