<< Chapter < Page Chapter >> Page >

All of the operators discussed in this module are being used as binary operators.

Some arithmetic 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:

  • The addition operator, +
  • The subtraction operator, -
  • The multiplication operator, *
  • The division operators, / and //
  • The modulus operator, %

Addition, subtraction, and multiplication

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

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 .

Integer division

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.

Do you remember long division ?

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.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask