Tipe Data Untuk Pemasar: Angka, String, dan Boolean

Diterbitkan: 2017-08-10

Catatan: Posting blog ini adalah yang ketiga dari seri yang ditulis oleh Sr. Web Analyst kami, Adrian Palacios, dan dirancang untuk memberikan informasi dan instruksi yang dibutuhkan pemasar untuk menginstal bahasa pemrograman, Python. Jika Anda melewatkannya, posting pertama Adrian menjelaskan mengapa pemasar harus mempertimbangkan untuk melakukannya di tempat pertama dan posting keduanya menjelaskan cara menginstal Python.

Ketika saya mulai belajar bagaimana memprogram, saya memiliki banyak masalah dengan konsep “tipe data.” Itu selalu menjadi salah satu topik pertama yang dibahas, tetapi juga salah satu yang paling abstrak. Karena frustrasi karena tidak mengerti, saya biasanya melewatkan diskusi apa pun tentang tipe data dan merasionalisasikannya dengan mengatakan pada diri sendiri, "Apa gunanya?" Tetapi setelah beberapa tahun menjadikan pemrograman sebagai bagian dari pekerjaan saya sehari-hari, tipe data (perlahan) mulai masuk akal.

Apa itu tipe data?

Tipe data adalah seperangkat aturan yang mengatur apa yang bisa (dan tidak bisa) Anda lakukan dengan Python. Anda mengalami kendala serupa di dunia nyata setiap hari: cobalah membayar makanan dengan kartu kredit ketika restoran hanya menerima uang tunai. Cobalah mengendarai sepeda menyusuri sungai daripada menggunakan kano atau kayak. Atau cobalah memanggang kue dengan garam sebagai pengganti gula. Anda dapat mencoba hal-hal ini jika Anda benar-benar menginginkannya, tetapi saya ragu Anda akan senang dengan hasilnya.

Demikian pula, jika Anda menganggap pemrograman sebagai memanggang, maka tipe data adalah bahan utama dari setiap kode Python, seperti telur, tepung, mentega, baking powder, dan gula adalah bahan utama untuk membuat kue. Atau, mungkin Anda ingin kue? Gunakan lebih sedikit tepung, jatuhkan baking powder sama sekali, mungkin tambahkan isian buah dan voila, Anda sedang dalam proses membuat pai. Lihat ke mana ini pergi? Memahami kemampuan setiap tipe data dan bagaimana menggabungkannya adalah kunci untuk menjadi programmer yang lebih baik.

Berikut adalah beberapa tipe data umum di Python:

Bilangan, yang dibagi lagi menjadi jenis lain, seperti:
Bilangan bulat: 0, 1, 2, 3
Mengapung: 0.0, 1.0, 2.5, 3.145
String: 'Berpikir Berbeda', 'Netflix dan Dinginkan'
Boolean: Benar, Salah

Ada lebih banyak tipe data dalam Python, tetapi untuk saat ini kita akan fokus pada ketiganya.

Dalam posting ini, Anda akan mempelajari beberapa hal yang dapat Anda lakukan dengan tipe data dasar di Python dan mengapa tipe data itu penting.

Menurut pengalaman saya, ini cenderung menjadi bagian yang paling membosankan dari setiap buku/video/kursus online "Pelajari Cara Memprogram", tetapi karena tipe data sangat penting untuk pemrograman, saya sangat menyarankan untuk tidak melewatkan posting ini.

angka

Dua jenis angka utama dalam Python adalah bilangan bulat (bilangan bulat) dan float. Float dapat dianggap sebagai desimal, tetapi ada beberapa perbedaan besar, salah satunya akan dibahas nanti.

Hal paling jelas yang bisa kita lakukan dengan angka adalah…matematika! Berikut adalah beberapa karakter khusus yang digunakan untuk mengerjakan matematika dengan Python:

Dengan operasi dasar ini, sekarang kita dapat mengerjakan beberapa skenario.

skenario 1

Tim konten Anda melaporkan bahwa blog menghasilkan 80.000 tampilan halaman dua minggu lalu dan minggu ini menghasilkan 105.000 tampilan halaman; berapa pertumbuhan mingguan dalam tampilan halaman? Ingatlah bahwa untuk menghitung persentase perubahan yang dapat Anda lakukan (Nomor Baru – Nomor Lama) Nomor Lama:

