1 / 20

Introduction to Python

Guy Griffiths. Introduction to Python. What is Python?. General purpose interpreted programming language Widely used by scientists and programmers of all stripes Supported by many 3 rd -party libraries (currently 21,054 on the main python package website) Free!.

chika
Download Presentation

Introduction to Python

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Guy Griffiths Introduction to Python

  2. What is Python? • General purpose interpreted programming language • Widely used by scientists and programmers of all stripes • Supported by many 3rd-party libraries (currently 21,054 on the main python package website) • Free!

  3. Why is it well-suited to science? • Numpy • Numerical library for python • Written in C, wrapped by python • Fast • Scipy • Built on top of numpy (i.e. Also fast!) • Common maths, science, engineering routines • Matplotlib • Hugely flexible plotting library • Similar syntax to Matlab • Produces publication-quality output

  4. Publication quality output...

  5. What is Python not? • An integrated graphical environment like Matlab (although there are tools which put it in one – e.g. Spyder) • Specifically designed for scientists/mathematicians (but the 3rd-party libraries for plotting/numerical work are some of the best around) • High performance (but it is very easy to wrap C/Fortran libraries in Python code)

  6. Who uses Python? • Yahoo Maps/Groups • Google • NASA • ESRI • Linux distros • Met Office • Me

  7. I’m bored now. Show me something cool that Python can do. • How about several cool things that Python can do?

  8. Why is Python better than what I use now? • It can do everything • Fast mathematical operations • Easy file manipulation • Format conversion • Plotting • Scripting • Command line • OK, not everything • Write papers for you

  9. Are you doing this?

  10. You could be doing this!

  11. Why is Python better than what I use now? • Interactive prompt is great for experimenting • iPython is a fantastic interactive environment • I mostly write code in iPython interactively, then copy it out into a script when I’m done • printis easy and intuitive to use • Yes, you should use a proper debugger, but let’s face it – print statements are quicker and easier. • Well, print statements in python are even quicker and easier than that.

  12. Why is Python better than what I use now? • Readable code • You have to indent all of your loops, conditionals, etc. • This means that your code will always be indented in a helpful way • Inline documentation

  13. Why is Python better than what I use now? • 3rd-party libraries • Numpy, Scipy, Matplotlib are standard libraries for scientific computing • cf-python is written with meteorologists in mind • There are 3rd-party libraries for many, many things • If you want to do something that isn’t particularly uncommon, there will be a library to do it for you

  14. Great. So are you volunteering to rewrite all my existing code? • No. But python can wrap your existing C/Fortran/R code... • You can get the benefits of a high-level language whilst keeping your fast C/Fortran routines • This is what Numpy does (and why Numpy is fast) • ...and Matlab code translates pretty easily to python.

  15. Why is Python better than what I use now? • A good language to teach • Questions you won’t hear if you teach python: • “What does ‘Segmentation fault’ mean?” • “Why do I have to click ‘build’ before I run this every time?” • “Do you know where I can download a license for this so I can use it at home?” • Questions you may still hear: • “What’s a variable?” • “Why do we have to do this?”

  16. More code! • Let’s have a look at a few python libraries in action

  17. How can I get Python? • Firstly, get version 2.7.x. Python 3 is probably more trouble than it’s worth right now. • Windows – Python(x,y) [www.pythonxy.com]This is a scientific/engineering oriented distribution of python. It includes everything you need to get started • Linux – it’s already there! Unless you’re running a very unusual distro (in which case you probably already know what you’re doing). • Mac – it’s already there on OS X, but it’s old. Get a more up-to-date one [www.python.org]

  18. How can I learn Python? • The official python tutorial:http://docs.python.org/tutorial/ • Software Carpentry:http://software-carpentry.org/ • Dive into Python:http://www.diveintopython.net/ • Learn Python the Hard Way:http://learnpythonthehardway.org/ • A Byte of Python:http://www.ibiblio.org/g2swap/byteofpython/read/

  19. Some recommended books • Python Essential Reference David M. Beazley (Addison Wesley) • Programming in Python 3: A Complete Introduction to the Python LanguageMark Summerfield (Addison Wesley) • Learning PythonMark Lutz (O’Reilly Media)

  20. The End

More Related