Nilai dan variabel
Dalam aljabar, score = score + 5 tidak memiliki solusi. Dalam Python, itu baris yang biasa: jika score semula 10, nilainya menjadi 15.
Tanda = bukan berarti "sama dengan"
Tunjukkan baris score = score + 5 kepada siswa matematika, dan mereka akan mengatakan itu salah: tidak ada angka yang sama dengan dirinya sendiri ditambah lima. Mereka benar dalam aljabar. Itulah sebabnya baris ini membingungkan saat pertama dilihat dalam program. Dalam Python, = bukan pernyataan bahwa dua hal sama. Itu adalah instruksi yang memiliki arah. Hitung sisi kanan lebih dahulu, lalu kaitkan nama di kiri dengan hasilnya.
score = 10
score = score + 5
print(score)15Baca seperti Python membacanya. Baris 1: sisi kanan adalah 10, jadi nama score kini merujuk ke 10. Baris 2: sisi kanan adalah score + 5, yaitu 10 + 5, hasilnya 15, sehingga score kini merujuk ke 15. Nilai lama 10 sudah ditinggalkan. Baris 3 mencetak nilai yang dirujuk score saat itu. Nama yang merujuk ke nilai seperti ini disebut variabel, dan baris yang memberinya nilai disebut penugasan.
Tabel penelusuran mengikuti setiap variabel baris demi baris
Saat beberapa variabel berubah, buat tabel penelusuran: satu baris untuk setiap baris kode, satu kolom untuk setiap variabel, lalu tulis nilainya setelah baris itu dijalankan. Cara ini lambat, tetapi efektif. Kebanyakan pertanyaan "mengapa hasil cetaknya begitu?" dapat dijawab dengan tabel penelusuran dalam waktu kurang dari satu menit.
score = 10
bonus = score * 2
score = 0
print(score, bonus)0 20| Baris | score | bonus |
|---|---|---|
| score = 10 | 10 | (belum ada) |
| bonus = score * 2 | 10 | 20 |
| score = 0 | 0 | 20 |
| print(score, bonus) | 0 | 20 |
Lihat dua baris terakhir. Mengubah score menjadi 0 tidak mengubah bonus. Saat baris 2 dijalankan, Python menghitung 10 * 2 = 20 dan memberi bonus angka itu. bonus menyimpan hasil, bukan resep, sehingga tidak mengingat dari mana 20 berasal.
Setiap nilai memiliki tipe
Nilai memiliki jenis yang disebut tipe. Bilangan bulat seperti 42 adalah int. Bilangan dengan titik desimal seperti 3.5 adalah float. Teks dalam tanda kutip adalah str. True dan False adalah bool. Fungsi bawaan type memberi tahu tipe nilaimu. Tipe penting karena menentukan cara operasi bekerja: 2 + 3 menjumlahkan, sedangkan "2" + "3" menggabungkan dua string menjadi "23".
print(type(42))
print(type(3.5))
print(type("42"))
print(type(True))
print(2 + 3, "2" + "3")<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>
5 23Aturan penamaan
Nama variabel boleh menggunakan huruf, digit, dan garis bawah _, tetapi tidak boleh diawali digit atau mengandung spasi. Huruf besar dianggap berbeda, sehingga Score dan score adalah dua variabel terpisah. Beberapa kata, seperti if, for, dan True, adalah bagian bahasa dan tidak dapat digunakan sebagai nama. Pemrogram Python biasanya menulis nama dengan huruf kecil dan garis bawah antarkata, seperti lunch_price, serta memilih nama yang menjelaskan arti nilainya. x cukup untuk pengujian singkat, sedangkan seats_left lebih baik dalam program yang akan dibaca orang lain.
a = "left"
b = "right"
a, b = b, a
print(a, b)right leftContoh terakhir menukar dua nilai dalam satu baris. Python menghitung seluruh sisi kanan, b, a, lebih dahulu, lalu memberikan kedua hasil kepada a dan b. Banyak bahasa lain memerlukan variabel ketiga untuk melakukan hal yang sama.
| variabel | Nama yang merujuk ke sebuah nilai |
| penugasan | name = value: hitung sisi kanan, lalu kaitkan namanya |
| int | Bilangan bulat: 7, -3, 2026 |
| float | Bilangan dengan titik desimal: 3.5, 0.1 |
| str | Teks dalam tanda kutip |
| bool | True atau False |
| tabel penelusuran | Tabel nilai setiap variabel setelah setiap baris |
- Apa yang dicetak kode ini?
x = 4 x = x + 3 print(x) - Apa yang dicetak kode ini?
a = 3 b = a a = 7 print(b) - Apa yang dicetak kode ini?
price = 1500 count = 3 total = price * count print(total) - Apa yang dicetak kode ini?
n = 2 n = n * n n = n * n print(n)48162
- Apa yang dicetak kode ini?
print(type(7.0)) - Apa yang dicetak kode ini?
print("7" + "7") - Mana yang merupakan nama variabel yang sah?
- 2nd_place
- seats left
- seats_left
- for
- Apa yang dicetak kode ini?
a = "left" b = "right" a, b = b, a print(b) - Apa yang dicetak kode ini?
Score = 5 score = 9 print(Score)5914Kesalahan
- Setelah x = 10 lalu x + 1 pada baris tersendiri, berapa nilai x?
- 10
- 11
- x + 1
- Kesalahan
- "5 = x dan x = 5 berarti sama." Nama harus berada di kiri. 5 = x berhenti dengan SyntaxError: cannot assign to literal here. Maybe you meant '==' instead of '='?
- "bonus = score * 2 menghubungkan bonus dengan score selamanya." bonus mendapat angka hasil perhitungan pada saat itu. Perubahan score kemudian tidak memengaruhinya, seperti yang ditunjukkan tabel penelusuran.
- "Menulis x + 1 menambahkan satu pada x." Ekspresi yang berdiri sendiri tidak mengubah apa pun. Kamu memerlukan x = x + 1, atau bentuk singkat x += 1.
- = berarti "hitung sisi kanan, lalu beri nama ini".
- Tabel penelusuran mencatat setiap variabel setelah setiap baris.
- Tipe: int, float, str, bool. type() memberi tahu tipenya.
- Nama: huruf, digit, _; tidak boleh diawali digit; huruf besar dan kecil dibedakan.
Sumber kursus ini (6)
- Python Software Foundation, The Python Tutorial for Python 3.12 (docs.python.org/3.12/tutorial: 2 Using the Python Interpreter, 3 An Informal Introduction to Python (numbers, text, lists), 4 More Control Flow Tools (if, for, range, break and continue, defining functions, default argument values, 4.10 coding style: 4-space indentation), 5 Data Structures (list methods, 5.5 dictionaries, insertion order), 8 Errors and Exceptions (syntax errors, exceptions, reading the traceback, handling exceptions), 15 Floating-Point Arithmetic (0.1 + 0.2))
- Built-in Functions (docs.python.org/3.12/library/functions.html: print, input, len, int, float, str, type, round (round half to even: round(0.5) and round(-0.5) are 0, round(1.5) is 2), range, sum, min, max, sorted)
- Built-in Types (str methods upper, lower, replace, strip; dict.get; list.append, pop, remove, sort returning None)
- General Python FAQ (docs.python.org/3.12/faq/general.html: Guido van Rossum began Python in the 1989 Christmas holidays, posted it to USENET in February 1991, named it after Monty Python's Flying Circus)
- Curriculum for the Korean pages: 교육부 고시 제2022-33호 [별책 10] 정보과 교육과정 (PDF read 2026-10-19: 중학교 정보 [9정03-05] 리스트 등 데이터를 순차적으로 저장하는 구조, [9정03-06] 논리 연산과 중첩 제어 구조, [9정03-07] 함수 활용과 디버거로 오류 수정, [9정03-08] 실생활 문제를 프로그래밍으로 해결, 적용 시 고려 사항 「학생의 수준을 고려하여 적합한 프로그래밍 언어를 선정」; 고등학교 정보 [12정03-04] 자료형, [12정03-05] 표준입출력, [12정03-07] 제어 구조)
- Bug story only: Smithsonian National Museum of American History, Log Book With Computer Bug, 1947, Harvard Mark II, "first actual case of bug being found", probably not Hopper's log book (americanhistory.si.edu/collections/object/nmah_334663, read 2026-10-19)
Diperiksa: 2026-10-19