Belajar Python Dasar. Pembahasan Truthiness
Truthiness adalah sebuah istilah dalam pemograman dimana kita mencari tahu seberapa jauh suatu nilai bernilai true atau false. Artinya dari setiap banyaknya tipe data sebenarnya mana saja yang mempunyai nilai kebenaran intrinsik di dalamnya.Yang mana ini sangat berpengaruh jikalau kita ingin memproses program untuk sebuah perkondisian
Misal saya mempunyai perkondisian di bawah
if "makan":
print(True)
else:
print(False)
Kode diatas akan memunculkan hasil True. Namun jika "makan" saya ubah menjadi string kosong seperti ini
if "":
print(True)
else:
print(False)
Baca Juga: Ringkasan dan Download Data Science from Scratch: First Principles with Python 2nd Edition
Kode ini akan memunculkan hasil False. Sampai sini kita bertanya tanya dan menyimpulkan, "Oh, ternyata string kosong itu bernilai False, kira kira ada ga ya tipe data lain yang bisa jadi bernilai False?". Kenapa ini sangat penting karena ini berkaitan bagaimana cara aplikasi kita bekerja
Data Yang Mempunyai Nilai False
Selain string kosong, tipe data dibawah juga memiliki nilai False
a = False
b = None
c = []
d = {}
e = ""
f = set()
g = 0
h = 0.0
Ini sangat berguna jika kita ingin mengambil huruf pertama pada sebuah kata. Dan seumpama kata itu berupa string kosong, kita bisa memberikan pesan khusus sebagai karena False
def get_string():
return "Hello World"
s = get_string()
if s:
print(s[0])
else:
print("")
Bisa juga disingkat menjadi seperti ini
first_string = s and s[0]
Pada bahasa pemograman lain kode diatas biasa ditulis seperti ini, let first_string = s && s[0]
Bahkan kita bisa mengechek variabel kosong menggunakan logika diatas yaitu berupa OR
safe_x = x or 0
Karena x belum didefinisikan, kita sendiri bahkan bisa mengeceknya, jika tidak ada maka kira isi dengan nilai 0. Kode diatas sama halnya dengan kode berikut
safe_x = x if x is not None else 0
Function Untuk Testing
Kita juga bisa menguji data data bernilai false ini menggunakan function all()
all()
all() adalah function yang menerima list dimana di dalam list tersebut berisi data data boolean yang mana semua data ini akan menggunakan logika AND. Ngerti ga? wkwkwkw
misal saya menuliskan kode berikut
all([True, 3]) ini akan mengembalikan nilai True karena ada True dan 3 yang sama sama merupakan True. Kalo dituliskan dengan kode lain berikut True && 3. Kalo ditambah item lagi maka bisa saja memunculkan nilai boolean yang berbeda
all(True, 3, {}] memunculkan nilai False
any()
Sebaliknya any() menggunakan logika OR.
any(True, {}) memunculkan nilai True
any(False, {}) memunculkan nilai False
Comments
Post a Comment