<< Chapter < Page | Chapter >> Page > |
All of the operators discussed in this module are being used as binary operators.
Python has numerous operators. You can find a complete list of operators in the Python Language Reference .
For the time being, we will concentrate on the follow arithmetic operators:
Figure 7 shows some examples of using these operators that probably won't present any surprises to you.
Figure 7 . Some arithmetic operators. |
---|
>>>2+5
7>>>2-5
-3>>>2*5
10>>> |
If you add 2 and 5, you get 7. If you subtract 5 from 2, the answer is -3. If you multiply 2 by 5, you get 10
Division is a bit more complicated. In its early days, Python had a single division operator (/) that behaved differently depending on the types of its operands. It behaved in a manner similar tothe same division operator in Java and C++.
Somewhere along the way, a second division operator (//) was added to the language and the behavior of the original operator (/) was changed. As a result,the behavior is now quite a bit different from Java and C++. Take a look at Figure 8 .
Figure 8 . Two division operators. |
---|
>>>2/5
0.4>>>2.0/5
0.4>>>2//5
0>>>2.0//5
0.0>>> |
Originally, (in the early days of python) the division operation shown on the first line in Figure 8 would have yielded a value of 0. (Note that both operands are integers with no decimal point.)
The second division operation (note the decimal point in the numerator) would have yielded a value of 0.4 just like your hand calculator. The new division operator shown in the last two divisionoperations did not exist.
Now the behavior of the division operator consisting of a single slash character (/) has been modified to produce a decimal fraction regardless ofwhether its operands are integers or are values containing a decimal point.
The new division operator consisting of two slash characters (//) produces the results shown in the last two division operations in Figure 8 .
You probably won't see anything unusual in the second division operation in Figure 8 and you may not see anything unusual in the first division operation in Figure 8 (unless you are an experienced Java or C++ programmer) . However, the "integer division" shown in the third division operation in Figure 8 probably merits an explanation.
In this case, we are dividing the integer 2 by the integer 5 producing an integer result.
Normally, a hand calculator would tell you that the answer is 0.4, but that is not an integer result. Rather, it is a decimal fraction.
As you can see in Figure 8 , Python tells you that the result of dividing the integer 2 by the integer 5 using the // divisionoperator is 0.
Think back to when your second grade teacher taught you how to do long division with whole numbers. She told you that if you divide 2 by 5, youget a quotient of 0 and a remainder of 5. Or, if you divide 23 by 4, you get a quotient of 5 and a remainder of 3. That is what we are talking about here. Thethird division operation in Figure 8 produces a quotient of 0.
Notification Switch
Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?