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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 21: แถว 21:
 
* ภาษาไพทอนมีข้อมูลชนิดตัวเลขอย่างน้อยสองชนิด คือ เลขจำนวนเต็ม (int) และเลขทศนิยม (float) ในทางเทคนิคแล้ว float ของไพทอนมีความละเอียดเท่ากับ double ในภาษา C
 
* ภาษาไพทอนมีข้อมูลชนิดตัวเลขอย่างน้อยสองชนิด คือ เลขจำนวนเต็ม (int) และเลขทศนิยม (float) ในทางเทคนิคแล้ว float ของไพทอนมีความละเอียดเท่ากับ double ในภาษา C
 
* มีการทำ [http://en.wikipedia.org/wiki/Type_conversion type coercion] คล้ายภาษา C คือเมื่อนำ int ไปบวกหรือคูณกับ float แล้วก็จะได้ float
 
* มีการทำ [http://en.wikipedia.org/wiki/Type_conversion type coercion] คล้ายภาษา C คือเมื่อนำ int ไปบวกหรือคูณกับ float แล้วก็จะได้ float
* เครื่องหมายหาร (/) ของไพทอนคล้ายภาษา C กล่าวคือ ถ้าเราเอา int ไปหาร int เราจะได้ผลหารเป็น int แต่ถ้าเอา int ไปหาร float หรือเอา float ไปหาร int จะได้ผลลัพท์เป็น float
+
* เครื่องหมายหาร (/) ของไพทอนคล้ายภาษา C กล่าวคือ ถ้าเราเอา int ไปหาร int เราจะได้ผลหารเป็น int แต่ถ้าเอา int ไปหาร float หรือเอา float ไปหาร int จะได้ผลลัพท์เป็น float อย่างไรก็ตามในไพทอนเวอร์ชัน 3 ตัวดำเนินการ / จะให้ผลลัพธ์การหารแบบ float เพื่อให้สะดวกต่อการนำไปใช้ในการคำนวณทางวิทยาศาสตร์
  
 
สิ่งที่น่าสังเกตของเครื่องหมาย (/) และเครื่องหมายหารเอาเศษ (%) หารคือ ถ้าตัวหารเป็นบวกแล้ว มันจะพยายามทำให้เศษของการหารจะเป็นบวกด้วยเสมอ
 
สิ่งที่น่าสังเกตของเครื่องหมาย (/) และเครื่องหมายหารเอาเศษ (%) หารคือ ถ้าตัวหารเป็นบวกแล้ว มันจะพยายามทำให้เศษของการหารจะเป็นบวกด้วยเสมอ
แถว 52: แถว 52:
 
</pre>
 
</pre>
  
{{Python Programming/Navigation|Setting up Python|Variables and Assignments}}
+
{{Python Programming/Navigation|Setting Up Python|Variables and Assignments}}

รุ่นแก้ไขเมื่อ 05:59, 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 อย่างไรก็ตามในไพทอนเวอร์ชัน 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
หน้าก่อน: Setting Up Python สารบัญ หน้าต่อไป: Variables and Assignments