Mainīgie lielumi#
Ievads#
Mainīgie glabā datus un ļauj tos atkārtoti izmantot un manipulēt visā programmā. Python ir dinamiski tipizēta valoda, kas nozīmē, ka mainīgā tips nav jādeklarē tieši. Tā vietā tips tiek automātiski secināts, pamatojoties uz tam piešķirto vērtību. Piemēram:
angle = 90 # angle is an integer
dist = "Distance: " # dist is a string
steps = 2.5 # steps is a float
Python ir arī stingri tipizēts, kas nozīmē, ka nevar veikt darbības ar nesaderīgiem tipiem, tos nepārveidojot. Piemēram:
red_disks = 2 # red_disks is an integer
green_disks = "4" # green_disks is a string
result = red_disks + green_disks # Creates a TypeError
Lai atrisinātu šādas problēmas, jums ir skaidri jāpārveido tipi, ja nepieciešams:
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
Šis API izskaidro biežāk sastopamos mainīgo tipus valodā Python. Lai gan tas nav pilnīgs saraksts, tas aptver tipus, kurus jūs, visticamāk, izmantosiet praksē.
Lokālie mainīgie — deklarēti funkcijas iekšpusē un tiek izmantoti tikai šajā darbības jomā; vislabāk piemēroti pagaidu vai izolētām vērtībām.
Globālie mainīgie — deklarēti ārpus jebkuras funkcijas un izmantoti visā projektā; labi piemēroti datu apmaiņai starp funkcijām.
Integer – Veseli skaitļi, ko izmanto skaitīšanai, attālumiem vai jebkam citam bez decimāldaļām.
Peldošais skaitlis – Skaitļi ar decimālzīmēm, noderīgi precīziem mērījumiem vai aprēķiniem.
Virkne – Teksta vērtības, ko izmanto ziņojumiem, etiķetēm vai lasāmas izvades attēlošanai.
Būla –
TruevaiFalsevērtības loģikai un lēmumu pieņemšanai.NoneType – norāda vērtības neesamību Python valodā.
Diapazons – Automātiski ģenerē skaitļu secības, visbiežāk tiek izmantotas ciklos.
Saraksts — maināma vienumu kolekcija; piemērota vērtību grupu, piemēram, objektu vai sensoru rādījumu, glabāšanai.
2D saraksts — sarakstu saraksts; ideāli piemērots rindu, režģu vai tabulas veida datu attēlošanai.
Tuple – Fiksēta vērtību secība, ko nevar mainīt; noderīga grupētiem, nemainīgiem datiem.
Mainīgā deklarēšana un piešķiršana#
Lai izveidotu mainīgo, vienkārši piešķiriet nosaukumam vērtību, izmantojot operatoru =:
distance = 100
Nosaucot mainīgo, jāievēro šādi noteikumi:
Nosaukumā nedrīkst būt speciālās rakstzīmes (piemēram, izsaukuma zīme).
Nosaukums nevar sākties ar ciparu.
Nosaukumā nedrīkst izmantot atstarpes.
Nosaukums nevar būt rezervēts vārds VEXkodā (piemēram, Drivetrain).
Local Variables#
Lokālie mainīgie tiek definēti funkcijas vai koda bloka iekšpusē. Tie ir pieejami tikai šīs funkcijas vai bloka ietvaros un nav redzami ārpus tā.
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)
Lokālie mainīgie parasti tiek izmantoti, lai saglabātu pagaidu vērtības, kas ir būtiskas tikai konkrētai funkcijai vai programmas daļai.
Global Variables#
Globālie mainīgie tiek definēti ārpus jebkuras funkcijas vai bloka. Tiem var piekļūt un tos var nolasīt jebkur programmā, tostarp funkciju iekšpusē.
Piezīme: Globālo mainīgo var izmantot jebkur jūsu projektā. Tas var būt noderīgi, taču tas var arī apgrūtināt kļūdu atrašanu. Ja vērtība mainās, iespējams, būs jāpārbauda daudzas projekta daļas, lai redzētu, kur tā ir mainījusies. Izmantojiet lokālo mainīgo, ja vērtība ir nepieciešama tikai vienai funkcijai.
# 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)
Pēc noklusējuma, piešķirot vērtību mainīgajam funkcijas ietvaros, tiek izveidots lokālais mainīgais. Lai modificētu globālo mainīgo funkcijas ietvaros, tas ir skaidri jādeklarē, izmantojot atslēgvārdu global.
# 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)
Datu veidi#
Python mainīgie var uzglabāt dažāda veida datus, katrs no tiem ir piemērots dažādiem lietošanas gadījumiem. Tālāk ir norādīti visbiežāk izmantotie veidi:
Integer#
Vesels skaitlis ir pozitīvs vai negatīvs skaitlis.
# 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#
Plodiņskaitlis ir decimālzīmes skaitlis.
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#
Virkne ir rakstzīmju secība, ko parasti izmanto tekstā.
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)
Piezīme: Virknei vienmēr jābūt ietvertai atbilstošās pēdiņās — vai nu vienpēdiņās (’), vai dubultpēdiņās (”). Varat izmantot jebkuru no šiem stiliem, taču sākuma un beigu pēdiņām ir jāsakrīt.
Boolean#
Būla vērtība apzīmē vērtības True vai False.
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)
Būla vērtības var mainīt jebkurā projekta brīdī.
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 apzīmē vērtības neesamību Python valodā.
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#
Diapazons ir skaitļu secība, ko parasti izmanto ciklos, lai ģenerētu skaitliskas secības. Tā atbilst šādam formātam:
range(start, stop, step)
Sastāvdaļas |
Apraksts |
|---|---|
|
Neobligāti. Sākuma vērtība ir iekļaujoša (secība sākas šeit). Noklusējuma vērtība ir 0. |
|
Apstāšanās vērtība ir izslēdzoša (secība apstājas pirms šī skaitļa). |
|
Neobligāti. Solis nosaka, cik daudz katrs skaitlis palielinās (vai samazinās). Noklusējuma vērtība ir 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#
Saraksts vienā mainīgajā saglabā vienumu grupu. Varat pievienot vienumus, noņemt vienumus, mainīt vienumus vai izmantot katru vienumu pa vienam savā projektā. Saraksti ir noderīgi, ja vēlaties saglabāt saistītas vērtības kopā, piemēram, sensoru rādījumus, krāsas vai objektu nosaukumus. Saraksti tiek veidoti, izmantojot kvadrātiekavas [].
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)
Lai sarakstam pievienotu vienumus, izmantojiet append.
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#
2D saraksts jeb sarakstu saraksts parasti tiek izmantots, lai attēlotu režģus, tabulas vai matricas. Katrs apakšsaraksts apzīmē rindu vai noteiktu datu grupu.
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)
2D sarakstā var modificēt atsevišķus elementus vai pat veselus apakšsarakstus:
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#
Kortežs ir elementu secība, ko pēc to izveides nevar mainīt. Tos bieži izmanto, lai grupētu saistītas vērtības.
def main():
# Define a tuple
set_1 = (100, "Left")
# Print the tuple
console.print(set_1)
# Start threads — Do not delete
start_thread(main)
Korteži tiek veidoti, izmantojot iekavas () , nevis kvadrātiekavas [].