Bagaimana Anda mengalikan matriks 2x2 dengan python?

Kami akan menulis program Python untuk mendapatkan perkalian dari dua matriks input dan mencetak hasilnya dalam output. Program Python ini menentukan cara mengalikan dua matriks, memiliki beberapa nilai tertentu

Sebelum menulis program Python, mari kita lihat dulu gambaran umum tentang perkalian dua matriks

perkalian matriks

Perkalian matriks adalah operasi biner yang menggunakan sepasang matriks untuk menghasilkan matriks lain. Unsur-unsur dalam matriks dikalikan menurut aritmatika dasar

Pada perkalian dua matriks, elemen baris dari matriks pertama dikalikan dengan elemen kolom dari matriks kedua.

Contoh. Misalkan kita telah memberikan dua matriks A dan B berikut

C adalah penjumlahan dari dua matriks di atas, i. e. , C = A+B, dan karenanya C seharusnya

Seperti yang dapat kita lihat bahwa matriks C yang dihasilkan, yang juga dikenal sebagai produk matriks, memiliki jumlah baris yang sama dengan matriks pertama (matriks A) dan jumlah kolom yang sama dengan matriks kedua (matriks B). Perkalian matriks jenis ini juga dikenal sebagai perkalian titik matriks

Perkalian dua matriks

Sekarang, kita akan menulis program Python untuk perkalian dua matriks di mana kita melakukan perkalian seperti yang telah kita lakukan pada contoh yang diberikan di atas. Kita dapat menggunakan berbagai metode untuk menulis program Python seperti ini, namun dalam tutorial ini, kita hanya akan menggunakan dua metode berikut

  1. Menggunakan metode nested for loop
  2. Menggunakan metode pemahaman daftar bersarang

Dalam kedua metode tersebut, kami akan menulis contoh program untuk memahami implementasinya untuk mengalikan dua matriks

Metode 1. Menggunakan metode nested for loop

Dalam metode ini, kita akan menggunakan perulangan for bersarang pada dua matriks dan melakukan perkalian pada matriks tersebut dan menyimpan hasil perkalian pada matriks ketiga sebagai nilai hasil.

Mari kita pahami penerapan metode ini melalui contoh berikut

Contoh. Perhatikan program Python berikut

Keluaran

The multiplication result of matrix A and B is: 
[37, 43, 59]
[34, 58, 62]
[58, 92, 103]

Metode 2. Menggunakan metode pemahaman daftar bersarang

Dalam metode ini, kita akan menggunakan pemahaman daftar bersarang untuk mendapatkan hasil perkalian dari dua matriks masukan. Saat menggunakan metode pemahaman daftar dalam program, kami juga akan menggunakan 'zip dengan Python' pada daftar bersarang. Mari kita pahami penerapan metode ini melalui contoh berikut

Anda akan mulai dengan mempelajari kondisi perkalian matriks yang valid dan menulis fungsi Python kustom untuk mengalikan matriks. Selanjutnya, Anda akan melihat bagaimana Anda dapat mencapai hasil yang sama menggunakan pemahaman daftar bersarang

Terakhir, Anda akan melanjutkan menggunakan NumPy dan fungsi bawaannya untuk melakukan perkalian matriks dengan lebih efisien

Sebelum menulis kode Python untuk perkalian matriks, mari kita lihat kembali dasar-dasar perkalian matriks

Perkalian Matriks antara dua matriks A dan B hanya valid jika jumlah kolom matriks A sama dengan jumlah baris matriks B

Anda mungkin pernah menemukan kondisi ini untuk perkalian matriks sebelumnya. Namun, pernahkah Anda bertanya-tanya mengapa ini terjadi?

Yah, itu karena cara kerja perkalian matriks. Lihatlah gambar di bawah ini

Dalam contoh umum kita, matriks A memiliki m baris dan n kolom. Dan matriks B memiliki n baris dan p kolom

mattrix-multiply

Apa Bentuk Matriks Produk?

Elemen pada indeks (i,j) pada resultan matriks C adalah perkalian titik dari baris ke-i dari matriks A, dan kolom j dari matriks B

Jadi untuk mendapatkan elemen pada indeks tertentu dalam matriks C yang dihasilkan, Anda harus menghitung produk titik dari baris dan kolom yang sesuai dalam matriks A dan B, masing-masing.

