Materi 2 | Konsep yang perlu diketahui
Diambil dari chanel youtube camp.114
https://youtu.be/juX9v6Y-2js
Pada materi kali ini awalnya kita akan membahas tentang tipe data. tetapi karena satu dan lain hal mungkin sebaiknya sebelum kita baha tipe data ada baiknya kita membahas beberapa konsep yang ada dalam python.
Python Object
Di dalam python, objek merupakan abtraksi dari data. Bahkan semua yang ada di dalam python adalah objek. Jika kita mengingat kembali materi sebelumnya, kita mempunya contoh a = 10 , setelah sekarang kita mengetahui bahwa semua yang ada di python adalah object. Kita akan bertanya ketika objek dibuat, kemudian apa yang terjadi pada a. Yang terjadi adalah variable tersebut akan mempunyai id, kemudia tipe datanya akan diset menjadi integer dan object ini akan mempunyai value atau nilai yang akan diisi oleh angka 10. Terakhir objek dari a ini akan disimpan dalam global namespace.
variable
kemudian kita akan membahas tentang variable, variabel dalam python sama seperti variable dalam bahasa pemrograman lain. Dalam python variable akan merujuk kepada sebuah object.misalnya a = [1,2,3] , maka a akan merujuk atau mereference ke dalam sebuah object list yang berisi 1,2,3. atau contoh lain kita akan bahas dalam contok kode berikut
budi = ['handphone', 'kacamata', 'smartwatch']
andi= ['handphone', 'kacamata', 'smartwatch']
a = (budi==andi)
b = (budi is andi)
print ('id budi adalah', id(budi))
print ('id andi adalah', id(andi))
print('barang yang dimiliki sama', a)
print('apakah budi sama dengan andi', b)
dari contoh di atas dapat dilihat bahwa budi, andi, a, b adalah variable yang memiliki value meriference ke dalam sebuah list yang berisi barangnya, yaitu handphone, kacamata, smartwatch. Sedangkan a dan b adalah objek yang masing-masing memiliki value perbandingan barang budi dan andi, juga value id yang membandingkan id budi dan andi.
namespace
Namespace, adalah tempat/kontainer dari variableyang kemudian digunakan untuk maping dari names ke dalam objek. dari contoh sebelumnya kita bisa melihat namespasenya adalah Global. Jika kita kembali lagi ke contoh budi. dan global frame kita anggap kecamatan, misalkan budi tinggal di kec.cicendo jika kita ingi mencari budi kita dapat mengimport budi ke dalam module kita seperti
from bandung.cicendo.pajajaran import budi
from jakarta.menteng.sudirman import andi
contoh ini menggambarkan bandung merupakan namespace pertama, kemudian kita mencari cicendo di dalam bandung, lalu kita mencari pajajaran sebagai namespace selanjutnya maka kita akan menemukan budi di pajajaran. untuk sekarang jangan terlalu bingung dengan namespace, nanti jika kita sudah masuk ke dalam real code maka kita akan lebih mudah untuk memahami namespace.
Sebagai contoh, misal kita mempunyai 2 buah file seperti :
from testImport.alamat import alamatgw
nama = 'budi'
jl = 'Rumah gw ada di'
isi = input('masukan alamat sebenarnya : ')
print(nama)
print(jl)
alamatgw(isi)
def alamatgw(jalan):
jl = jalan
print(jl)
scope
Satu lagi yang perlu kita bahas adalah scope, scope ini berhubungan erat dengan namespace. Menurut pythonya sendiri scope "a scope is a textual region of a Python program, where a namespace is directly accessible". Jika merujuk pada w3c yang defenisikanya lebih praktikal akan seperti ini "A variable is only available from inside the region it is created. This is called scope.".
Dari kedua defenisi di atas dapat disimpulkan scope adalah daerah dimana sebuah variabel dapat di akses. Dalam python sendiri scope meliputi :
- local scope, merupakan scope terdalam yang berisi variable lokal
- enclosing scope, merupakan scope yang mempunyai variabel non-lokal tetapi tidak mengandung variable dari global scope
- global scope, contains global names.
- built-in scope, berisikan built-in names atau Built-in Functions, misalnya `float(), print(), super() dan lain lain
`
def Luar():
nama = 'Budi' # Local
def Dalam(): # Local
umur = 25 # enclose
print('nama : ', nama) # enclose
print('umur: ', umur) # enclose
Dalam() # Local
print('tes panggil umur') # Local
print('umur: ', umur) # Local
Tes = 'Test Enclose' # Global
print(Tes)
Luar()
`
Mutable dan Immutable
Perbedaan mendasar Python ada pada data yaitu apakah nilai suatu objek berubah atau tidak. Jika nilainya dapat berubah, objek disebut disebut Mutable, sedangkan jika nilainya tidak bisa berubah, objek itu disebut Immutable. mengetahui muttable dan immutable pada python cukup penting, karana akan mempengaruhi kode yang kita buat.
mari kita lihat contohnya
`
angka = 1000
print(id(angka))
print(angka)
angka = 2000
print(id(angka))
print(angka)
class orang():
def init(self, umur, kota, tanggal):
self.umur = umur
self.kota = kota
self.tanggal = tanggal
orang = orang(20, "bandung", 2000)
print(id(orang))
print(orang.umur)
orang.umur = 10
orang.kota
orang.tanggal
print(id(orang))
print(orang.umur)
`
Top comments (2)
akhirnya menemukan postingan bahasa indonesia
salam kenal gan
keep posting
siap Bang, makasih ya udah saling support