Making an argument as optional in Python function

Sometimes we need to make an argument as optional so that people using the function can choose to provide extra information only if they want to.

For example, say we want to expand get_user_name() in the previous topic to handle middle names as well.

Here is the python code to fulfill the the requirement above:


#!/usr/bin/python

# Give the middle_name argument an empty default value and ignore
# the argument unless the user provides a value,
# We set default value of middle_name to an empty string and 
# move it to the end of the list parameters

def get_user_name (first_name,last_name,middle_name=''):
    """ Return a full name"""
    if middle_name:
       full_name = first_name + ' ' + middle_name + ' ' +last_name
    else:
        full_name = first_name + ' ' +last_name
 
    return full_name.title()
 
my_user_name = get_user_name('Askari','Azikin')
my_completed_user_name = get_user_name('Askari','Azikin','Basa')
 
print(my_user_name)
print(my_completed_user_name)

Penulisan Fungsi di Python dan di Perl

Fungsi di bahasa pemrograman berfungsi untuk menghindari penulisan kode program yang berulang sehingga untuk melakukan sebuah fungsi atau perintah tertentu cukup dituliskan satu kali saja.

Berikut penulisan fungsi di Python dan di Perl:

Di bahasa Python fungsi selalu diawali dengan kata ‘def’

#!/usr/bin/python

def get_user_name (first_name,last_name):
    full_name = first_name + ' ' + last_name
    return full_name.title() # or return full_name

my_user_name = get_user_name('Askari','Azikin')
print (my_user_name)

Sedangkan di bahasa Perl, fungsi selalu diawali dengan kata ‘sub’. karakter ‘$$’ menunjukkan bahwa fungsi tersebut akan menerima inputan sebanyak dua variabel skalar. karakter ini bersifat opsional saja sehingga bisa saja tidak dituliskan. Sedangkan ‘@_’ bisa juga diganti dengan ‘shift’ dimana keduanya untuk menerima masukan/input untuk selanjutnya diproses di dalam fungsi tersebut.

#!/usr/bin/perl -w

sub get_user_name ($$)
{
   my ($first_name, $last_name) = @_;
   my $full_name = "$first_name $last_name";
   return $full_name;
}

my $user_name = get_user_name ('Askari', 'Azikin');
print "$user_name\n";

Python untuk Perl Programmer

Karena kebutuhan untuk big data, saya mulai mendalami Python namun Perl tentu saja masih menjadi bahasa favorit saya.

Mudahan-mudahan ada kesempatan untuk membuat buku dengan judul ‘Python untuk Perl Programmer’. Berikut perbandingan kode program untuk menghasilkan keluaran yang sama.

Perl

Python

Bahasa Pemrograman Python

Penulis sudah membeli buku bahasa pemrograman Python ini tapi belum sempat menamatkan isinya. Secara konsep mirip-mirip dengan Perl atau bahasa pemrograman lain. Penulis sendiri sih meyakini bahwa menulis kode program Python seharusnya lebih mudah dibanding dengan bahasa lain seperti Perl, Java, Erlang, dll.

Sayangnya belum ada program Python yang penulis hasilkan karena masih lebih tertarik menyelesaikan seluruh problematika komputasi dengan bahasa Perl.

Photo di bawah sebenarnya buat gaya-gaya saja karena baru beberapa lembar halaman yang berhasil saya baca. Photo ini penulis upload sebagai bahan pemberi semangat bagi diri penulis dan bagi orang lain yang mungkin belum memiliki semangat untuk belajar bahasa pemrograman.

@Marine Terrace, Singapore 25/05/2017