Yah, sepertinya itu kurang tepat. Kenapa tidak? Seperti ahli matematika yang baik, Python mengikuti urutan operasi dalam pernyataan yang kita ketik. Di sini kita dapat menggunakan tanda kurung untuk memberi tahu Python urutan yang benar-benar kita inginkan:

Itu lebih baik. Ingat, kita melihat persentase, jadi dalam kasus ini, memindahkan desimal dua tempat ke kanan akan memberikan apa yang kita butuhkan. Sepertinya lalu lintas ke blog telah tumbuh 31,25% dari minggu ke minggu.

Skenario 2

Anda bekerja dengan penerbit online untuk menjalankan kampanye khusus yang menyertakan spanduk format besar dan iklan video. Penerbit mengirimkan proposal yang menyatakan bahwa paket tersebut memiliki biaya tetap sebesar $15.000 dan mereka mengharapkannya menghasilkan 550.000 tayangan; Anda ingin menghitung BPS untuk membandingkan proposal ini dengan opsi lain dengan lebih baik.

Untuk mencari CPM, kami menggunakan rumus Biaya Kampanye (Total Tayangan 1000):

Kali ini kami mendapatkan urutan operasi yang benar; sepertinya CPM untuk kampanye adalah sekitar $27,27.

Menggunakan Python seperti ini sangat membosankan, terutama ketika mengetik rumus yang panjang hanya menghasilkan satu metrik. Meskipun contoh-contoh ini sederhana, ada cara untuk menerapkan operasi matematika yang lebih rumit ke ratusan ribu (atau bahkan jutaan) baris data.

Versi Python yang lebih lama (versi 2.7 dan yang lebih rendah) memberikan beberapa jawaban aneh terkait pembagian bilangan bulat yang akan menghasilkan float, seperti membagi 1 3. Dalam dua contoh ini, kita telah membagi bilangan bulat dan diakhiri dengan float tanpa masalah, yang merupakan bagian dari keajaiban menggunakan versi Python yang lebih baru. Itu menimbulkan pertanyaan: mengapa angka dengan titik desimal disebut sebagai float daripada desimal? Jackie Kazil dan Katharine Jarmul memiliki contoh yang bagus dalam buku mereka, Data Wrangling With Python : dalam banyak bahasa pemrograman, 0,1 + 0,2 tidak sama dengan 0,3. Cobalah sendiri: ketik 0.3 ke terminal Anda, lalu ikuti dengan 0.1 + 0.2

Aneh, kan? Mark Lutz membahas lebih dalam tentang keanehan ini dalam bukunya, Learning Python , tetapi karena pemasar biasanya tidak perlu menghitung angka hingga tingkat sepersejuta, tidaklah penting untuk sepenuhnya memahami masalah ini dan cukup baik untuk mengetahuinya saja. Tetapi jika Anda benar-benar penasaran, berikut adalah beberapa posting yang menjelaskan lebih lanjut:

  • Floating Point Demystified, Bagian 1
  • Floating Point Demystified, Bagian 2

string

String dapat dianggap sebagai karakter yang diapit tanda kutip. Ini adalah definisi yang terlalu disederhanakan karena mengabaikan nuansa antara bytearray, Unicode, ASCII, dll., tetapi saya pikir detail semacam itu tidak diperlukan untuk saat ini.

Bagaimana cara memasukkan karakter yang diapit tanda kutip dengan benar? Ternyata ada lebih dari beberapa cara berbeda. Misalnya, sebagian besar waktu tidak masalah jika Anda menggunakan tanda kutip tunggal atau tanda kutip ganda, selama Anda tetap konsisten:

Dengan diawali dengan tanda kutip ganda di string ketiga dan diakhiri dengan tanda kutip tunggal, kami menemukan kesalahan. Anda mungkin tidak sengaja mencampur tanda kutip tunggal dan ganda, tetapi satu hal yang harus diperhatikan adalah apostrof:

Perhatikan bahwa string pertama, yang diapit oleh tanda kutip ganda, menangani apostrof dengan baik, sedangkan string kedua tidak. Mengapa? Setelah Python menemukan tanda kutip tunggal kedua, ia mengharapkan string berakhir, tetapi huruf-hurufnya terus berjalan. Memotong kalimat membungkam kesalahan:

Tetapi hanya memiliki sebagian kalimat tidak berguna. Jika Anda benar-benar ingin menggunakan tanda kutip tunggal, salah satu opsinya adalah "melarikan diri" dari tanda kutip. Itu bisa dilakukan dengan menempatkan garis miring terbalik (\) tepat sebelum tanda kutip dalam kalimat Anda. Ini memberitahu Python untuk memperlakukan karakter berikutnya dengan cara khusus:

