Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Dalam pengaturcaraan, anda mungkin menghadapi situasi di mana pembolehubah tidak mempunyai nilai. Kejadian ini biasanya diwakili oleh nilai khas yang dikenali sebagai null. Banyak bahasa pengaturcaraan, seperti C, Java, JavaScript dan PHP, mempunyai nilai nol terbina dalam, tetapi Python mengambil pendekatan yang sedikit berbeza untuk mewakili pembolehubah nol.
Dalam Python, setara dengan null ialah Tiada. Ia adalah pemalar khas dalam Python yang mewakili ketiadaan nilai atau nilai nol. Ia adalah contoh jenis datanya sendiri — NoneType. Ia tidak sama dengan 0, False atau rentetan kosong kerana ia adalah jenis datanya sendiri yang tidak mewakili nilai atau tiada objek.
Jika anda belajar Python, memahami konsep Tiada dalam Python adalah penting. Ia memberi anda cara untuk mencipta kod yang cekap yang mengendalikan kes tepi. Semasa anda meneroka pengaturcaraan Python, anda akan menemui pelbagai senario di mana Tiada satu pun terbukti penting.
Dalam artikel ini, kita akan meneroka apa itu null, atau tiada, dalam Python. Kami akan menyemak contoh dan kes penggunaan untuk membantu anda mengukuhkan konsep nilai nol. Tetapi pertama-tama, mari kita fahami konsep None, atau Null, nilai dalam Python.
Isi kandungan
Apakah Null dalam Python?
Untuk memahami null dalam Python, anda perlu memahami dua konsep berikut:
Perbezaan antara Tiada dan Null
Tiada jenis
1. Perbezaan Antara Tiada dan Null
Null dalam banyak bahasa pengaturcaraan digunakan untuk menandakan penunjuk kosong atau nilai yang tidak diketahui. Anda boleh menentukan nilai nol sebagai 0 dalam bahasa ini.
Walau bagaimanapun, dalam Python, bukannya null, anda menggunakan kata kunci Tiada untuk mentakrifkan objek dan pembolehubah kosong. Tiada yang memenuhi beberapa tujuan yang sama seperti null dalam bahasa lain. Tetapi ia adalah entiti yang berbeza dan tidak ditakrifkan sebagai 0 atau sebarang nilai lain.
2. TiadaJenis
Dalam Python, None ialah jenis struktur data yang unik, dikelaskan di bawah jenis yang dipanggil NoneType. Ia adalah warganegara kelas pertama, bermakna anda boleh menetapkannya kepada pembolehubah. Anda juga boleh menyampaikannya sebagai hujah dan kembali sebagai hasilnya.
Apabila anda menetapkan nilai pembolehubah Tiada, ia menjadi objek NoneType. Tiada yang tidak bersamaan dengan rentetan kosong, nilai Boolean False, atau nilai berangka 0. Ia hanya bermaksud pembolehubah nol atau tiada.
Sekarang setelah anda memahami istilah yang berkaitan dengan tiada, mari kita teruskan dan lihat cara anda boleh menggunakan None untuk kes penggunaan yang berbeza!
Cara Menggunakan Tiada dalam Python
Dalam Python, anda boleh menggunakan Tiada untuk beberapa kes penggunaan. Dalam bahagian ini, kita akan melihat 4 kes penggunaan penting Tiada dalam Python.
Secara khusus, kita akan melihat kes penggunaan berikut:
Menetapkan Tiada kepada pembolehubah
Menggunakan Tiada sebagai parameter lalai
Menyemak Tiada dengan pengendali identiti
Mengendalikan nilai yang hilang
Mari kita masuk ke dalamnya!
1. Menetapkan Tiada kepada Pembolehubah
Anda boleh menetapkan Tiada kepada pembolehubah untuk menunjukkan ketiadaan nilai.
Sebagai contoh:
x = None
Tiada di sini bermakna nilai x tiada atau nilai yang sah belum diputuskan lagi.
2. Menggunakan Tiada sebagai Parameter Lalai
Anda boleh menggunakan Tiada sebagai nilai parameter lalai untuk mentakrifkan fungsi juga. Ini berguna apabila anda ingin membenarkan argumen pilihan untuk parameter lalai dalam fungsi anda.
Kod berikut menunjukkan kepada anda cara menggunakan None sebagai parameter lalai:
def greet(name=None):
if name is None:
print("Hello, World!")
else:
print(f"Hello, {name}!")
# Call the function without providing a name
greet()
# Call the function with a name
greet("Alice")
Apabila anda menjalankan kod ini, ia mencetak "Hello, World!" apabila anda memanggil greet() tanpa sebarang hujah. Tetapi apabila anda memanggil greet() dengan hujah, seperti greet("Alice"), ia mencetak "Hello, Alice!". Ini membolehkan fungsi mempunyai hujah pilihan.
3. Menyemak Operator Tiada Dengan Identiti
Anda boleh menggunakan pengendali adalah identiti untuk menyemak sama ada pembolehubah adalah Tiada. Ini membolehkan anda membandingkan jika dua pembolehubah merujuk kepada objek yang sama.
Berikut ialah contoh untuk menunjukkan kepada anda cara menggunakan pengendali identiti:
# Define a variable with no value
var1 = None
# Define a variable with a value
var2 = "Hello, World!"
# Check if var1 is None
if var1 is None:
print("var1 is None")
else:
print("var1 is not None")
# Check if var2 is None
if var2 is None:
print("var2 is None")
else:
print("var2 is not None")
Dalam kod ini, var1 is None akan mengembalikan True kerana var1 telah diberikan nilai None. Sebaliknya, var2 is None akan mengembalikan False kerana var2 mempunyai nilai rentetan.
Output untuk skrip diberikan di bawah:
4. Mengendalikan Nilai yang Hilang
Anda juga mungkin menemui data dengan nilai yang tiada. Anda boleh mewakili nilai yang hilang ini dengan Tiada dan mengendalikannya dengan sewajarnya.
Berikut ialah contoh apabila berurusan dengan senarai nombor:
# Define a list of data with some missing values
data = [1, 2, 3, None, 5, None, 7, 8, None, 10]
def calculate_average(data):
# Filter out None values using list comprehension
valid_data = [value for value in data if value is not None]
# Calculate average if valid_data is not empty
average = sum(valid_data) / len(valid_data) if valid_data else None
return average
# Call the function and print the result
print(calculate_average(data))
Fungsi ini mengira jumlah semua nilai bukan Tiada dalam senarai dan membahagikannya dengan kiraan nilai bukan Tiada. Jika semua nilai dalam senarai adalah Tiada, fungsi mengembalikan Tiada.
Output diberikan di bawah:
Dengan menggunakan Tiada dan teknik berbeza yang dinyatakan di atas, anda boleh mengendalikan nilai yang hilang dalam Python dengan berkesan.
Untuk mengetahui lebih lanjut tentang mengendalikan nilai yang hilang dalam Python, lihat video berikut:
Beberapa Lagi Kes Penggunaan Tiada dalam Python
Selain daripada kes penggunaan yang dibincangkan dalam bahagian di atas, terdapat beberapa kes penggunaan Tiada yang lain juga. Kes penggunaan ini bukan yang kerap digunakan tetapi bagus untuk diketahui dan berguna dalam beberapa senario.
Dalam bahagian ini, kita akan melihat 3 kes penggunaan Tiada dalam Python berikut:
Menggunakan Tiada dalam penyata balasan
Menggunakan Tiada sebagai bendera
Menggunakan Tiada untuk objek tersuai
Mari kita menyelaminya!
1. Menggunakan Tiada sebagai Penyata Penyata
Anda boleh menggunakan Tiada dalam penyataan pulangan, terutamanya apabila fungsi menyelesaikan pelaksanaannya tanpa mencari hasil tertentu.
Contohnya, fungsi yang mencari elemen dalam senarai boleh mengembalikan Tiada jika elemen itu tidak ditemui. Kod berikut menunjukkan penggunaan None sebagai nilai pulangan:
# Define a list
numbers = [10, 20, 30, 40, 50]
def find_in_list(lst, target):
for i, value in enumerate(lst):
if value == target:
return i
return None
# Search for a number in the list
print(find_in_list(numbers, 30))
print(find_in_list(numbers, 60))
Dalam kod ini, fungsi find_in_list berulang ke atas senarai input lst . Jika ia menemui nilai sasaran, ia mengembalikan indeks nilai tersebut. Jika ia tidak menemui nilai sasaran selepas menyemak keseluruhan senarai, ia mengembalikan Tiada.
Output diberikan di bawah:
2. Menggunakan Tiada sebagai Bendera
Anda juga boleh menggunakan Tiada sebagai bendera untuk menunjukkan keadaan pembolehubah. Sebagai contoh, anda mungkin menggunakannya untuk menandakan sama ada nilai tidak dimulakan atau untuk menjejaki syarat khas dalam program.
Berikut ialah contoh cara anda boleh menggunakan None sebagai bendera:
def find_first_even_number(numbers):
# Initialize the first_even_number to None
first_even_number = None
# Iterate over the list of numbers
for number in numbers:
# If we find an even number and first_even_number is still None
if number % 2 == 0 and first_even_number is None:
first_even_number = number
break
return first_even_number
numbers = [1, 3, 5, 7, 8, 10]
# Call the function and print the result
print(find_first_even_number(numbers)) # Outputs: 8
Dalam kod ini, Tiada digunakan sebagai bendera untuk menunjukkan bahawa kami belum menemui nombor genap dalam senarai lagi.
Jika first_even_number masih Tiada selepas gelung , ini bermakna tiada nombor genap dalam senarai.
If first_even_number is not None, it contains the first even number from the list.
3. Using None for Custom Objects
You can use None for custom, user-defined objects, as well. When dealing with attributes, properties, or methods that return other objects, you might use None to signify the absence of a value or a relationship.
The following example demonstrates how you can use None for user-defined objects:
class Person:
def __init__(self, name):
self.name = name
self.best_friend = None
def set_best_friend(self, person):
self.best_friend = person
def get_best_friend_name(self):
if self.best_friend is not None:
return self.best_friend.name
else:
return None
# Create two Person objects
alice = Person('Alice')
bob = Person('Bob')
# Alice's best friend is Bob
alice.set_best_friend(bob)
print(alice.get_best_friend_name())
# Charlie doesn't have a best friend
charlie = Person('Charlie')
print(charlie.get_best_friend_name())
In this example, None is used as a default value for the best_friend attribute of a Person instance. The get_best_friend_name method returns the name of the best friend if there is one, and None if there isn’t.
The above code will output the following:
Special Functions and Techniques for Null Object
Kami kini akan membincangkan beberapa fungsi dan teknik khas yang boleh anda gunakan berkaitan dengan NoneType dan mengendalikan nilai nol. Kami akan merangkumi dua sub-bahagian utama:
Fungsi Id
Fungsi Getattr
1. Fungsi Id
Fungsi id() dalam Python ialah fungsi terbina dalam yang mengembalikan identiti objek. Identiti ini ialah integer unik dan malar yang diberikan kepada objek semasa hayatnya.
Ini membolehkan anda membezakan antara objek dengan alamat memori yang berbeza. Fungsi ini amat berguna apabila bekerja dengan objek NoneType, kerana ia boleh digunakan untuk menyemak kehadiran None dalam pembolehubah atau ungkapan.
Berikut ialah contoh menggunakan fungsi id() :
a = None
b = None
c = 42
print(id(a)) # Output: some unique integer representing None
print(id(b)) # Output: same integer as id(a)
print(id(c)) # Output: different integer from id(a) and id(b)
Output kod ini diberikan di bawah:
Memandangkan None adalah warganegara kelas pertama dalam Python, ia mempunyai identiti uniknya sendiri. Ini bermakna anda boleh menggunakan fungsi id() untuk membandingkan pembolehubah kepada Tiada menggunakan identitinya:
if id(a) == id(None):
print("a is None")
Output diberikan di bawah:
2. Fungsi Getattr
Fungsi getattr() ialah satu lagi fungsi Python terbina dalam yang membolehkan anda mengakses atribut objek mengikut nama.
Memandangkan objek dan rentetan, getattr() mengembalikan nilai atribut bernama atau objek Tiada jika atribut itu tidak wujud.
Ini boleh membantu anda apabila mengendalikan nilai nol, terutamanya dalam kes di mana anda perlu mengakses atribut yang mungkin tiada.
Berikut ialah contoh menggunakan fungsi getattr() :
class ExampleClass:
def __init__(self, x, y):
self.x = x
self.y = y
example_obj = ExampleClass(3, 4)
# Access attribute using getattr
print(getattr(example_obj, "x")) # Output: 3
print(getattr(example_obj, "z", None)) # Output: None
Dalam contoh di atas, kami menggunakan getattr() untuk mengakses atribut x dan cuba mengakses atribut z yang tidak wujud.
Dengan memberikan nilai lalai None, kami menghalang AttributeError dan sebaliknya menerima objek None.
Akibatnya, fungsi ini membolehkan akses atribut selamat walaupun dengan kehadiran objek nol atau atribut hilang.
Output kod ini diberikan di bawah:
Membandingkan Null dalam Bahasa Pengaturcaraan Lain
Pada permulaan artikel ini, kami membuat perbandingan singkat Null dalam Python dan Null dalam bahasa pengaturcaraan lain.
Dalam bahagian ini, kami akan membawa topik ini ke hadapan dan membandingkan Null dalam bahasa pengaturcaraan popular lain dengan Null dalam Python. Ini akan membantu anda lebih memahami konsep Tiada dalam Python jika anda datang dari latar belakang pengaturcaraan yang berbeza.
Mari kita masuk ke dalamnya!
1. Null di Jawa
Di Java, kata kunci "null" mewakili rujukan yang tidak menunjuk kepada sebarang objek atau nilai. Ia digunakan untuk menunjukkan ketiadaan nilai dan sering digunakan sebagai nilai lalai untuk rujukan objek.
Contohnya:
String myString = null; // Declare a String object with a null reference
Java's null berbeza daripada Python's None. Null mewakili kekurangan objek, manakala None ialah objek sebenar NoneType.
2. Nol dalam C
Dalam bahasa pengaturcaraan C, null diwakili oleh penunjuk nol, yang menunjukkan penunjuk yang tidak dimulakan atau kosong. Penunjuk nol selalunya diwakili oleh nilai integer 0.
Berikut ialah contoh menggunakan penunjuk nol dalam C:
int *myPointer = NULL; // Declare an integer pointer with a null reference
Null dalam C tidak dikaitkan dengan jenis data tertentu. Ia berfungsi sebagai pemegang tempat untuk penunjuk yang tidak dimulakan atau kosong.
3. Null dalam PHP
Dalam PHP, null mewakili pembolehubah tanpa nilai atau rujukan. Seperti dalam bahasa lain, null digunakan untuk menandakan pembolehubah yang tidak dimulakan atau kosong.
Berikut ialah contoh Null dalam PHP:
$myVar = NULL; // Declare a variable with a null reference
Null PHP bukanlah objek jenis data tertentu tetapi sebaliknya pemalar khas yang mewakili ketiadaan nilai.
Fikiran Akhir
Dalam perjalanan anda sebagai pengaturcara Python, mempelajari tentang nilai None adalah sangat penting. Ia adalah ciri unik yang berfungsi sebagai cara Python untuk mengatakan "tiada apa-apa di sini."
Ia penting untuk mewakili ketiadaan nilai. Dengan memahami dan menggunakan None dengan betul, anda boleh mencipta fungsi yang lebih fleksibel dengan hujah pilihan dan mengendalikan data yang hilang dengan berkesan.
Tambahan pula, nilai Tiada membenarkan fungsi anda berkomunikasi dengan jelas apabila sesuatu tiada atau apabila syarat belum dipenuhi. Selain itu, memahami Tiada adalah penting apabila berurusan dengan pangkalan data, objek yang ditentukan pengguna, atau apabila anda perlu memulakan pembolehubah.
Panduan mengenai nilai Tiada dalam Python ini menunjukkan beberapa senario penting di mana anda akan mahu menggunakan objek Tiada dalam kod anda.
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.
Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu