{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "python\n", "\n", "Python Resources\n", "================\n", "\n", "This text provides an introduction to Python for science and engineering\n", "applications but is hardly exhaustive. There are many other resources\n", "that you will want to tap. Here I point out several that you may find\n", "useful.\n", "\n", "Web resources\n", "-------------\n", "\n", "The best web resource for Python is a good search engine like Google.\n", "Nevertheless, I list a few web sites here that you might find useful. I\n", "have successfully resisted any attempt to be exhaustive so that the list\n", "is actually useful. Nevertheless, if you find a really cool site that\n", "you think should be on this list, please let me know.\n", "\n", "> \n", "> The official Python web site. I almost never look here.\n", ">\n", "> \n", "> Sometimes I look here for detailed information about Python 3, which\n", "> is the version used in this manual. Documentation for the previous\n", "> version, Python 2, is available at\n", "> \n", ">\n", "> \n", "> I usually start here when I need information about NumPy. It has links\n", "> to just about all the NumPy documentation I need. By the way, I say\n", "> \"num-pee\", which rhymes with \"bumpy\"---a lot of people say \"num-pie\",\n", "> which doesn't sound like English to me.\n", ">\n", "> \n", "> I start here when I need information about SciPy, its various packages\n", "> and their functions. I say \"psy-pi\" for SciPy, like everyone else. Who\n", "> says I have to be consistent? (see Emerson)\n", ">\n", "> \n", "> The *Plotting Commands Summary* page for MatPlotLib. It has a search\n", "> feature and links to all the MatPlotLib documentation, which I use a\n", "> lot. You can go the the main MatPlotLib page,\n", "> , but frankly, it's less useful. The site\n", "> is also useful for\n", "> learning some MatPlotLib tricks.\n", ">\n", "> \n", "> I go to this page mostly to learn about IPython Notebook\n", "> () but it's also useful if you need\n", "> information about the IPython interpreter, especially if you want to\n", "> find out more about IPython magic commands.\n", ">\n", "> \n", "> This link provides a web-based quick introduction to scientific Python\n", "> that assumes you have some experience programming (not necessarily in\n", "> Python). It's terser than my introduction, but covers some useful\n", "> topics that I do not cover.\n", ">\n", "> single: Anaconda; resources\n", ">\n", "> is the location for\n", "> documentation for Anaconda python\n", ">\n", "> single: Spyder; resources\n", ">\n", "> \n", ">\n", "> > Doucumentation for Spyder, the Integrated Development Environment\n", "> > provided with with Anaconda.\n", ">\n", "> single: Anaconda; resources\n", ">\n", "> \n", "> Anaconda provides a free distribution of Spyder with a comprehensive\n", "> package manager, and may be the best choice for power users of Python\n", "> for scientific programming. The package manager is run by line\n", "> commands from a terminal window, which may put off beginners. Anaconda\n", "> can be downloaded from .\n", ">\n", "> \n", "> Go here if you want to sign up for a mailing list for NumPy or SciPy,\n", "> or if you want to report a bug. Mailing lists give you access to a\n", "> community of developers and users that can often provide expert help.\n", "> Just remember to be polite and respectful of those helping you and\n", "> also to those posting questions.\n", ">\n", "> \n", "> The mailing list for MatPlotLib. See paragraph immediately above.\n", ">\n", "> \n", "> StackOverflow may just be your best friend when it comes to solving\n", "> problems using Python. You pose your question about whatever problem\n", "> you are having with Python and other people write answers. The answers\n", "> are monitored and the best survive. In fact, most of the questions you\n", "> will pose have already been posed by someone else and answered. So you\n", "> can just look up the answer to most of your questions. StackOverflow\n", "> is a wonderful resource.\n", "\n", "Books\n", "-----\n", "\n", "There are a lot of books on Python and there is no way I can provide\n", "reviews for all of them. I have found that the book by Mark Lutz,\n", "*Learning Python*, published by O'Reilly Media does the trick for most\n", "people. It doesn't have anything special for scientific programming, and\n", "thus does not cover the NumPy, SciPy, or MatPlotLib packages, but for\n", "just about everything else, it's an excellent resource. It gives a good\n", "introduction to object oriented programming, or OOP, which I say little\n", "about in this text. The 3rd edition of the book covers Python 2 while\n", "the 4th and 5th (current) editions cover Python 3. You are probably\n", "better off getting the latest edition as everybody will soon be using\n", "Python 3. If you are using Python 2, as we do in this text, you can\n", "easily enough figure out the differences between Python 3 and 2." ] } ], "metadata": { "jupytext": { "cell_metadata_filter": "all", "formats": "ipynb,py:percent", "notebook_metadata_filter": "all,-language_info" }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 5 }