Mengulangi proses di atas, Anda akan mendapatkan produk matriks C dengan bentuk m x p—dengan m baris dan p kolom, seperti yang ditunjukkan di bawah ini

product-matrix

Dan perkalian titik atau perkalian dalam antara dua vektor a dan b diberikan oleh persamaan berikut

dot-product

Mari kita rangkum sekarang

  • Jelaslah bahwa perkalian titik hanya didefinisikan antara vektor-vektor dengan panjang yang sama
  • Jadi, agar perkalian titik antara baris dan kolom menjadi valid—ketika mengalikan dua matriks—Anda membutuhkan keduanya memiliki jumlah elemen yang sama
  • Dalam contoh umum di atas, setiap baris dalam matriks A memiliki n elemen. Dan setiap kolom dalam matriks B juga memiliki n elemen

Jika Anda perhatikan lebih dekat, n adalah jumlah kolom dalam matriks A, dan juga jumlah baris dalam matriks B. Dan inilah alasan mengapa Anda membutuhkan jumlah kolom dalam matriks A sama dengan jumlah baris dalam matriks B

Saya harap Anda memahami syarat agar perkalian matriks valid dan cara mendapatkan setiap elemen dalam matriks perkalian

Mari lanjutkan menulis beberapa kode Python untuk mengalikan dua matriks

Tulis Fungsi Python Khusus untuk Mengalikan Matriks

Sebagai langkah pertama, mari kita tulis fungsi khusus untuk mengalikan matriks

Fungsi ini harus melakukan hal berikut

  • Terima dua matriks, A dan B, sebagai input
  • Periksa apakah perkalian matriks antara A dan B valid
  • Jika valid, kalikan dua matriks A dan B, dan kembalikan matriks hasil kali C
  • Jika tidak, kembalikan pesan kesalahan bahwa matriks A dan B tidak dapat dikalikan

Langkah 1. Hasilkan dua matriks bilangan bulat menggunakan fungsi

def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
1 NumPy. Anda juga dapat mendeklarasikan matriks sebagai daftar Python bersarang

import numpy as np
np.random.seed(27)
A = np.random.randint(1,10,size = (3,3))
B = np.random.randint(1,10,size = (3,2))
print(f"Matrix A:\n {A}\n")
print(f"Matrix B:\n {B}\n")

# Output
Matrix A:
 [[4 9 9]
 [9 1 6]
 [9 2 3]]

Matrix B:
 [[2 2]
 [5 7]
 [4 4]]

Langkah 2. Lanjutkan dan tentukan fungsi

def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
2. Fungsi ini mengambil dua matriks
def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
_3 dan
def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
4 sebagai input dan mengembalikan matriks produk
def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
5 jika perkalian matriks valid

def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
_

Mem-parsing Definisi Fungsi

Mari kita lanjutkan untuk mengurai definisi fungsi

Deklarasikan C sebagai variabel global. Secara default, semua variabel di dalam fungsi Python memiliki cakupan lokal. Dan Anda tidak dapat mengaksesnya dari luar fungsi. Agar matriks produk C dapat diakses dari luar, kita harus mendeklarasikannya sebagai variabel global. Cukup tambahkan kualifikasi

def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
_6 sebelum nama variabel

Periksa apakah perkalian matriks valid. Gunakan atribut

def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
_7 untuk memeriksa apakah A dan B dapat dikalikan. Untuk sembarang larik
def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
_8,
def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
9 dan
multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
0 berikan masing-masing jumlah baris dan kolom. Jadi
multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
_1 memeriksa apakah perkalian matriks valid. Hanya jika kondisi ini adalah
multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
_2, matriks perkalian akan dihitung. Jika tidak, fungsi mengembalikan pesan kesalahan

Gunakan loop bersarang untuk menghitung nilai. Untuk menghitung elemen-elemen dari matriks yang dihasilkan, kita harus mengulang melalui baris matriks A, dan loop

multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
3 luar melakukan ini. Lingkaran dalam
multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
_3 membantu kita mengulang melalui kolom matriks B. Dan loop
multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
_3 terdalam membantu mengakses setiap elemen di kolom yang dipilih

