Selamat datang kembali ke seri Python dari Awal. Dalam pelajaran sebelumnya, kami belajar bagaimana menggunakan variabel dan struktur kontrol untuk menyimpan dan memanipulasi data. Pastikan untuk memeriksanya jika Anda membutuhkan penyegaran! Show
Video tutorialTranskripDalam tutorial hari ini, kita akan melihat fungsi - apa fungsinya, cara kerjanya, dan cara membuatnya sendiri. Kami juga akan meninjau beberapa fungsi bawaan, dan cara menggunakannya secara efektif. Akhirnya, kita akan melihat cara membuat dan mengimpor modul. Fungsi - Menulis puya kamu sendiriFungsi adalah langkah penting untuk dibahas, ketika memperkenalkan kompleksitas tambahan ke dalam pemrograman Anda. Jika variabel adalah wadah bernama untuk data, maka fungsi adalah wadah bernama untuk blok kode yang dapat dieksekusi berdasarkan permintaan. Ini berguna jika Anda memiliki program yang menjalankan operasi tertentu berkali-kali. Daripada menyalin dan menempelkan kode untuk melakukan operasi itu setiap bagian di mana diperlukan, Anda dapat menulis satu fungsi tunggal untuk melakukannya untuk Anda.
Ada dua jenis fungsi: yang Anda tulis sendiri dan sertakan dalam kode Anda, dan yang disertakan dalam Python secara asli, yang menjalankan prosedur umum, seperti mengonversi bilangan bulat menjadi string, atau menemukan panjang suatu string. Kita akan melihat penulisan fungsi sederhana sekarang, dan mendemonstrasikan bagaimana ini dapat berguna dalam kode dunia nyata. Kemudian, kita akan melihat beberapa fungsi bawaan yang paling penting. Contoh sederhanaMari kita bayangkan bahwa kami ingin membuat skrip untuk keranjang belanja yang mengambil biaya semua barang dalam keranjang Anda, dan kemudian menambahkannya bersama-sama untuk mengembalikan total biaya. Untuk menulis fungsi yang membutuhkan dua biaya, menambahkannya, dan kemudian mencetak hasilnya, kita mungkin melakukan sesuatu seperti: #our two costs to add up cost1 = 15 cost2 = 20 def sumCart(): totalCost = cost1 + cost2 print totalCost sumCart() Untuk mendefinisikan fungsi, kita perlu menggunakan kata kunci ' Untuk membuat kode dalam fungsi berjalan, kita ketik nama fungsi, diikuti oleh dua tanda kurung lagi. Jika Anda menjalankan kode ini, Anda akan melihatnya mencetak '35', yang merupakan output yang benar. Argumen Itu hebat, tetapi saat ini, fungsi kami agak kaku - segala sesuatu tentang fungsi tersebut dikodekan ke dalamnya. Misalnya, katakanlah kita ingin menggunakan fungsi Untuk mengatasi masalah ini, kami menggunakan 'argumen', dan itulah gunanya tanda kurung. Argumen adalah cara mengirimkan data ke suatu fungsi ketika kita tidak tahu variabel mana atau variabel mana data akan berada. Jika itu membingungkan, mari kita ambil contoh yang baru saja saya referensikan. Kami akan menambahkan dua biaya lagi: cost3 dan cost4. Sekarang, kita akan menambahkan dua argumen untuk dua item yang ingin kita tambahkan. Argumen didefinisikan di dalam tanda kurung, dan setiap argumen diberi nama, dengan koma yang memisahkan masing-masing. Argumen bertindak sebagai referensi sementara ke data yang Anda berikan saat fungsi sedang berjalan. cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart(item1, item2): totalCost = item1 + item2 print totalCost sumCart(cost1, cost2) Ketika kita memanggil fungsi Apa yang sebenarnya terjadi ketika fungsi dijalankan adalah bahwa kedua
argumen tersebut dikonversi menjadi variabel lokal dan diberi nilai dari variabel yang Anda berikan ke fungsi ketika Anda menyebutnya - dalam hal ini nilai Cara lain Anda bisa melihatnya adalah, ketika Anda memasukan variabel sebagai argumen, di mana pun nama argumen itu muncul dalam fungsi, itu diganti
dengan variabel yang Anda berikan. Jadi, dalam contoh ini, di mana-mana Untuk membuktikan bahwa Anda dapat memasukan angka apa pun yang Anda inginkan, jika Anda menjalankan kode ini, Anda sekarang harus menerima jumlah cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart(item1, item2): totalCost = item1 + item2 print totalCost sumCart(cost3, cost4) Default ArgumenPerhatikan bahwa suatu fungsi dapat menerima sejumlah argumen, tetapi ingat: ketika Anda memanggil fungsi, Anda harus memasukannya dengan jumlah argumen yang sama seperti yang Anda tentukan, jika tidak, Anda akan menerima kesalahan. Ada satu cara untuk mengatasi ini: Anda dapat menentukan nilai default untuk argumen apa pun, yang digunakan dalam kasus-kasus ketika Anda tidak memberikan nilai. Mengingat kode kita saat ini, mari kita bayangkan bahwa kita ingin item kedua harganya 5 jika kita tidak memberikan nilai fungsi yang berbeda. Ini bukan skenario yang mungkin terjadi, tetapi akan menunjukkan konsepnya. cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart(item1, item2 = 5): totalCost = item1 + item2 print totalCost sumCart(cost1) sumCart(cost3, cost4) Jika kami menjalankan kode ini, Anda akan melihat bahwa, pada panggilan pertama, hasilnya adalah 20, yang memang (cost1 + 5). Ini tidak, ini tidak mempengaruhi perilaku ketika kedua argumen diberikan. Nilai yang dikembalikanAda satu fitur akhir dari fungsi yang akan kita tinjau hari ini: mengembalikan nilai. Kami telah belajar cara membuat fungsi yang tidak masalah input apa yang diperlukan, tetapi bagaimana jika kami ingin menyimpan jawaban untuk 'totalCost' dalam variabel daripada mencetaknya? Mungkin yang ingin kita lakukan adalah menghitung biaya dua item pertama, dan menyimpannya dalam satu variabel, lalu melakukan hal yang sama dengan dua item kedua dan menyimpan jawaban itu dalam variabel kedua. Dengan tata letak fungsi kami saat ini, kami tidak dapat melakukannya dengan cara yang mudah dibaca dan dimengerti. Sama seperti cara kita mengoper argumen ke suatu fungsi sehingga kita tidak perlu membuat hard-code dari mana data berasal, kita bisa melakukan hal yang sama dengan output. Saya akan menunjukkan kepada Anda dengan sebuah contoh - dalam fungsi kami sebelumnya, saya akan mengganti kata 'print' dengan kata 'return': cost1 = 15 cost2 = 20 cost3 = 5 cost4 = 10 def sumCart(item1, item2): totalCost = item1 + item2 return totalCost cart1 = sumCart(cost1, cost2) cart2 = sumCart(cost3, cost4) print cart1 print cart2 Jelas, fungsi tidak akan lagi mencetak jawaban untuk kita - yang akan dilakukan adalah mengembalikan nilai variabel totalCost ke mana pun kita memanggil fungsi. Dengan begitu, kita dapat menggunakan jawabannya dalam konteks apa pun yang kita butuhkan. Sekarang, dalam program kami sebelumnya, itu tidak akan sangat berguna, karena kami tidak menentukan di mana saja untuk menyimpannya, jadi saya juga mengubah cara kami memanggil fungsi. Kita perlu menyediakan variabel dengan Python untuk menyimpan jawaban, dan kemudian kita hanya akan mengatur variabel itu sama dengan pernyataan kita memanggil fungsi. Ketika fungsi mengembalikan nilai, nilai itu sekarang akan disimpan dalam variabel yang kami tentukan. Fungsi - BawaanKami telah belajar cara membuat fungsi kami sendiri, dan cara menggunakannya, tetapi ada beberapa operasi yang cukup sering dilakukan sehingga Python memasukkannya untuk digunakan dalam program apa pun. Cara Anda memanggil mereka persis sama dengan memanggil yang punya Anda sendiri, tetapi Anda tidak harus mendefinisikannya terlebih dahulu. Kita akan melihat sekilas pada yang paling penting sekarang, tapi pastikan kita melihat dokumentasi Python karena ada banyak fungsi berguna yang tersedia untuk digunakan, yang kita tidak punya waktu untuk membahasnya dengan benar. sekarang.
str()Pertama, mari kita lihat salah satu fungsi yang paling berguna di Python: fungsi konversi string. Ada banyak waktu dalam skrip ketika Anda memiliki variabel yang berisi angka, atau jenis data lainnya, tetapi Anda perlu mengonversi nilai itu menjadi string untuk melakukan sesuatu dengannya - biasanya untuk mencetaknya ke layar. Katakanlah kita memiliki nomor dalam suatu variabel, dan kita ingin mencetaknya, dengan pesan ‘The number is‘ dan kemudian nomornya. Jika kita menulis: number = 10 print 'The number is ' + number ... maka kita akan menghadapi kesalahan, karena apa yang Anda minta Python lakukan adalah menambahkan angka dan string bersama - yang tidak terlalu masuk akal. Yang perlu kita lakukan adalah mengubah angka 10 menjadi string 10. Jika kami melakukan itu, Python akan memahami bahwa apa yang kami coba lakukan bukanlah menemukan penjumlahan, melainkan menggabungkan kedua string menjadi satu. Di sinilah fungsi number = 10 print 'The number is ' + str(number) Sekarang kami telah membungkus nomor tersebut dalam fungsi konversi string, kode berjalan dengan sempurna.
Fungsi bool = True print 'The value is ' + str(bool) Fungsi len() Tugas umum lain untuk string adalah untuk dapat menemukan panjangnya, dan, sekali lagi, Python memiliki fungsi bawaan untuk ini. Mari kita ambil string 'Hello World' dan coba cari panjangnya.
Untuk melakukan ini, kita akan membutuhkan fungsi bawaan string = 'Hello World' print len(string) Fungsi int() Pindah, sering Anda diberi angka seperti 10,6 atau 3,896, yang bukan bilangan bulat, tetapi Anda membutuhkan bilangan bulat dari mereka. Fungsi bawaan untuk mengonversi bilangan bulat disebut number = 10.6 print int(number) Fungsi number = '10' print int(number) Namun, berhati-hatilah, karena, ketika mengkonversi dari string ke integer, number = '10.6' print int(number) Maka itu akan menimbulkan kesalahan, karena inputnya bukan bilangan bulat, sehingga tidak tahu cara menanganinya. range() Akhirnya, kita akan dengan cepat melihat fungsi Range menerima integer sebagai parameter, dan, dalam hal ini, kami akan meneruskannya 11. Fungsi itu dimulai dari nol, dan membuat list menghitung ke atas sampai mencapai satu kurang dari jumlah yang Anda masukkan. Jadi di sini, jika kita memasukkan 11, itu akan menyimpan angka 0 - 10 dalam list angka: numbers = range(11) print(numbers) Bagaimana jika kita ingin mencetak angka lima hingga sepuluh saja? Yah, secara opsional, kita bisa memasukkan argumen lain untuk nomor awal, jadi ini akan mencetak angka lima hingga sepuluh: numbers = range(5, 11) print(numbers) Terakhir, bagaimana jika kita hanya ingin mencetak angka ganjil di bawah 10? Nah, range menerima nilai ketiga, yang merupakan jumlah untuk naik setiap langkah. Jadi jika kita mulai dari 1, atur langkah ke dua dan batas atas ke 11, kita harus berakhir dengan semua angka ganjil di bawah sepuluh: numbers = range(1, 11, 2) print(numbers) Sebagai catatan terakhir, angka-angka ini bisa negatif juga, jadi jika kita ingin menghitung KEBAWAH dari 10 ke 1 alih-alih naik, kita dapat mengatur langkah menjadi negatif 1, nilai awal menjadi 10 dan batas ke 0 , seperti: numbers = range(10, 0, -1) print(numbers) Perhatikan bahwa range hanya akan berurusan dengan bilangan bulat, jadi pastikan Anda tidak memberikan nilai apa pun yang bukan bilangan bulat atau Anda akan membuat kesalahan. Modul - Membuat SendiriBaiklah, kita sekarang sudah membahas fungsi; mari kita beralih ke topik kedua dari pelajaran hari ini: modul. Jika fungsi adalah kelompok kode, maka modul adalah kelompok fungsi. Ada lebih banyak untuk mereka, tapi itu cara berpikir yang baik tentang mereka untuk saat ini. Seperti yang telah kita bahas sebelumnya, Anda tidak dapat membuat program yang rumit tanpa menyortir kode ke dalam fungsi, dan ketika program Anda terus tumbuh lebih lanjut, bahkan mereka pun menjadi susah. Anda harus mengurutkannya ke tingkat hierarki yang lain. Ini adalah modul. Jadi kita dapat meringkasnya sebagai alat struktural dan organisasi untuk kode kita. Modul itu cukup mudah dibuat. Mereka adalah hanya Python file, seperti skrip biasa. Untuk membuat modul, tulis satu atau beberapa fungsi dalam file teks, lalu simpan dengan ekstensi Buat file baru di IDE atau editor teks Anda dan mari kita buat fungsi untuk menghitung pajak atas suatu produk. def addTax(price, tax): newPrice = price / 100 * (100 + tax) return newPrice Jika kami menyimpan file ini dengan ekstensi Mengimpor modulUntuk menggunakan modul, kita dapat menggunakan kata kunci import finance ... dan kami akan memiliki akses ke semua fungsi
dalam skrip. Kita kemudian dapat memanggil mereka seperti yang kita lakukan sebelumnya. Anda juga dapat menggunakan kata kunci from finance import addTax Anda dapat mengimpor beberapa dengan memisahkan nama mereka dengan koma. from finance import addTax, calculateDiscount Dan Anda bahkan dapat menggunakan wildcard asterisk untuk mengimpor semuanya. from finance import * Setelah mengimpor modul, untuk menggunakan fungsi yang terkandung di dalamnya, Anda menggunakan nama modul, diikuti oleh titik, dan kemudian nama fungsi. import finance print finance.addTax(100, 5) Ini akan menghasilkan 105 ketika skrip dijalankan. Hasil yang sederhana, tetapi itu berarti Anda memiliki fungsi yang bekerja! Modul bawaanAda banyak modul bawaan, sama halnya dengan fungsi bawaan. Di sinilah Python benar-benar unggul! Dibutuhkan apa yang disebut pendekatan "batteries included". Karena Python memiliki begitu banyak modul bawaan, tidak ada cara untuk membahas semuanya dalam satu pelajaran. Beberapa sangat tidak jelas, dan tidak ada gunanya mengajarkan banyak informasi yang mungkin tidak pernah Anda gunakan. Sebagai gantinya, mari kita bahas beberapa yang paling berguna.
|