Belajar Python: Function
Function yang saya tahu dan ingat semenjak kuliah biasanya dideskripsikan sebagai blok yang berisi perintah spesifik yang bisa digunakan berulang kali. Di python mendeklarasikan sebuah function dengan cara
def namafunction(argument, argumentlainya):
print("boo")
Sekali lagi indentation.
Sedangkan aturan dalam memberi nama function dikutip dari sumber(1)
Function names should be lowercase, with words separated by underscores as necessary to improve readability.
Untuk aturan naming conventions lainnya bisa dibuka di sumber.
Membuat Fungsi
def hello():
print("hello world")
# panggil dengan cara berikut
hello()
# output
hello world
Di atas menggunakan print
sekarang coba menggunakan return
def hello():
return "hello world"
# panggil dengan cara berikut
hello()
# output
'hello world'
Di sana ada tanda kutip yang mungkin menandakan bahwa nilai balik nya berupa string.
(mohon koreksinya jika ada yang baca)
Argument
Sebagaimana bahasa lain, function bisa dibuat dengan menyertakan sebuah argument atau parameter
def hello(name):
print("hello "+name)
# panggil dengan cara berikut
hello('aries')
# output
hello aries
Contoh lain
def addtwo(arg):
return arg+2
# panggil dengan cara berikut
addtwo(2)
# output
4
Fungsi yang sama kalau kita masukan string
def addtwo(arg):
return arg+2
# panggil dengan cara berikut
addtwo('john doe')
# output
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
----> 1 addtwo('john doe')
in addtwo(arg)
1 def addtwo(arg):
----> 2 return arg+2
TypeError: must be str, not int
Bisa gunakan if
itung-itung mengingat tulisan kemarin
def addtwo(arg):
if type(arg) == int or type(arg) == float:
return arg+2
else:
return "Masukan Integer atau float"
# panggil dengan cara berikut
addtwo('john doe')
# output
'Masukan Integer atau float'
Sebenarnya sebelum nulis contoh di atas banyak rekomendasi dari stackoverflow dan situs2 diskusi lainnya untuk menggunakan
isdigit()
atau semacamtry and catch
tapi nanti dulu lah.
default argument
Kita juga bisa membuat default argument jika tak ada nilai yang diberikan
def valueplease(name):
return name
# panggil dengan cara berikut
valueplease()
# output
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
----> 1 valueplease()
TypeError: valueplease() missing 1 required positional argument: 'name
Kalau diberi nilai default
def valueplease(name='john doe'):
return name
# panggil dengan cara berikut
valueplease()
# output
'john doe`
# saat dimasukan nilai
valueplease('Puch')
# ouput
'Puch'
SUMBER
https://www.python-course.eu/python3_functions.php
https://www.python-course.eu/python3_functions.php