Variabel#

Perkenalan#

Variabel menyimpan data dan memungkinkan Anda untuk menggunakan kembali dan memanipulasinya di seluruh program Anda. Python adalah bahasa pemrograman dengan tipe data dinamis, artinya Anda tidak perlu mendeklarasikan tipe variabel secara eksplisit. Sebaliknya, tipenya secara otomatis disimpulkan berdasarkan nilai yang diberikan kepadanya. Misalnya:

angle = 90           # angle is an integer
dist = "Distance: "  # dist is a string
steps = 2.5          # steps is a float

Python juga merupakan sistem pengetikan yang ketat, yang berarti Anda tidak dapat melakukan operasi pada tipe yang tidak kompatibel tanpa mengonversinya secara eksplisit. Misalnya:

blocks = 2                       # blocks is an integer
disks = "4"                      # disks is a string
result = blocks + disks  # Creates a TypeError

Untuk mengatasi masalah tersebut, Anda harus secara eksplisit mengkonversi tipe data, jika diperlukan:

blocks = 2  # blocks is an integer
disks = "4" # disks is a string

# Convert disks to an integer before adding
result = int(disks) + blocks

API ini menjelaskan tipe variabel umum di Python. Meskipun bukan daftar lengkap, API ini mencakup tipe yang paling mungkin Anda gunakan dalam praktik.

  • Variabel lokal – Dideklarasikan di dalam fungsi dan hanya digunakan dalam lingkup tersebut; paling cocok untuk nilai sementara atau terisolasi.

  • Variabel global – Dideklarasikan di luar fungsi apa pun dan digunakan di seluruh proyek; berguna untuk berbagi data antar fungsi.

  • Bilangan Bulat – Bilangan bulat yang digunakan untuk menghitung, jarak, atau apa pun tanpa desimal.

  • Float – Angka dengan titik desimal, berguna untuk pengukuran atau perhitungan yang tepat.

  • String – Nilai teks, digunakan untuk pesan, label, atau menampilkan output yang mudah dibaca.

  • Boolean – True atau False nilai untuk logika dan pengambilan keputusan.

  • NoneType – Menunjukkan tidak adanya nilai dalam Python.

  • Rentang – Secara otomatis menghasilkan urutan angka, paling sering digunakan dalam perulangan.

  • Daftar – Koleksi item yang dapat diubah; cocok untuk menyimpan kelompok nilai seperti objek atau pembacaan sensor.

  • Daftar 2D – Daftar berisi daftar; ideal untuk merepresentasikan baris, grid, atau data seperti tabel.

  • Tuple – Urutan nilai tetap yang tidak dapat diubah; berguna untuk data yang dikelompokkan dan tidak berubah.

Mendeklarasikan dan Menetapkan Nilai pada Variabel#

Untuk membuat variabel, cukup berikan nilai pada sebuah nama menggunakan operator =:

distance = 100

Saat memberi nama variabel, aturan berikut harus dipatuhi:

  • Nama tersebut tidak boleh mengandung karakter khusus (misalnya, tanda seru).

  • Nama tersebut tidak boleh diawali dengan angka.

  • Nama tersebut tidak boleh menggunakan spasi.

  • Nama tersebut tidak boleh berupa kata yang dipesan dalam VEXcode (misalnya, Drivetrain).

Local Variables#

Variabel lokal didefinisikan di dalam sebuah fungsi atau blok kode. Variabel ini hanya dapat diakses dalam lingkup fungsi atau blok tersebut dan tidak terlihat di luar lingkup tersebut.

def show_local():
    # This variable only exists inside this function
    message = "I'm local!" 
    brain.print(message)

def main():
    show_local()

# VR threads — Do not delete
vr_thread(main)

Variabel lokal umumnya digunakan untuk menyimpan nilai sementara yang hanya relevan dalam fungsi atau bagian program tertentu.

Global Variables#

Variabel global didefinisikan di luar fungsi atau blok apa pun. Variabel ini dapat diakses dan dibaca di mana saja dalam program, termasuk di dalam fungsi.

Catatan: Variabel global dapat digunakan di mana saja dalam proyek Anda. Ini bisa bermanfaat, tetapi juga dapat mempersulit pencarian bug. Jika nilainya berubah, Anda mungkin perlu memeriksa banyak bagian proyek untuk melihat di mana perubahannya. Gunakan variabel lokal hanya jika satu fungsi membutuhkan nilai tersebut.

# The variable is defined outside a function
message = "I'm global!"  

def show_global():
    # You can access 'message' inside a function
    brain.print(message)
    brain.new_line()

def main():
    show_global()
    # And you can access 'message' outside a function
    brain.print(message)

# VR threads — Do not delete
vr_thread(main)

Secara default, pemberian nilai pada variabel di dalam fungsi akan membuat variabel lokal. Untuk memodifikasi variabel global di dalam fungsi, Anda harus secara eksplisit mendeklarasikannya menggunakan kunci .

# Define the global variable
count = 0 

def increase_count():
    # Use the global keyword to let you modify the
    # global variable
    global count
    count = count + 1
    brain.print("Count: {}".format(count))
    brain.new_line()

def main():
    increase_count()
    increase_count()

# VR threads — Do not delete
vr_thread(main)

Jenis Data#

Variabel Python dapat menyimpan berbagai jenis data, masing-masing sesuai untuk kasus penggunaan yang berbeda. Berikut adalah jenis-jenis yang paling umum digunakan:

Integer#

Bilangan bulat adalah bilangan positif atau negatif.