Melarikan diri dari tanda kutip memungkinkan kami untuk tetap menggunakan tanda kutip tunggal dan tanda kutip dalam string yang sama.

Ada satu cara lain untuk membuat string dengan Python: tanda kutip tiga. Perhatikan bahwa ketika Anda mengetikkan string multi-baris, Anda harus menekan enter untuk memulai baris berikutnya; ini juga mengubah Terminal untuk ditampilkan ...: di sebelah kiri baris baru Anda. Ini akan muncul lagi ketika kita mulai mengetik beberapa baris kode.

Terakhir, Anda mungkin melihat beberapa karakter funky dalam string: \n. Ini memberitahu komputer di mana Anda memasukkan baris baru; akan sangat membantu jika Anda perlu mencetak string lagi dan ingin lebih tepatnya tentang pemformatan.

Oke, sekarang setelah kita menghabiskan waktu untuk melihat cara memasukkan string dengan benar (saya tahu, kan? Begitu banyak pekerjaan untuk sesuatu yang begitu sederhana…), saatnya untuk beralih ke bagian yang menyenangkan: memanipulasi string.

Ada banyak, lebih banyak lagi metode untuk string; ada juga seluruh topik lain seperti pencocokan pola dan irisan yang akan kita bahas nanti. Dengan dasar-dasarnya, mari kita bekerja melalui contoh aktual.

skenario 1

Katakanlah Anda memiliki salinan baru yang perlu diunggah ke AdWords, tetapi semua salinannya dalam huruf kecil dan Anda tidak yakin apakah judulnya berada dalam batas 30 karakter. Mari kita periksa panjangnya dan cetak judul "penerbangan termurah ke paris" ke judul kasus:

Contoh pertama secara teknis adalah fungsi, sedangkan yang kedua adalah metode. Satu-satunya hal yang kami pedulikan saat ini adalah bahwa masing-masing diketik secara berbeda: dengan fungsi pertama-tama kami mengetik "len(", lalu string itu sendiri, dan akhirnya tanda kurung terakhir ")". Kabar baiknya adalah bahwa judul berada dalam batas 30 karakter yang diberlakukan oleh AdWords.

Selanjutnya, dengan metode tersebut, pertama-tama kita ketik string, lalu tambahkan .title() setelah kutipan penutup (tanpa spasi!).

Akhirnya, Anda mungkin bertanya pada diri sendiri “Mengapa saya melakukan ini dengan Python ketika rumus yang sama tersedia di Excel?” Itu poin yang adil.

Meskipun mengotak-atik headline adalah contoh konyol, saya harap intinya jelas: ada banyak opsi yang tersedia untuk memanipulasi teks dengan Python. Dan mirip dengan skenario sebelumnya dengan menghitung BPS atau perubahan persen, kemampuan untuk memanipulasi ribuan karakter teks hanya dalam beberapa baris kode adalah alat yang sangat berguna untuk digunakan.

Misalnya, sakit kepala terbesar yang telah menyelamatkan saya adalah membersihkan jutaan baris URL dari Google Analytics. Poin kedua dari latihan ini adalah untuk menunjukkan sesuatu yang dapat menyelamatkan rasa sakit lain di masa depan: jika Anda tahu cara menggunakan rumus di Excel atau Google Docs, Anda sudah selangkah lebih maju dalam memahami cara memprogram. Ada banyak kesamaan yang akan diterjemahkan dari Excel ke Python.

Boolean

Dua boolean utama dalam Python adalah True dan False. Arti mereka benar-benar lurus ke depan: Benar berarti benar dan Salah berarti salah.

Sampai kita menyelami penggunaan logika dengan Python, yang terbaik adalah menjelaskan boolean melalui analogi. Saat Anda membuat kampanye iklan video Facebook, Anda perlu memutuskan materi iklan apa yang akan digunakan. Haruskah itu video baru yang keren yang ditujukan untuk kesadaran merek, atau haruskah Anda tetap menggunakan video lama namun teruji pertempuran yang memiliki ajakan bertindak yang jelas? Itu tergantung pada apa yang ingin Anda capai, bukan? Demikian pula, akan ada titik di mana Anda perlu membuat beberapa logika untuk memberi tahu komputer Anda jalur mana yang harus diikuti, dan boolean adalah salah satu cara untuk menyelesaikan tugas itu.