▶️ Sekarang setelah kita mempelajari cara kerja fungsi Python untuk mengalikan matriks, mari kita panggil fungsi dengan matriks A dan B yang telah kita buat sebelumnya

multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])

Karena perkalian matriks antara A dan B valid, fungsi

multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
6 mengembalikan matriks produk C

Gunakan Pemahaman Daftar Bersarang Python untuk Mengalikan Matriks

Di bagian sebelumnya, Anda menulis fungsi Python untuk mengalikan matriks. Sekarang, Anda akan melihat bagaimana Anda dapat menggunakan pemahaman daftar bersarang untuk melakukan hal yang sama

Berikut pemahaman daftar bersarang untuk mengalikan matriks

nested-list-comprehension-matrix-multiply

Pada awalnya, ini mungkin terlihat rumit. Tapi kami akan mengurai pemahaman daftar bersarang langkah demi langkah

Mari fokus pada satu pemahaman daftar pada satu waktu dan identifikasi apa fungsinya

Kami akan menggunakan template umum berikut untuk pemahaman daftar

[ for  in ]

where,
: what you'd like to do—expression or operation
: each item you'd like to perform the operation on
: the iterable (list, tuple, etc.) that you're looping through

▶️ Lihat panduan Daftar Pemahaman kami dengan Python – dengan Contoh untuk mendapatkan pemahaman mendalam

Sebelum melanjutkan, perhatikan bahwa kita ingin membangun matriks resultan C satu baris pada satu waktu

Pemahaman Daftar Bersarang Dijelaskan

Langkah 1. Hitung satu nilai dalam matriks C

Diberi baris i matriks A dan kolom j matriks B, ekspresi di bawah ini memberikan entri pada indeks (i, j) dalam matriks C

sum(a*b for a,b in zip(A_row, B_col)

# zip(A_row, B_col) returns an iterator of tuples
# If A_row = [a1, a2, a3] & B_col = [b1, b2, b3]
# zip(A_row, B_col) returns (a1, b1), (a2, b2), and so on

Jika

multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
_7, ekspresi akan mengembalikan entri
multiply_matrix(A,B)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])
8 dari matriks C. Jadi Anda bisa mendapatkan satu elemen dalam satu baris dengan cara ini

Langkah 2. Bangun satu baris dalam matriks C

Tujuan kami selanjutnya adalah membangun seluruh baris

Untuk baris 1 dalam matriks A, Anda harus mengulang semua kolom dalam matriks B untuk mendapatkan satu baris lengkap dalam matriks C

Kembali ke templat pemahaman daftar

  • Ganti
    multiply_matrix(A,B)
    
    # Output
    array([[ 89, 107],
           [ 47,  49],
           [ 40,  44]])
    _9 dengan ekspresi dari langkah 1, karena itulah yang ingin Anda lakukan
  • Selanjutnya, ganti
    multiply_matrix(A,B)
    
    # Output
    array([[ 89, 107],
           [ 47,  49],
           [ 40,  44]])
    _9 dengan
    [ for  in ]
    
    where,
    : what you'd like to do—expression or operation
    : each item you'd like to perform the operation on
    : the iterable (list, tuple, etc.) that you're looping through
    1—setiap kolom dalam matriks B
  • Terakhir, ganti
    multiply_matrix(A,B)
    
    # Output
    array([[ 89, 107],
           [ 47,  49],
           [ 40,  44]])
    _9 dengan
    [ for  in ]
    
    where,
    : what you'd like to do—expression or operation
    : each item you'd like to perform the operation on
    : the iterable (list, tuple, etc.) that you're looping through
    3—daftar yang berisi semua kolom dalam matriks B

Dan inilah pemahaman daftar pertama

[sum(a*b for a,b in zip(A_row, B_col)) for B_col in zip(*B)] 

# zip(*B): * is the unzipping operator
# zip(*B) returns a list of columns in matrix B

Langkah 3. Bangun semua baris dan dapatkan matriks C

Selanjutnya, Anda harus mengisi matriks produk C dengan menghitung sisa baris

Dan untuk ini, Anda harus mengulang semua baris dalam matriks A

