Programming in Python for Linguists A Gentle Introduction Dirk Hovy USC’s Information Sciences Institute 4676 Admiralty Way, Marina del Rey, CA 90292
[email protected] September 25, 2012 Contents 1 Introduction 2 2 Programming 2 3 Python 4 3.1 Installing Python . .4 3.1.1 Windows . .4 3.1.2 Mac/Linux . .5 3.2 Using Python . .5 3.2.1 Windows . .5 3.2.2 Mac/Linux . .6 4 Program 1: Word Statistics — Assignment, For-Loops, and IO 7 4.1 Assignment . .9 4.2 Loops . 12 4.3 Input/Output . 14 5 Program 2: Word Counts — Dictionaries and Control Structures 15 5.1 Control Structures . 18 6 Program 3: Affixes — More on Lists 20 7 Program 4: Split — Functions and Syntactic Sugar 26 8 Debugging 28 9 Further Reading 30 1 1 Introduction Few, if any, linguistics programs do require an introduction to programming. That is a shame. Pro- gramming is a useful tool for linguists, just as word processing or statistics. It can help you do things faster and at larger scale. When I started programming in my PhD, I realized how useful even a little bit of programming would have been for my masters in linguistics: it would have made many term papers a lot easier (at least the empirical part). I hope this tutorial can be that little bit of programming for you and make your life a lot easier! Most people think of professional hackers when they hear programming, but the level necessary to be useful for linguistic work does not require a special degree.