Kumpletong Gabay sa Python Operators: Batayan hanggang Advanced

目次

1. Ano ang mga comparison operator sa Python?

Ang mga comparison operator sa Python ay mga simbolo na ginagamit upang ihambing ang dalawang halaga o object at magpasya ng kondisyon. Sa pamamagitan ng paggamit ng mga comparison operator, maaaring ihambing ang mga numero, string, listahan, atbp., at magsagawa ng mga proseso batay sa kondisyon sa loob ng programa. Sa ganitong paraan, nagiging posible ang flexible at komplikadong kontrol ng programa.

Gampanin ng mga comparison operator

Sa pamamagitan ng paggamit ng mga comparison operator, nasusuri kung natutugunan ng programa ang isang tiyak na kondisyon at nagbabalik ng True o False. Lalo na madalas itong pagsamahin sa mga conditional branches tulad ng if at while.

Halimbawa: Pangunahing conditional branching gamit ang mga comparison operator

a = 10
b = 20

if a < b:
    print("mas maliit ang a kaysa b")
else:
    print("mas malaki ang a kaysa b")
Sa halimbawang ito, kinukumpara kung ang variable na a ay mas maliit kaysa b, at batay sa resulta ay naglalabas ng iba’t ibang mensahe.

Mga comparison operator at Boolean type

Ang True at False na ibinabalik bilang resulta ng paghahambing ay mga espesyal na halaga na tinatawag na Boolean type (Boolean) sa Python. Ito ay may mahalagang papel sa mga control structure ng programa.

2. Listahan ng mga pangunahing paghahambing na operator ng Python

May ilang pangunahing paghahambing na operator ang Python. Sa pamamagitan ng paggamit ng mga operator na ito, maaari mong ihambing ang mga numero, string, listahan, at iba pa. Narito ang listahan ng mga karaniwang ginagamit na paghahambing na operator sa Python.

Pangunahing Paghahambing na Operator

OperatorPaglalarawanHalimbawa
==Tinitiyak kung magkapareho ang dalawang halagaa == b
!=Tinitiyak kung hindi magkapareho ang dalawang halagaa != b
<Tinitiyak kung mas maliit ang kaliwang bahagi kaysa sa kanang bahagia < b
>Tinitiyak kung mas malaki ang kaliwang bahagi kaysa sa kanang bahagia > b
<=Kung mas maliit o magkapareho ang kaliwang bahagi kumpara sa kanang bahagia <= b
>=Kung mas malaki o magkapareho ang kaliwang bahagi kumpara sa kanang bahagia >= b

Halimbawa: Pangunahing Paghahambing Gamit ang Paghahambing na Operator

x = 5
y = 10

print(x == y)  # False: hindi magkapareho ang x at y
print(x != y)  # True: hindi magkapareho ang x at y
print(x < y)   # True: mas maliit ang x kaysa y
Sa code sa itaas, kinukumpara ang x at y, at inilalabas ang True o False batay sa resulta.

3. Paggamit sa Paghahambing ng mga Numero

Sa Python, ang paghahambing ng mga numero ay napaka-intuitive. Sa pamamagitan ng paggamit ng mga operator tulad ng <, >, <=, >=, madali mong masusuri ang relasyon ng laki. Maaari ring gamitin ang == at != upang suriin kung magkapareho.

Pangunahing Paghahambing ng mga Numero

a = 7
b = 3

print(a > b)  # True: a ay mas malaki kaysa b
print(a < b)  # False: a ay hindi mas maliit kaysa b
Sa halimbawang ito, ikinumpara ang mga halaga ng variable a at b, at ibabalik ang True o False batay sa resulta.

Paghahambing ng mga Floating-Point Number

Ang paghahambing ng mga floating-point number (float type) ay nangangailangan ng pag-iingat. Dahil kinakatawan ito sa binary sa loob, maaaring magkaroon ng maliit na error sa resulta ng kalkulasyon.
a = 0.1 + 0.2
print(a == 0.3)  # False: dahil sa error ng floating-point
Sa ganitong mga kaso, inirerekomenda ang paghahambing na may toleransyang maaaring balewalain ang error.
epsilon = 1e-10
if abs(a - 0.3) < epsilon:
    print("Halos magkapareho")

4. Paggamit ng mga operator ng paghahambing sa mga string at listahan

Sa Python, maaari ring ihambing ang mga string at listahan. Ang mga string ay inihahambing batay sa Unicode code point, at ang mga listahan ay inihahambing ang bawat elemento nang sunud-sunod upang matukoy ang kanilang pagkakasunud-sunod.

Paghahambing ng mga string

