Python Basic - corat coret only

Mohon diabaikan teman-teman, ini hanya corat coret basic dari python yang sedang author pelajari saja, kalau ada yang bingung boleh tanya mbah google atau boleh tanya di kolom komentar biar kita sama-sama belajar ya ^^

Fungsi Native / Bawaan

** (power / kuadrat)

% (modulus / mod)

+ (untuk concatenation string, contoh "string ini ditambahkan variable string " + b

print (untuk menampilkan output)


Array: 

myArray = []

array di python dimulai dari index 0

untuk munculin isi sesuai array index: myArray[0]...

untuk dapatin list array paling belakang, bisa pakai index -1


len: menghitung panjang / jumlah isi array

untuk nambahin list ke array, bisa pakai append, myArray.append('value')


untuk nested list:

myArray = [1,2, [3,4]]


untuk dapatin isi dari nested list, sesuaiin dengan index si nested list, trus index nested list mulai dari 0 lagi : myArray[2][1]


Dictionaries, list with key and values (order bisa ngaco, jadi harus pakai hash table kalau mau yang sorted

d = {'key':'value1', 'key2' :'value2'}

cara aksesnya: d['key2']


boolean: True / False (Huruf besar kapital)


Tuples (list, sequence of items), immutable. can't reassign the item inside of them, like constant

jadi misal kita ada list: iniList = (1,2,3)


lalu kita mau assign isi list index pertama dengan:

iniList[0] = 'New Data'

yang kita dapatkan adalah sintax / type error, tuples doesnt support for item assignment


Set, unorder collection of unique element

{1,2,3} 


jadi kalau misal ada data yg unique di dalam set, akan otomatis di cari yang unique saja

contoh: {1,1,2,3}, output: {1,2,3}



Operators

  1. Comparison Operators

compare 2 diff variables, return true / falsse boolean (< , > , <= , >=, ==, != )

contoh: 1 < 5, hasilnya adalah true

  1. Logic Operators, and, or

contoh ( 1== 1 ), hasilnya true. 

contoh (1 == 2)and ('b' == 'c') hasilnya false

  1. IF Else Statement, (Python pakai indentation dan white space dibanding {} untuk scope

if 1 == 1 :

     print('yea')

elif 1 == 2:

     print('maybe')

else:

     print('no')

  1. for loop, looping object, list, dictionaries, tuples. contoh kita punya list nama seq

seq = [1,2,3,4,5]

for element_in_seq in seq:

    print(element_in_seq)


  1. while loop

contoh untuk loop dan break nya:

1 = 1,

while i < 5 :

print('i is {}'.format(i))

i = i+1


  1. range function, untuk auto buat list sebanyak x index. range(x), ini akan buat set list sebanyak 5 index, ingat index selalu dimulai dari 0

list(range(5)) : hasilnya [0,1,2,3,4]

  1. list comprehension. kita menambahkan list ke list lain dengan isian custom


umumnya, untuk menambahkan list dari sebuah list, kita akan memakai temporary list dan for loop. contoh kita punya list x = [1,2,3,4,5]

lalu kita punya output array out = []

for num in x:

out.append(num**2)


print(out)

hasil dari out adalah [1,4,9,16,25]


tapi kita bisa memakai cara yg sederhana dibandingkan for loop append,

contoh:

[num**2 for num in x]

hasil yang didapat dari out akan tetap sama, yaitu adalah [1,4,9,16,25]


logikanya:

kita meloop element dari x dan di simpan ke variable bernama num. lalu num ini akan kita kuadratkan (power), lalu langsung dimasukkan ke dalam list. Kalau diperhatikan, kita loop didalam list bracket []


===

Functions & Custom Function


keyword untuk buat function : def

contoh:


def my_func(): 

print('hello')


cara panggil functionnya:

my_func()


kaalau tidak pakai (), biasanya python akan merespon nama file, dan nama functionnya


untuk mengirim parameter:

def my_func(name):

print('hello '+name)

my_func('Beto')

hasilnya: hello beto



untuk pemakaian default, my_func(name='')

untuk pemakaian comment documentation di Python pakai triple quote (''')

contoh:

my_func(name):

    '''

    This is a documentation function text

    '''

    print(name)


untuk mengirim kembali value dari ssebuah function, pakai return (print tidak mengirim kembali isi, hanya mencetak)

def my_func(name):

        return 'My name is '+ name

myoutput = my_func('Beto')

print(myoutput) > hasilnya adalah My name is beto



Lambda expression : way how you can quickly type in anonymous function


def times_two(var):

return var*2

times_two(10)

output: 20


pakai lambda keyword untuk mereturn sebuah variable dengan pemakaian berulang. mengkonversi function ke lambda expression

lambda var: var*2


lower function: variable.lower(), membuat huruf kecil untuk semua string dalam variable

split function: variable.split(), memisahkan string berdasarkan spasi untuk menjadi sebuah list. Pakai delimiter di dalam kurung untuk memisahkan string berdasarkan karakter delimiter. 


Untuk mengambil keys dan value dari sebuah dictionaries (ingat, dictionaries tidak berurutan), misal kita punya dictionaries d = {'key1':'value1', 'key2': 'value2'}

kita bisa pakai d.keys(), ini akan mengembalikan semua key dalam dictionaries, dalam bentuk list, jadi contoh:

d.keys()

print(d), hasilnya: ([key1,key2])


untuk mengembalikan list item dalam dictionaries, kita bisa pakai d.items()

hasilnya: ([('key2','value2'), ('key1','value1')])


append & pop list

Append: menambahkan list ke index terakhir, contoh kita punya list

myList = [1,2,3]


kita mau menambahkan list, myList.append(4), maka hasil dari myList adalah [1,2,3,4]


Tapi kalau kita misalnya mau mengambil list dari urutan terakhir, kita bisa pakai function pop(), contoh

lastList = myList.pop(), hasil dari lastList adalah 4, hasil dari myList adalah [1,2,3]. 

Kalau mau membuang list berdasarkan index, kirim index yang dimau (dari index 0) ke dalam pop(), contoh myList.pop(1)



NumPy

NumPy adalah librari untuk python, numpy sangat berguna untuk pengerjaan n-dimensional array, lebih efisient untuk mengolah array dibanding fungsi array bawaan dari Python


npy = import numpy as np

function:

np.arange(5)

np.zeros(5)

np.ones(5)

np.linspace(start, stop, num), lineary space. 

contoh: np.linspace(0,10,3) , hassil: array([0., 5., 10.])

np.eye(5) > creating square matrix 

np.random.* (to generate random data), contoh:

np.random.rand(x). kalau dikirim shape (x,y), aakan buat x row dan y column


np.random.randn(x) < random number tapi bisa dapet - 1 ~ 1


np.random.randint(start, end, xdatatoshow)


make arbitrary seed, set a particular set of random number, isian randomnya selalu sama

np.random.seed(42)

np.random.rand(4)

hasil: 


arr = np.arange(0,25)

arr.reshape(5,5) << di reshape jd 5 baris 5 kolom. jumlah x*y harus sama dengan jumlah array


array.max() -> dapetin nilai max dalam array

array.min() -> dapetin nilai min

array.argmax() -> dapetin inddex nilai yang max

array.argmin() -> dapetin index nilai yang paling kecil


array.dtype => untuk tau nilai array int32 atau dll


array.copy() => untuk menyalin array dan disimpan ke sebuah variable baru

array[:] = 100 => membuat isi array dari index 0 - x, menjadi 100

array[x:y] = mengambil isi array dari index x sampai y-1, istilahnya kita memotong array / slicing array


cara membuat array 2 dimensi:

array_2d = npy.array([ [1,2,3], [4,5,6], [7,8,9] ])

hasilnya:

array([ [1,2,3],

           [4,5,6],

           [7,8,9]] )


untuk mengambil isi array 2D, perlu diingat sekarang kita sudah mempunyai dimensi baris / row, dan baris kolom / column, array 2d kita punya bentuk 3 baris dan 3 kolom, lalu bagaimana untuk mengambil isi nya?

array_2d[0] - ini akan mengambil aarray dari baris 1 / index ke 0, ingat array dalam python selalu baris kolom urutannya.


Misal untuk contoh diatas, kita mau mengambil nilai 5, yang ada di baris ke 2 dan kolom ke 2, caranya adalah: 

array_2d[baris][kolom] atau array_2d[baris,kolom] = array_2[1][1] / array_2d[1,1]


lalu bagaimana kalau misalnya kita mau memotong array berdasarkan baris / kolom, caranya:

array_2d[x:y, z:a], nilai x,y,z,a ini bisa dikosongkan, tapi karena kita mau mengambil baris atau kolom tertentu, mari kita pakai contoh:


kita akan mengambil dari baris 1-2 (index 0-1) dan dari kolom 1-2 (index 1-2), maka cara kita slicingnya adalah:

new_array = array_2d(:2, 1:)

-. hasil dari new_array adalah:

array([[2,3]

          [5,6]])


-. Validating condition inside array

contoh kita punya array: array([1,2,3,4,5,6,7]) atau bisa pakai arr = np.arange(1,8)


kalau kita jalankan : bool_arr = arr > 4, maka hasil nya adalah

array([false,false,false,false, true,true,true]), nilai dari array yg diatas 4, akan di jadikan boolean true


dan untuk dapatkan nilai nya, kita bisa balik penggunaannya:

arr[bool_arr], dan hasilnya adalah array([5,6,7])


atau singkatnya: arr[arr > 4]


Comments

Popular posts from this blog

Product Manager - Apa, Siapa & Bagaimana?

Upgrading Python version di Mac OS

Data Science - Pengenalan