123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- [[first_steps]]
- == First Steps
- We will now see how to run a traditional 'Hello World' program in Python. This will teach you how
- to write, save and run Python programs.
- There are two ways of using Python to run your program - using the interactive interpreter prompt
- or using a source file. We will now see how to use both of these methods.
- === Using The Interpreter Prompt
- Open the terminal in your operating system (as discussed previously in the
- <<installation,Installation>> chapter) and then open the Python prompt by typing +python+ and
- pressing kbd:[enter] key.
- Once you have started Python, you should see `>>>` where you can start typing stuff. This is called
- the _Python interpreter prompt_.
- At the Python interpreter prompt, type:
- [source,python]
- --------------------------------------------------
- print "Hello World"
- --------------------------------------------------
- followed by the kbd:[enter] key. You should see the words +Hello World+ printed to the screen.
- Here is an example of what you should be seeing, when using a Mac OS X computer. The details about
- the Python software will differ based on your computer, but the part from the prompt (i.e. from
- `>>>` onwards) should be the same regardless of the operating system.
- --------------------------------------------------
- $ python
- Python 2.7.6 (default, Feb 23 2014, 16:08:15)
- [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
- Type "help", "copyright", "credits" or "license" for more information.
- >>> print "hello world"
- hello world
- >>>
- --------------------------------------------------
- Notice that Python gives you the output of the line immediately! What you just entered is a single
- Python _statement_. We use +print+ to (unsurprisingly) print any value that you supply to it. Here,
- we are supplying the text +hello world+ and this is promptly printed to the screen.
- .How to Quit the Interpreter Prompt
- [NOTE]
- --
- If you are using a GNU/Linux or OS X shell, you can exit the interpreter prompt by pressing
- kbd:[ctrl + d] or entering +exit()+ (note: remember to include the parentheses, +()+) followed by
- the kbd:[enter] key.
- If you are using the Windows command prompt, press kbd:[ctrl + z] followed by the kbd:[enter] key.
- --
- === Choosing An Editor
- We cannot type out our program at the interpreter prompt every time we want to run something, so we
- have to save them in files and can run our programs any number of times.
- To create our Python source files, we need an editor software where you can type and save. A good
- programmer's editor will make your life easier in writing the source files. Hence, the choice of an
- editor is crucial indeed. You have to choose an editor as you would choose a car you would buy. A
- good editor will help you write Python programs easily, making your journey more comfortable and
- helps you reach your destination (achieve your goal) in a much faster and safer way.
- One of the very basic requirements is _syntax highlighting_ where all the different parts of your
- Python program are colorized so that you can _see_ your program and visualize its running.
- If you have no idea where to start, I would recommend using
- https://www.jetbrains.com/pycharm-educational/[PyCharm Educational Edition] software which is
- available on Windows, Mac OS X and GNU/Linux. Details in the next section.
- If you are using Windows, *do not use Notepad* - it is a bad choice because it does not do syntax
- highlighting and also importantly it does not support indentation of the text which is very
- important in our case as we will see later. Good editors will automatically do this.
- If you are an experienced programmer, then you must be already using http://www.vim.org[Vim] or
- http://www.gnu.org/software/emacs/[Emacs]. Needless to say, these are two of the most powerful
- editors and you will benefit from using them to write your Python programs. I personally use both
- for most of my programs, and have even written an http://swaroopch.com/notes/vim[entire book on
- Vim].
- In case you are willing to take the time to learn Vim or Emacs, then I highly recommend that you do
- learn to use either of them as it will be very useful for you in the long run. However, as I
- mentioned before, beginners can start with PyCharm and focus the learning on Python rather than the
- editor at this moment.
- To reiterate, please choose a proper editor - it can make writing Python programs more fun and
- easy.
- [[pycharm]]
- === PyCharm
- https://www.jetbrains.com/pycharm-educational/[PyCharm Educational Edition] is a free editor which
- you can use for writing Python programs.
- When you open PyCharm, you'll see this, click on +Create New Project+:
- image::pycharm_open.png[When you open PyCharm,439,372]
- Select +Pure Python+:
- image::pycharm_create_new_project.png[PyCharm New Project,439,372]
- Change +untitled+ to +helloworld+ as the location of the project, you should see details similar to
- this:
- image::pycharm_create_new_project_pure_python.png[PyCharm project details,439,372]
- Click the +Create+ button.
- Right-click on the +helloworld+ in the sidebar and select +New+ -> +Python File+:
- image::pycharm_new_python_file.png[PyCharm -> New -> Python File,777,494]
- You will be asked to type the name, type +hello+:
- image::pycharm_new_file_input.png[PyCharm New File dialog box,734,452]
- You can now see a file opened for you:
- image::pycharm_hello_open.png[PyCharm hello.py file,777,494]
- Delete the lines that are already present, and now type the following:
- [source,python]
- --------------------------------------------------
- print "hello world"
- --------------------------------------------------
- Now right-click on what you typed (without selecting the text), and click on +Run 'hello'+.
- image::pycharm_run.png[PyCharm Run 'hello',777,494]
- You should now see the output (what it prints) of your program:
- image::pycharm_output.png[PyCharm output,777,494]
- Phew! That was quite a few steps to get started, but henceforth, every time we ask you to create a
- new file, remember to just right-click on +helloworld+ on the left -> +New+ -> +Python File+ and
- continue the same steps to type and run as shown above.
- You can find more information about PyCharm in the
- https://www.jetbrains.com/pycharm-educational/quickstart/[PyCharm Quickstart] page.
- === Vim
- . Install http://www.vim.org[Vim]
- .. Mac OS X users should install +macvim+ package via http://brew.sh/[HomeBrew]
- .. Windows users should download the "self-installing executable" from
- http://www.vim.org/download.php
- .. GNU/Linux users should get Vim from their distribution's software repositories, e.g. Debian and
- Ubuntu users can install the http://packages.ubuntu.com/saucy/vim[vim] package.
- . Install https://github.com/davidhalter/jedi-vim[jedi-vim] plugin for autocompletion.
- === Emacs
- . Install http://www.gnu.org/software/emacs/[Emacs 24].
- .. Mac OS X users should get Emacs from http://emacsformacosx.com
- .. Windows users should get Emacs from http://ftp.gnu.org/gnu/emacs/windows/
- .. GNU/Linux users should get Emacs from their distribution's software repositories, e.g. Debian
- and Ubuntu users can install the http://packages.ubuntu.com/saucy/emacs24[emacs24] package.
- . Install https://github.com/jorgenschaefer/elpy/wiki[ELPY].
- === Using A Source File
- Now let's get back to programming. There is a tradition that whenever you learn a new programming
- language, the first program that you write and run is the 'Hello World' program - all it does is
- just say 'Hello World' when you run it. As Simon Cozens footnote:[the author of the amazing
- 'Beginning Perl' book] says, it is the "traditional incantation to the programming gods to help you
- learn the language better."
- Start your choice of editor, enter the following program and save it as +hello.py+.
- If you are using PyCharm, we have already <<pycharm,discussed how to run from a source file>>.
- For other editors, open a new file +hello.py+ and type this:
- [source,python]
- --------------------------------------------------
- print "hello world"
- --------------------------------------------------
- Where should you save the file? To any folder for which you know the location of the folder. If you
- don't understand what that means, create a new folder and use that location to save and run all
- your Python programs:
- - `/tmp/py` on Mac OS X
- - `/tmp/py` on GNU/Linux
- - `C:\\py` on Windows
- To create the above folder (for the operating system you are using), use the +mkdir+ command in the
- terminal, for example, +mkdir /tmp/py+.
- IMPORTANT: Always ensure that you give it the file extension of +.py+, for example, +foo.py+.
- To run your Python program:
- . Open a terminal window (see the previous <<installation,Installation>> chapter on how to do that)
- . **C**hange **d**irectory to where you saved the file, for example, +cd /tmp/py+
- . Run the program by entering the command +python hello.py+. The output is as shown below.
- --------------------------------------------------
- $ python hello.py
- hello world
- --------------------------------------------------
- image::terminal_screenshot.png[Screenshot of running program in terminal,593,395]
- If you got the output as shown above, congratulations! - you have successfully run your first
- Python program. You have successfully crossed the hardest part of learning programming, which is,
- getting started with your first program!
- In case you got an error, please type the above program _exactly_ as shown above and run the
- program again. Note that Python is case-sensitive i.e. +print+ is not the same as +Print+ - note
- the lowercase +p+ in the former and the uppercase +P+ in the latter. Also, ensure there are no
- spaces or tabs before the first character in each line - we will see <<indentation,why this is
- important>> later.
- .How It Works
- A Python program is composed of _statements_. In our first program, we have only one statement. In
- this statement, we call the +print+ _statement_ to which we supply the text "hello world".
- === Getting Help
- If you need quick information about any function or statement in Python, then you can use the
- built-in +help+ functionality. This is very useful especially when using the interpreter
- prompt. For example, run `help('len')` - this displays the help for the +len+ function which is
- used to count number of items.
- TIP: Press +q+ to exit the help.
- Similarly, you can obtain information about almost anything in Python. Use +help()+ to learn more
- about using +help+ itself!
- In case you need to get help for operators like +return+, then you need to put those inside quotes
- such as `help('return')` so that Python doesn't get confused on what we're trying to do.
- === Summary
- You should now be able to write, save and run Python programs at ease.
- Now that you are a Python user, let's learn some more Python concepts.
|