Tampilkan postingan dengan label python. Tampilkan semua postingan
Tampilkan postingan dengan label python. Tampilkan semua postingan

Senin, 07 Maret 2016

Lambda : Python

Pertama kali mengenal lambda saya tidak begitu tertarik. Dulu saya berpikiran, untuk apa pusing memikirkan cara menulis fungsi dalam satu baris. Toh pakai cara biasa juga bisa walaupun baris-barisnya bisa lebih banyak. Nah lho, aneh kan? Alhasil program saya bisa terdiri dari banyak baris yang sebenarnya bisa dipersingkat jadi satu baris. Padahal, kalau mau berpikir sebentarrr saja.. beberapa baris-baris itu bisa dihilangkan sehingga programnya bisa lebih rapi. Dasar malas! Haha.

Sampai suatu ketika mau tidak mau saya harus menuliskan program dengan menggunakan lambda. Ternyata wow luar biasa. Powerful. Dan ternyata buat memahami fungsi nya gak menghabiskan waktu lama-lama amat. Cukup perhatikan contohnya lalu pahami. Simple.

Cara paling mudah mempelajari bahasa pemrograman adalah dengan memperhatikan contoh yang sederhan. Pahami lalu kembangkan sendiri. Saya contohkan penggunaan lambda dengan contoh berikut.

Sebelumnya dengan fungsi biasa kita bisa tulis

def f(x):
       return x*x

Nah kalau menggunakan lambda cukup tulis

f = lambda x: x*x

Cara memanggil fungsinya sama; misalkan f (3) hasilnya akan sama-sama 9. Bayangkan fungsi dengan beberapa baris bisa disederhanakan dengan lambda. Silakan fahami contoh tersebut dan selamat mencoba!

Pip di Windows

Pip biasanya sudah terinstal saat menginstall Python. Kalau di linux kita bisa langsung tuliskan perintah pip install package; di windows agak berbeda. Perintah yang dipergunakan adalah

python -m pip install package

atau untuk upgrade

python -m pip install --upgrade package

Minggu, 06 Maret 2016

Unable to find vcvarsall.bat

Error: Unable to find vcvarsall.bat

Pesan ini saya temui waktu saya mencoba menginstall pycrypto. Oh iya, bagi yang belum tahu cara install pycrypto di Windows, cukup tuliskan perintah berikut

python setup.py install

setelah itu biasanya proses instalasi paket akan selesai, tapi kalau sedang beruntung nanti bisa ketemu pesan error yang sama dengan yang saya temui di atas. hahaha.

Beberapa thread di stackoverflow sudah membahas permasalahan ini. Sepertinya letak permasalahannya ada pada visual studio yang terinstall di PC. Ada beberapa solusi tapi salah satu yang saya rekomendasikan adalah dengan menginstall Visual C++ for Python yang ada di situs Microsoft ini. 

Oh iya, ada beberapa baris kode yang harus diubah di file setup.py pada paket yang akan anda install

Pada baris kode ini

from distutils.core import setup
from distutils.extension import Extension
Coba ganti dengan 

try:
    from setuptools import setup
    from setuptools import Extension
except ImportError:
    from distutils.core import setup
    from distutils.extension import Extension
Good luck!

nb: tautan di atas khusus untuk Python 2.7; untuk Python versi lain bisa ubek-ubek situs Ms di atas

for further reading, see this

Rabu, 20 Januari 2016

Random Modul

import random

>> random.choice(['apple','pear','banana'])
'apple'
>> random.sample(range(100),10)
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>> random.random() #random float
0.1728219100
>> random.randrange(6)
4

Selasa, 19 Januari 2016

Dua Input Terpisah

Adakalanya kita ingin menggabungkan dua input yang terpisah. Kalau di C biasanya sintaksnya seperti ini.

scanf("%s", &kata1)
scanf("%s", &kata2)
printf ("kata1 adalah %s dan kata2 adalah %s", kata1,kata2)

Nah kalau di Python bagaimana?
Ada tiga cara sebenarnya. Pertama sepertinya bisa pake .join() tapi yang saya sendiri lebih cenderung pake dua cara ini.

kata1 = input()
kata2 = input()
print ('kata1 adalah %s dan kata2 adalah %s'%(kata1,kata2))
print ('kata1 adalah {} dan kata2 adalah {}'.format(kata1,kata2))

Nah coba perhatikan perbedaannya; pakai % kita harus tahu apakah itu string atau integer, atau kalau pakai format kita tinggal kasih tanda {}. silakan dipilih yang mana.

update:

ada satu cara lagi yang bisa dipake untuk print input di python:

print('kata1 adalah', kata1,'dan kata2 adalah', kata2)

perhatikan beda dengan sebelumnya, lebih simpel kan...

Popular Posts