Kembali ke pemahaman daftar lagi, dan lakukan hal berikut

  • Ganti
    multiply_matrix(A,B)
    
    # Output
    array([[ 89, 107],
           [ 47,  49],
           [ 40,  44]])
    _9 dengan pemahaman daftar dari langkah 2. Ingatlah bahwa kami menghitung seluruh baris pada langkah sebelumnya
  • Sekarang, ganti
    multiply_matrix(A,B)
    
    # Output
    array([[ 89, 107],
           [ 47,  49],
           [ 40,  44]])
    9 dengan
    [ for  in ]
    
    where,
    : what you'd like to do—expression or operation
    : each item you'd like to perform the operation on
    : the iterable (list, tuple, etc.) that you're looping through
    6—setiap baris dalam matriks A
  • Dan
    multiply_matrix(A,B)
    
    # Output
    array([[ 89, 107],
           [ 47,  49],
           [ 40,  44]])
    _9 Anda adalah matriks A itu sendiri, saat Anda mengulang barisnya

Dan inilah pemahaman daftar bersarang terakhir kami. 🎊

[[sum(a*b for a,b in zip(A_row, B_col)) for B_col in zip(*B)] 
    for A_row in A]

Saatnya untuk memverifikasi hasilnya. ✔

# cast into NumPy array using np.array()
C = np.array([[sum(a*b for a,b in zip(A_row, B_col)) for B_col in zip(*B)] 
    for A_row in A])

# Output:
[[ 89 107]
 [ 47  49]
 [ 40  44]]

Jika Anda melihat lebih dekat, ini setara dengan for loop bersarang yang kita miliki sebelumnya—hanya saja lebih ringkas

Anda juga dapat melakukan ini dengan lebih efisien menggunakan beberapa fungsi bawaan. Mari pelajari tentang mereka di bagian selanjutnya

Gunakan NumPy matmul() untuk Mengalikan Matriks dengan Python

The

[ for  in ]

where,
: what you'd like to do—expression or operation
: each item you'd like to perform the operation on
: the iterable (list, tuple, etc.) that you're looping through
_8 mengambil dua matriks sebagai input dan mengembalikan produk jika perkalian matriks antara matriks input valid

C = np.matmul(A,B)
print(C)

# Output:
[[ 89 107]
 [ 47  49]
 [ 40  44]]

Perhatikan bagaimana metode ini lebih sederhana daripada dua metode yang telah kita pelajari sebelumnya. Faktanya, alih-alih

[ for  in ]

where,
: what you'd like to do—expression or operation
: each item you'd like to perform the operation on
: the iterable (list, tuple, etc.) that you're looping through
8, Anda dapat menggunakan operator @ yang setara, dan kami akan segera melihatnya

Cara Menggunakan @ Operator dengan Python untuk Mengalikan Matriks

Dalam Python,

