Python Programming/Mathematical Expressions

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

โดยทั่วไปแล้วนิพจน์ทางคณิตศาสตร์ในภาษาไพทอนจะคล้ายๆ กับภาษา 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 อย่างไรก็ตามในไพทอนเวอร์ชัน 3 ตัวดำเนินการ / จะให้ผลลัพธ์การหารแบบ 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
หน้าก่อน: Python Interpreter สารบัญ หน้าต่อไป: Variables and Assignments