Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ความแตกต่างระหว่าง abs() และ fabs() ใน Python

ทั้งสองฟังก์ชันคืนค่าสัมบูรณ์ (absolute value) ของตัวเลขโดยไม่สนใจเครื่องหมาย แต่มีความแตกต่างสำคัญดังนี้

ความแตกต่างหลัก

คุณสมบัติ abs() math.fabs()
ประเภท Built-in function ฟังก์ชันในโมดูล math
การนำเข้า ไม่ต้อง import ต้อง import math
ประเภทคืนค่า คงประเภทเดิม (int คืน int, float คืน float) คืนค่าเป็น float เสมอ
รองรับ complex รองรับ (คืน magnitude) ไม่รองรับ

ตัวอย่าง

>>> abs(-45)
45
>>> abs(110.12)
110.12
>>> import math
>>> math.fabs(-45)
45.0
>>> math.fabs(110.12)
110.12

เมื่อไหร่ควรใช้ตัวไหน?

  • ใช้ abs() สำหรับการเขียนโค้ดทั่วไป เร็วกว่าและยืดหยุ่นกว่า
  • ใช้ math.fabs() เมื่อต้องการความสม่ำเสมอในการคืนค่า float หรือทำงานกับไลบรารีคณิตศาสตร์ที่คาดหวัง float