print("apple" > "banana")  # False: Ang "a" ay mas maliit kaysa sa "b"
print("apple" == "apple")  # True: Ang mga string ay magkapareho
Ang mga string ay inihahambing ayon sa alpabetikong pagkakasunud-sunod (Unicode code point order). Sa pagitan ng malalaking titik at maliit na titik, itinuturing na mas maliit ang malaking titik.

Paghahambing ng mga listahan

Ang mga listahan ay inihambing ang bawat elemento nang sunud-sunod. Kapag natagpuan ang unang magkaibang elemento, ibinabalik ang resulta ng paghahambing.
list1 = [1, 2, 3]
list2 = [1, 2, 4]

print(list1 < list2)  # True: Dahil 3 < 4
Ang paghahambing ng mga listahan ay nagbabalik ng resulta batay sa pagsusuri ng bawat elemento nang hiwalay, kaya kailangang mag-ingat sa bilang at nilalaman ng mga elemento.

5. Paraan ng Pagsasama ng Maramihang Operator ng Paghahambing

Sa Python, maaaring pagsamahin ang maramihang operator ng paghahambing. Dahil dito, maaaring magsagawa ng mga pagsusuri ng saklaw ng mga numero nang mas maikli.

Halimbawa ng Pinagsamang Paghahambing

x = 15
if 10 < x < 20:
    print("x ay mas malaki sa 10 at mas maliit sa 20")
Sa halimbawang ito, maaaring tiyakin sa isang linya kung ang x ay mas malaki sa 10 at mas maliit sa 20. Ang pinagsamang paghahambing ay isang kapaki-pakinabang na paraan upang paikliin at gawing mas madaling maintindihan ang code.

Pagpapatunay ng Magkaparehong Halaga

Maaari ring gamitin ang pinagsamang paghahambing upang suriin kung lahat ng maramihang halaga ay magkapareho.
a = 10
b = 10
c = 10

if a == b == c:
    print("Lahat ng mga halaga ay magkapareho")
Sa pamamagitan ng pagsasama, maaaring epektibong suriin kung lahat ng maramihang variable ay pareho.

6. Pag-aaplay ng Conditional Branching at Comparison Operators

Ang mga comparison operator ay madalas na ginagamit kasabay ng conditional branching (if na pahayag at elif na pahayag). Sa ganitong paraan, maaaring hatiin ang daloy ng programa batay sa tiyak na kondisyon.

if-else na pahayag para sa conditional branching

x = 10
if x > 5:
    print("x ay mas malaki sa 5")
else:
    print("x ay 5 o mas mababa")
Sa code na ito, kung ang x ay mas malaki sa 5, ipapakita ang “x ay mas malaki sa 5”; kung hindi, ipapakita ang “x ay 5 o mas mababa”.

Pagsusuri ng Maramihang Kondisyon

Sa pamamagitan ng paggamit ng elif na pahayag, maaaring suriin ang maramihang kondisyon nang sunud-sunod.
age = 18
if age < 13:
    print("Bata")
elif age < 20:
    print("Teenager")
else:
    print("Adult")
Sa halimbawang ito, magpapakita ng iba’t ibang mensahe batay sa edad.

Komplikadong kondisyon gamit ang and at or

Maaari ring pagsamahin at suriin ang maramihang kondisyon.
a = 20
if a > 10 and a < 30:
    print("a ay mas malaki sa 10 at mas maliit sa 30")
Sa halimbawang ito, kapag ang a ay mas malaki sa 10 at mas maliit sa 30, magpapakita ng mensahe. Sa pamamagitan ng paggamit ng and o or, maaaring sabay-sabay na suriin ang maramihang kondisyon.

7. Mga Paalala at Best Practice sa mga Operator ng Python

Python’ng mga comparison operator ay dapat gamitin nang tama sa pamamagitan ng pag-unawa sa ilang mga paalala at pagsunod sa mga best practice. Sa ganitong paraan, maiiwasan ang mga bug at makakalikha ng epektibo at madaling basahin na code.

== at is na Pagkakaiba

== ay operator na nagko-compare kung magkapareho ang dalawang halaga, samantalang is ay operator na tinitingnan kung ang dalawang object ay parehong object. Mahalaga na maunawaan nang tama ang pagkakaibang ito at gamitin ang mga ito ayon sa kanilang layunin.

Halimbawa: == at is na Pagkakaiba

a = [1, 2, 3]
b = [1, 2, 3]

