Tamang Paggamit ng Null sa Python | Paggamit ng None

1. Ano ang “None” sa Python?

Sa Python, ang None ay katumbas ng konsepto ng null sa ibang mga wika. None ay kabilang sa espesyal na data type na NoneType sa Python, at ginagamit upang ipakita na walang tinutukoy na variable o object. Halimbawa, ginagamit ito kapag ang isang function ay walang ibinabalik o kapag nag-iinitialize ng isang object. Sa Python, ang None ay literal na nangangahulugang “walang halaga”, at gumaganap ng katulad na papel sa null at nil na ginagamit sa ibang wika, ngunit may mga natatanging katangian din ito sa Python.

Halimbawa: Pagtatalaga ng None sa variable

x = None
print(x)  # Ipinapakita ang None
Sa ganitong paraan, maaaring i-assign ang None sa variable katulad ng ibang mga halaga. Bukod dito, ang None ay isang espesyal na halaga na kapaki-pakinabang para maiwasan ang mga error at sa pag-initialize.

2. Mga pagkakataon ng paggamit ng None

2.1 None bilang return value ng function

Sa Python, kapag ang isang function ay hindi nagbabalik ng anumang bagay, awtomatikong ibinabalik ang None. Kapaki-pakinabang ito lalo na sa paghawak ng error, o kapag ang isang function na gumagawa ng isang bagay ay hindi kailangang magbalik ng malinaw na resulta.
def greet(name):
    print(f"Kumusta, {name}!")

result = greet("太郎")
print(result)  # Dito ay magpi-print ng None

2.2 None bilang default na argumento

Sa mga argumento ng function, maaaring gamitin ang None kapag walang tinukoy na default na halaga. Sa ganitong paraan, maaaring magpatakbo ng tamang pag-uugali ang function kapag hindi ito nakatanggap ng argumento.
def process_data(data=None):
    if data is None:
        print("Walang data na ibinigay")
    else:
        print(f"Data na ipoproseso: {data}")

process_data()  # Magpi-print ng "Walang data na ibinigay"

2.3 None na ginagamit sa pag-initialize ng klase

Ang None ay kapaki-pakinabang din kapag ini-initialize ang mga attribute ng klase. Halimbawa, sa isang klase na nag-iimbak ng impormasyon ng user, maaaring gamitin ang None kapag ang ilang attribute ay hindi pa naitakda.
class User:
    def __init__(self, name, email=None):
        self.name = name
        self.email = email

user1 = User("田中")
print(user1.email)  # Magpi-print ng None

3. Pagkakaiba ng None at null

Ang None ng Python ay katulad ng null na ginagamit sa ibang mga wika ng programming, ngunit may ilang pagkakaiba. Sa ibang wika, ang null ay madalas na ginagamit lalo na sa mga database, at nagpapahiwatig ng kawalan ng anumang halaga. Ang None ng Python ay katulad din nito, na nagpapakita ng kawalan ng halaga, ngunit ang None ay tinatrato bilang isang espesyal na object sa loob ng Python.

Pagkakaiba sa walang laman na string at 0

None ay madalas na napagkakamalang walang laman na string o 0, ngunit mahigpit na magkaiba ang mga ito. Ang walang laman na string ay isang string na may habang 0, samantalang ang None ay isang espesyal na halaga na nagpapahiwatig na walang object. Mahalaga na gumamit ng tamang operator upang matukoy ang mga ito.
x = ""
y = None
print(x == y)  # Maglalabas ng False

4. Pagtukoy sa None

4.1 is operator vs == operator

Sa Python, inirerekomenda na gamitin ang is operator kapag sinusuri ang None. Ang is operator ay nagko-compare ng pagkakakilanlan ng object, tinitiyak kung ang dalawang object ay tumutukoy sa parehong bagay. Samantala, ang == operator ay nagtatasa ng pagkakapantay-pantay ng halaga, kaya dapat mag-ingat sa paghahambing ng None.
x = None

if x is None:
    print("x ay None")  # Ito ang inirerekomenda
if x == None:
    print("x ay None")  # Gumagana pero hindi inirerekomenda

4.2 Ang dahilan ng paggamit ng is

None ay tanging NoneType object sa Python, sa paggamit ng is ay matitiyak ang pagkakakilanlan nito. Kap ginamit ang ==, maaaring gumana ang custom comparison method ng object, na maaaring magbalik ng hindi inaasahang resulta, kaya karaniwang inirerekomenda ang paggamit ng is.

5. Mga Best Practice para sa None

5.1 Paggamit ng None bilang inisyal na halaga ng variable

Ang pag-inisyalisa ng variable gamit ang None ay isang epektibong paraan upang mapabuti ang nababasa ng programa at maiwasan ang mga error. Lalo na kapaki-pakinabang ito kapag malinaw na ipinapakita ang mga opsyonal na halaga o ang hindi pa nakatakdang estado.
data = None
if data is None:
    print("Walang nakatakdang data")

5.2 Paggamit ng None sa paghawak ng error

Kapag ang isang function ay nagbabalik ng data, epektibo rin ang paggamit ng None upang hayagang ibalik ang error. Sa ganitong paraan, mas madali ang pag-check ng error sa loob ng programa at maaaring pagsamahin ang lohika ng pagproseso ng error.
def fetch_data():
    # Kung walang data, magbabalik ng None
    return None

result = fetch_data()
if result is None:
    print("Hindi nakuha ang data")

6. Buod at Konklusyon

Sa artikulong ito, ipinaliwanag namin ang mga pangunahing paraan ng paggamit at pagsusuri ng None sa Python. None ay isang napakahalagang konsepto para hayagang ipahayag ang kawalan ng halaga sa Python. Bukod dito, sa pamamagitan ng tamang pag-unawa at paggamit ng None, tataas ang nababasa at napapanatiling kalidad ng code. Panghuli, tandaan na inirerekomenda ang paggamit ng operator na is kapag gumagamit ng None. Sa pag-unawa nito, sa hinaharap ay mas mapapalalim pa ang pag-unawa sa mga paraan ng paggamit ng None, na magbibigay-daan sa mas epektibong pagprograma sa Python.
年収訴求