def main():
    distance = 100

    # Move the robot forward for the variable value in mm
    drivetrain.drive_for(FORWARD, distance, MM)

    # Add to the variable and move forward the new value, 
    # for 200mm total
    wait(1, SECONDS)
    distance = distance + 100
    drivetrain.drive_for(FORWARD, distance, MM)

# VR threads — Do not delete
vr_thread(main)

Float#

Bilangan float adalah bilangan dengan titik desimal.

def main():
    # Store a value with decimal points
    raw_value = 0.88

    # Print the decimal value as a percentage
    brain.print(raw_value * 100, "%")

String#

String adalah rangkaian karakter, yang umumnya digunakan untuk teks.

def main():
    # Set the variable to a string then print the string
    message = "Ready!"
    brain.print(message)

# VR threads — Do not delete
vr_thread(main)

Catatan: Sebuah string harus selalu diapit oleh tanda kutip yang sesuai, baik tunggal (’) atau ganda (”). Anda dapat menggunakan salah satu gaya tersebut, tetapi tanda kutip pembuka dan penutup harus sama.

Boolean#

Tipe data Boolean merepresentasikan nilai True (Salah), False Salah).

def main():
    # Set the state of the variable
    delivered = False

    # Print different messages depending on the Boolean.
    if delivered:
        brain.print("Package delivered!")
    else: 
        brain.print("Delivering...")

# VR threads — Do not delete
vr_thread(main)

Nilai Boolean dapat diubah kapan saja selama proyek berlangsung.

def main():
    # Print the value of the delivered variable
    delivered = True
    brain.print(delivered)
    wait(2,SECONDS)

    # Clear the screen and print the value of the variable again
    brain.clear()
    delivered = False
    brain.print(delivered)

# VR threads — Do not delete
vr_thread(main)

NoneType#

NoneType mewakili ketiadaan nilai dalam Python.

def main():
    # Write what the robot's task should be as a string
    current_task = None

    # Check if a task is assigned
    if current_task is None:
        brain.print("No task!")
    else:
        brain.print("Task: {}".format(current_task))

# VR threads — Do not delete
vr_thread(main)

Range#

Rentang adalah urutan angka, yang biasanya digunakan dalam perulangan untuk menghasilkan urutan angka. Formatnya adalah:

range(start, stop, step)

Komponen

Keterangan

start

Opsional. Nilai awal bersifat inklusif (urutan dimulai di sini). Nilai default adalah 0.

stop

Nilai berhenti bersifat eksklusif (urutan berhenti sebelum angka ini).

step

Opsional. Langkah ini menentukan seberapa besar setiap angka bertambah (atau berkurang). Nilai default adalah 1.

def main():
    # Drive and turn 4 times to move in a square
    for index in range(4):
        drivetrain.drive_for(FORWARD, 100, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

def main():
    # Count by 2 starting at 1 and ending before 12
    for index in range(1, 12, 2): 
        # Print the values with each loop
        brain.print(index)
        brain.new_line()

# VR threads — Do not delete
vr_thread(main)

List#

Sebuah list menyimpan sekelompok item dalam satu variabel. Anda dapat menambahkan item, menghapus item, mengubah item, atau menggunakan setiap item satu per satu dalam proyek Anda. List berguna ketika Anda ingin menyimpan nilai-nilai terkait bersama-sama, seperti pembacaan sensor, warna, atau nama objek. List dibuat menggunakan tanda kurung siku [].

def main():
    # Define a list of colors
    colors = ["Red", "Green", "Blue", "Purple"]

    # Repeat for the number of items in the colors list
    for index in colors:
        # Print each color in order
        brain.print(index)
        brain.new_line()

# VR threads — Do not delete
vr_thread(main)

Gunakan append untuk menambahkan item ke dalam daftar.

def main():
    # Define a list of colors
    colors = ["Red", "Green", "Blue", "Purple"]

    # Append a new color to the list
    colors.append("Yellow")

    # Repeat for the number of items in the colors list
    for index in colors:
        # Print each color in order
        brain.print(index)
        brain.new_line()

# VR threads — Do not delete
vr_thread(main)

2D List#

Daftar 2D, atau daftar dari daftar, umumnya digunakan untuk merepresentasikan grid, tabel, atau matriks. Setiap subdaftar merepresentasikan satu baris atau pengelompokan data tertentu.

def main():
    # Assign the values in the matrix 2D list
    matrix = [
        ["A", 1, "Red"],
        ["B", 2, "Orange"],
        ["C", 3, "Yellow"]
    ]
    # Loop through each row
    for row in matrix: 
        # Loop through each column in the row 
        for element in row: 
            brain.print(element, ", ")
        brain.new_line()

# VR threads — Do not delete
vr_thread(main)

Anda dapat memodifikasi elemen tertentu atau bahkan seluruh subdaftar dalam daftar 2D:

def main():
    # Assign the values in the matrix 2D list
    matrix = [
        ["A", 1, "Red"],
        ["B", 2, "Orange"],
        ["C", 3, "Yellow"]
    ]
    # Modify the color (in column 2) in row 0
    matrix[0][2] = "Blue"

    # Print the modified row from the matrix 2D list 
    brain.print(matrix[0])

# VR threads — Do not delete
vr_thread(main)

Tuple#

Tuple adalah urutan item yang tidak dapat diubah setelah dibuat. Tuple sering digunakan untuk mengelompokkan nilai-nilai yang terkait.

def main():
    # Define a tuple
    set_1 = (100, "Left")

    # Print the tuple
    brain.print(set_1)

# VR threads — Do not delete
vr_thread(main)

Tuple dibuat menggunakan tanda kurung () bukan tanda kurung siku [].