print(a == b)  # True: Ang halaga ay magkapareho
print(a is b)  # False: Magkaiba ang mga object
Sa halimbawang ito, ang a at b ay may parehong nilalaman, ngunit dahil magkaiba silang list bilang magkahiwalay na object, ang is ay magbabalik ng False. Ang is ay nagko-compare ng ID ng object (posisyon sa memorya), kaya’t kailangan mag-ingat kapag humahawak ng mga mutable na object (tulad ng list o dictionary).

Mga Paalala sa Paghahambing ng Floating-Point Numbers

Ang mga floating-point number (float type) ay maaaring hindi eksaktong magkatugma sa resulta ng kalkulasyon, kaya dapat iwasan ang direktang paghahambing gamit ang ==. Sa Python, inirerekomenda ang paggamit ng mga pamamaraan na nagpapahintulot ng error sa paghahambing ng floating-point numbers.

Halimbawa: Paghahambing na Isinasaalang-alang ang Error ng Floating-Point Numbers

a = 0.1 + 0.2
epsilon = 1e-10

if abs(a - 0.3) < epsilon:
    print("napaka-lapit ng a sa 0.3")
Sa halimbawang ito, ginagamit ang function na abs upang suriin kung napakaliit ng pagkakaiba ng dalawang halaga, at batay sa resulta ay isinasagawa ang paghahambing. Sa pamamagitan ng ganitong paraan, maaaring isaalang-alang ang maliliit na error ng floating-point numbers.

Mga Paalala sa Pagsasama ng Maramihang Paghahambing

Sa Python, maaaring pagsamahin ang maraming comparison operator, ngunit maaaring maging magulo ang code. Lalo na kapag kumplikado ang mga lohikal na kondisyon, inirerekomenda na iwasan ang labis na paggamit ng mga comparison operator at gamitin ang and o or.

Magandang Halimbawa: Pagsamahin ang Maramihang Kondisyon gamit ang and

a = 50
b = [10, 20, 50, 100]

if 30 < a and a in b:
    print("ang a ay mas malaki sa 30 at nasa list")
Sa ganitong paraan, gamit ang and at or, maaaring gawing malinaw ang maramihang kondisyon, na nagdudulot ng mas mataas na nababasa na code.

Paghahambing ng mga Mutable na Object tulad ng List at Dictionary

Kapag naghahambing ng mga mutable na object tulad ng list o dictionary, maaaring gamitin ang == upang tingnan kung magkapareho ang kanilang nilalaman, ngunit kung gagamitin ang is ay ikukumpara ang pagkakakilanlan ng object. Kung nais mong tiyakin na magkapareho ang nilalaman ng list, dapat laging gamitin ang ==.

Halimbawa: Paghahambing ng List

list1 = [1, 2, 3]
list2 = [1, 2, 3]

print(list1 == list2)  # True: Ang halaga ay magkapareho
print(list1 is list2)  # False: Magkaiba ang object

Best Practices

  1. Magsikap sa simpleng code na madaling basahin Kung pinagsasama ang komplikadong comparison operator o sinusuri ang maraming kondisyon sabay, mag-ingat na hindi magulo ang code. Sa pamamagitan ng paggamit ng and at or upang malinaw na hatiin ang mga kondisyon, tataas ang nababasa na code.
  2. Tamang Paggamit ng is at == Gamitin ang == kapag tinitingnan ang pagkakapantay-pantay ng halaga, at gamitin ang is kapag tinitingnan kung pareho ang object.
  3. Mag-ingat sa Paghahambing ng Floating-Point Numbers Iwasan ang direktang paghahambing ng floating-point numbers gamit ang ==; sa halip, gumamit ng pamamaraan na isinasaalang-alang ang maliliit na error. Epektibo ang paggamit ng function na abs upang suriin kung ang pagkakaiba ay sapat na maliit.

8. Buod: Gamitin nang maayos ang mga comparison operator ng Python

Sa artikulong ito, tinalakay namin nang malawakan ang mga batayang kaalaman hanggang sa mga aplikasyon, mga dapat iwasan, at mga best practice tungkol sa mga comparison operator ng Python. Ang mga comparison operator ay napakahalagang kasangkapan sa pagkontrol ng pag-andar ng programa at sa pagsusuri ng mga komplikadong kondisyon. Ipinaliwanag din namin ang mga mahahalagang punto tulad ng pagkakaiba ng == at is, kung paano hawakan ang mga floating-point number, at mga dapat tandaan sa paghahambing ng listahan at diksyunaryo, upang magamit nang tama ang mga comparison operator. Sa susunod na magsusulat ka ng programa gamit ang Python, gamitin ang mga kaalamang ito upang makabuo ng epektibo at walang bug na code.
侍エンジニア塾