ผลต่างระหว่างรุ่นของ "Python Programming/Mathematical Expressions"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(Python Programming/Mathematical Expression ถูกเปลี่ยนชื่อเป็น Python Programming/Mathematical Expressions)
แถว 52: แถว 52:
 
</pre>
 
</pre>
  
{{Python Programming/Navigation|Python Interpreter|Variables and Assignments}}
+
{{Python Programming/Navigation|Setting up Python|Variables and Assignments}}

รุ่นแก้ไขเมื่อ 05:57, 3 ตุลาคม 2558

โดยทั่วไปแล้วนิพจน์ทางคณิตศาสตร์ในภาษาไพทอนจะคล้ายๆ กับภาษา C

>>> 6*7
42
>>> 10*(30+9) + 8
398
>>> 10.0*(30+9)+8
398.0
>>> 3*10000+7564
37564
>>> 464 / 9
51
>>> 4649 / 9.0
516.55555555555554
>>> 4649.0 / 9
516.55555555555554
>>> 10%3
1

นิพจน์ข้างต้นทำให้เราได้ข้อสังเกตดังต่อไปนี้

  • ภาษาไพทอนมีข้อมูลชนิดตัวเลขอย่างน้อยสองชนิด คือ เลขจำนวนเต็ม (int) และเลขทศนิยม (float) ในทางเทคนิคแล้ว float ของไพทอนมีความละเอียดเท่ากับ double ในภาษา C
  • มีการทำ type coercion คล้ายภาษา C คือเมื่อนำ int ไปบวกหรือคูณกับ float แล้วก็จะได้ float
  • เครื่องหมายหาร (/) ของไพทอนคล้ายภาษา C กล่าวคือ ถ้าเราเอา int ไปหาร int เราจะได้ผลหารเป็น int แต่ถ้าเอา int ไปหาร float หรือเอา float ไปหาร int จะได้ผลลัพท์เป็น float

สิ่งที่น่าสังเกตของเครื่องหมาย (/) และเครื่องหมายหารเอาเศษ (%) หารคือ ถ้าตัวหารเป็นบวกแล้ว มันจะพยายามทำให้เศษของการหารจะเป็นบวกด้วยเสมอ

>>> -11/3
-4
>>> -11%3
1

ซึ่งนี่ผิดกับภาษา C ซึ่งเมื่อคำนวณนิพจน์ -11 / 3 จะได้ผลลัพธ์เป็น -3 และเมื่อสั่ง -11 % 3 จะได้ผลเป็น -2 อย่างไรก็ดีถ้าตัวหารเป็นลบ ไพทอนจะมีพฤติกรรมเหมือนกับภาษา C

>>> -11/-3
3
>>> -11%-3
-2

นอกจากนี้ ไพทอนยังมีเครื่องหมายยกกำลัง (**) ซึ่งมีความสำคัญ (precedence) มากกว่าเครื่องเครื่องหมายคูณ

>>> 4**2
16
>>> 4.0**2
16.0
>>> 2**0.5
1.4142135623730951
>>> 4*3**2
36
>>> (4*3)**2
144
หน้าก่อน: Setting up Python สารบัญ หน้าต่อไป: Variables and Assignments