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:
red_disks = 2 # red_disks is an integer
green_disks = "4" # green_disks is a string
result = red_disks + green_disks # Creates a TypeError
Untuk mengatasi masalah tersebut, Anda harus secara eksplisit mengkonversi tipe data, jika diperlukan:
red_disks = 2 # red_disks is an integer
green_disks = "4" # green_disks is a string
# Convert green_disks to an integer before adding
result = int(green_disks) + red_disks
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 –
TrueatauFalsenilai 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!"
console.print(message)
def main():
show_local()
# Start threads — Do not delete
start_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
console.print(message)
console.new_line()
def main():
show_global()
# And you can access 'message' outside a function
console.print(message)
# Start threads — Do not delete
start_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
console.print("Count: {}".format(count))
def main():
increase_count()
console.new_line()
increase_count()
# Start threads — Do not delete
start_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.
# Build Used: Super Code Base 2.0
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)
# Start threads — Do not delete
start_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
console.print(raw_value * 100, "%")
# Start threads — Do not delete
start_thread(main)
String#
String adalah rangkaian karakter, yang umumnya digunakan untuk teks.
def main():
# Set the variable to a string then print the string
message = "Ready!"
console.print(message)
# Start threads — Do not delete
start_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:
console.print("Package delivered!")
else:
console.print("Delivering...")
# Start threads — Do not delete
start_thread(main)
Nilai Boolean dapat diubah kapan saja selama proyek berlangsung.
def main():
# Print the value of the delivered variable
delivered = True
console.print(delivered)
console.new_line()
wait(2,SECONDS)
# Clear the screen and print the value of the variable again
console.clear()
delivered = False
console.print(delivered)
# Start threads — Do not delete
start_thread(main)
NoneType#
NoneType mewakili ketiadaan nilai dalam Python.
def main():
# No task is assigned yet
current_task = None
# Check if a task is assigned
if current_task is None:
console.print("No task!")
else:
console.print("Task: {}".format(current_task))
# Start threads — Do not delete
start_thread(main)
Range#
Rentang adalah urutan angka, yang biasanya digunakan dalam perulangan untuk menghasilkan urutan angka. Formatnya adalah:
range(start, stop, step)
Komponen |
Keterangan |
|---|---|
|
Opsional. Nilai awal bersifat inklusif (urutan dimulai di sini). Nilai default adalah 0. |
|
Nilai berhenti bersifat eksklusif (urutan berhenti sebelum angka ini). |
|
Opsional. Langkah ini menentukan seberapa besar setiap angka bertambah (atau berkurang). Nilai default adalah 1. |
# Build Used: Super Code Base 2.0
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)
# Start threads — Do not delete
start_thread(main)
def main():
# Count by 2 starting at 1 and ending before 12
for index in range(1, 12, 2):
# Print the values on the screen with each loop
console.print(index)
console.new_line()
# Start threads — Do not delete
start_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
console.print(index)
console.new_line()
# Start threads — Do not delete
start_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
console.print(index)
console.new_line()
# Start threads — Do not delete
start_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:
console.print(element, ", ")
console.new_line()
# Start threads — Do not delete
start_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
console.print(matrix[0])
# Start threads — Do not delete
start_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
console.print(set_1)
# Start threads — Do not delete
start_thread(main)
Tuple dibuat menggunakan tanda kurung () bukan tanda kurung siku [].