sum(a*b for a,b in zip(A_row, B_col)

# zip(A_row, B_col) returns an iterator of tuples
# If A_row = [a1, a2, a3] & B_col = [b1, b2, b3]
# zip(A_row, B_col) returns (a1, b1), (a2, b2), and so on
_0 adalah operator biner yang digunakan untuk perkalian matriks

Ini beroperasi pada dua matriks, dan secara umum, NumPy array N-dimensi, dan mengembalikan matriks produk

Catatan. Anda harus memiliki Python 3. 5 dan yang lebih baru untuk menggunakan operator

sum(a*b for a,b in zip(A_row, B_col)

# zip(A_row, B_col) returns an iterator of tuples
# If A_row = [a1, a2, a3] & B_col = [b1, b2, b3]
# zip(A_row, B_col) returns (a1, b1), (a2, b2), and so on
0

Inilah cara Anda dapat menggunakannya

C = A@B
print(C)

# Output
array([[ 89, 107],
       [ 47,  49],
       [ 40,  44]])

Perhatikan bahwa perkalian matriks C sama dengan yang kita dapatkan sebelumnya

Bisakah Anda Menggunakan np. dot() untuk Mengalikan Matriks?

Jika Anda pernah menemukan kode yang menggunakan

sum(a*b for a,b in zip(A_row, B_col)

# zip(A_row, B_col) returns an iterator of tuples
# If A_row = [a1, a2, a3] & B_col = [b1, b2, b3]
# zip(A_row, B_col) returns (a1, b1), (a2, b2), and so on
2 untuk mengalikan dua matriks, inilah cara kerjanya

def multiply_matrix(A,B):
  global C
  if  A.shape[1] == B.shape[0]:
    C = np.zeros((A.shape[0],B.shape[1]),dtype = int)
    for row in range(rows): 
        for col in range(cols):
            for elt in range(len(B)):
              C[row, col] += A[row, elt] * B[elt, col]
    return C
  else:
    return "Sorry, cannot multiply A and B."
_0

Anda akan melihat bahwa

sum(a*b for a,b in zip(A_row, B_col)

# zip(A_row, B_col) returns an iterator of tuples
# If A_row = [a1, a2, a3] & B_col = [b1, b2, b3]
# zip(A_row, B_col) returns (a1, b1), (a2, b2), and so on
_3 juga mengembalikan matriks produk yang diharapkan

Namun, sesuai dokumen NumPy, Anda harus menggunakan

sum(a*b for a,b in zip(A_row, B_col)

# zip(A_row, B_col) returns an iterator of tuples
# If A_row = [a1, a2, a3] & B_col = [b1, b2, b3]
# zip(A_row, B_col) returns (a1, b1), (a2, b2), and so on
2 hanya untuk menghitung produk titik dari dua vektor satu dimensi dan bukan untuk perkalian matriks

Ingat dari bagian sebelumnya, elemen pada indeks (i, j) dari perkalian matriks C adalah perkalian titik dari baris ke-i dari matriks A, dan kolom j dari matriks B

Saat NumPy secara implisit menyiarkan operasi produk titik ini ke semua baris dan semua kolom, Anda mendapatkan matriks produk yang dihasilkan. Tetapi agar kode Anda tetap dapat dibaca dan menghindari ambiguitas, gunakan

[ for  in ]

where,
: what you'd like to do—expression or operation
: each item you'd like to perform the operation on
: the iterable (list, tuple, etc.) that you're looping through
8 atau operator
sum(a*b for a,b in zip(A_row, B_col)

# zip(A_row, B_col) returns an iterator of tuples
# If A_row = [a1, a2, a3] & B_col = [b1, b2, b3]
# zip(A_row, B_col) returns (a1, b1), (a2, b2), and so on
0 sebagai gantinya

Kesimpulan

🎯 Dalam tutorial ini, Anda telah mempelajari hal berikut

  • Kondisi untuk perkalian matriks menjadi valid. jumlah kolom matriks A = jumlah baris matriks B
  • Cara menulis fungsi Python khusus yang memeriksa apakah perkalian matriks valid dan mengembalikan matriks produk. Tubuh fungsi menggunakan loop for bersarang
  • Selanjutnya, Anda belajar cara menggunakan pemahaman daftar bersarang untuk mengalikan matriks. Mereka lebih ringkas daripada untuk loop tetapi rentan terhadap masalah keterbacaan
  • Terakhir, Anda belajar menggunakan fungsi bawaan NumPy np. matmul() untuk mengalikan matriks dan cara ini paling efisien dalam hal kecepatan
  • Anda juga belajar tentang operator @ untuk mengalikan dua matriks dengan Python

Dan itu mengakhiri diskusi kita tentang perkalian matriks dengan Python. Sebagai langkah selanjutnya, pelajari cara memeriksa apakah suatu bilangan prima dengan Python. Atau selesaikan masalah menarik pada string Python

Bagaimana Anda mengalikan matriks dengan Python?

Untuk mengalikan dua matriks gunakan fungsi dot() dari NumPy . Hanya dibutuhkan 2 argumen dan mengembalikan produk dari dua matriks.

Bagaimana Anda mengalikan dua matriks dengan elemen di Python?

multiply() function digunakan ketika kita ingin menghitung perkalian dua array. Ini mengembalikan produk arr1 dan arr2, berdasarkan elemen.

Bagaimana Anda mengalikan dengan 2 dengan Python?

Pertama, kedua angka tersebut masing-masing disimpan dalam variabel num_1 dan num_2. Perkalian dengan Python dilakukan dengan ( * ) operator , kemudian hasilnya disimpan dalam variabel product dan dicetak menggunakan format string.