Ada objek lain dalam Python yang dapat bertindak seperti boolean, tetapi untuk saat ini cukup memperkenalkan True dan False saja. Kami akan membahas subjek ini lebih mendalam dengan posting mendatang.

Terus?

Di awal posting ini, saya menyebutkan bahwa ketika saya pertama kali mencoba belajar tentang tipe data, prosesnya membosankan dan materi pelajarannya membosankan. Sama seperti remaja yang tidak sabaran di kelas geometri sekolah menengah yang mendorong seorang guru dengan pertanyaan "Kapan saya perlu mengetahui sampah yang tidak berguna ini?"

Saya merasa melalui semua Aturan tentang tipe data ini tidak ada gunanya. Tetapi saya semakin menghargai aturan karena ketika Anda mencoba melanggar Aturan ini (sebagian besar waktu), kesalahan akan terjadi. Jika Anda seorang programmer yang bertanggung jawab dan menguji kode Anda sebelumnya, mengalami kesalahan ini dapat menyelamatkan Anda dari membuat kesalahan kritis dalam kode Anda ketika itu benar-benar penting. Mari kita telusuri beberapa cara di mana kesalahan bisa muncul.

Dalam skenario di mana Anda berlatih matematika dengan tipe angka, apakah Anda memperhatikan tidak ada koma yang digunakan saat melakukan perhitungan ini? Anda mungkin terbiasa mengetik angka dengan koma (atau desimal untuk teman-teman Eropa kami!), tetapi jika Anda mencobanya dengan Python, Anda akan menemukan beberapa perilaku aneh:

Hmmm; sama sekali tidak seperti yang Anda harapkan. Dengan menempatkan koma di nomor ini, kami tanpa sadar membuat "tuple;" tidak perlu mengetahui apa tupel saat ini, tetapi penting untuk melihat bahwa koma membagi angka menjadi 500 dan 0, yang jauh berbeda dari lima ratus ribu.

Contoh ini juga menyoroti aspek penting dari penulisan kode: hanya satu karakter yang salah ketik dapat menyebabkan masalah besar. Mengoreksi kode pada awalnya sulit, tetapi dengan latihan, Anda akan menjadi lebih baik. Hasil atau kesalahan yang tidak terduga bukanlah hal yang perlu dikhawatirkan; itu bisa terasa menakutkan, tetapi biasanya itu hanya berarti ada sesuatu yang hilang dalam terjemahan.

Satu aturan yang mungkin Anda harapkan adalah ketika mencoba menambahkan bilangan bulat dan string, Anda akan mendapatkan kesalahan:

Dan Anda akan benar. Di baris kode kedua kami mencoba menambahkan bilangan bulat 1 ke string '1' yang menghasilkan kesalahan. Anda mungkin berpikir, “Itu contoh yang payah; kapan seseorang akan mencoba menambahkan bilangan bulat ke string? Anda akan terkejut betapa banyak API yang mengembalikan angka sebagai string. Ada alasan yang sangat bagus untuk melakukan ini, tetapi ketika Anda berurusan dengan API, menganggap bahwa suatu angka akan menjadi angka bukanlah taruhan yang aman. Salah satu contoh yang bagus adalah API Pelaporan Google Analytics terbaru. Lihat tangkapan layar data yang diberikan Google Analytics saat Anda meminta laporan. Kejutan! Semua angka (lihat kolom “nilai”) diapit tanda kutip.

Hal semacam itu membuat sesuatu menjadi penting, bukan? Akan, tetapi jika Anda membaca dokumentasi API sebelumnya, Anda akan mengharapkan masalah ini. Untungnya ada juga beberapa alat di Python yang bisa membantu kita, seperti fungsi int() :

Dengan menempatkan string '1' di dalam fungsi int(), kita memberi tahu Python bahwa kita ingin memperlakukan ini seperti bilangan bulat; sekarang Anda dapat menambahkan angka-angka ini bersama-sama dan melanjutkan hidup Anda.

Ini hanyalah beberapa kemungkinan tentang bagaimana tipe data dapat menentukan apa yang dapat Anda lakukan dengan Python, tetapi mereka juga menunjukkan bahwa hampir selalu ada cara untuk mengatasi masalah ini. Silakan hubungi saya di twitter jika Anda memiliki pertanyaan tentang tipe data.