Semasa menulis program besar, anda mungkin menghadapi dua masalah:
1) program mungkin menjadi terlalu besar dan tidak dapat difahami;
2) anda perlu menggunakan sekeping kod yang sama di tempat yang berbeza dalam program.

Pengaturcara sebenar memecahkan program mereka kepada kepingan kecil - subrutin (prosedur). Setiap subrutin menyelesaikan tugas kecil. 

Secara umum, perihalan subrutin adalah seperti berikut:
 
def name():
    arahan

Perintah prosedur diinden. Prosedur boleh mengandungi sebarang binaan dalam dirinya.
Nama prosedur (nama) boleh terdiri daripada apa-apa sahaja, yang terdiri daripada aksara Latin dan nombor, tetapi mesti bermula dengan huruf atau garis bawah (_) dan tidak mengandungi ruang.

Jika anda ingin melaksanakan semua arahan yang mengandungi prosedur, maka nyatakan nama prosedur ini dalam program dengan kurungan. Contohnya, untuk prosedur name() yang diterangkan di atas, panggilan akan kelihatan seperti ini.

defname():   # Pertama, kami menerangkan prosedur. Ini mesti dilakukan sebelum program utama
    arahan

nama()   # Pada ketika ini, dengan menyatakan nama prosedur, arahan yang diterangkan dalam prosedur di atas akan dilaksanakan.
turun
turun
nama()   # arahan daripada prosedur akan dilaksanakan di sini sekali lagi.

Malah, dengan mencipta prosedur, kami mengajar robot untuk melaksanakan arahan baharu yang tidak termasuk dalam sistem arahannya!