ข้ามไปยังเนื้อหา

พื้นฐานและไวยากรณ์

Python ถูกออกแบบมาบนหลักการเดียว: โค้ดควรอ่านได้เหมือนภาษาอังกฤษธรรมดา Guido van Rossum ผู้สร้าง Python เลือกสละความยืดหยุ่นบางส่วนเพื่อแลกกับความอ่านง่าย

ปรัชญานี้ถูกบันทึกไว้ใน PEP 20 หรือที่รู้จักกันว่า The Zen of Python รัน import this ในเซสชัน Python ใดก็ได้เพื่อดู สามบรรทัดที่กำหนดทิศทางทุกอย่าง:

  • Beautiful is better than ugly. — สวยงามดีกว่าน่าเกลียด
  • Explicit is better than implicit. — ชัดเจนดีกว่าซ่อนเร้น
  • There should be one — and preferably only one — obvious way to do it. — ควรมีวิธีเดียวที่ชัดเจน

บรรทัดสุดท้ายสำคัญที่สุดสำหรับการเรียนรู้: เมื่อคุณค้นหาวิธีทำสิ่งใดสิ่งหนึ่งใน Python มักจะมีคำตอบที่ได้รับการยอมรับอยู่เสมอ

Python ใช้ การเยื้อง (4 ช่องว่างต่อระดับ ตามมาตรฐาน) เพื่อกำหนดบล็อกโค้ด ไม่มีวงเล็บปีกกาและไม่มีเครื่องหมายเซมิโคลอน

def is_even(n: int) -> bool:
if n % 2 == 0:
return True
return False
for i in range(5):
if is_even(i):
print(i, "is even")

การผสม tab กับ space จะทำให้เกิด TabError มาตรฐานของชุมชน (PEP 8) คือ 4 ช่องว่าง — ตั้งค่า editor ครั้งเดียวแล้วลืมได้เลย

บทเรียนแนวคิดหลัก
Variables & TypesDynamic typing, ชนิดข้อมูลพื้นฐาน, truthiness
Control Flowif/elif/else, for, while, walrus :=
Functionsdef, พารามิเตอร์, ค่าที่คืน, LEGB scope
StringsMethods, slicing, f-strings, immutability

แต่ละบทเรียนเป็นอิสระและจบด้วย playground ที่รันได้, callout, แบบทดสอบ, และจุดตรวจสอบความก้าวหน้า

สคริปต์ด้านล่างแสดงไวยากรณ์หลักที่คุณจะพบในทุกบทเรียน: ตัวแปร, ฟังก์ชัน, ลูป, และ f-string

def describe(value: int) -> str:
"""Return a short description of a number."""
if value < 0:
label = "negative"
elif value == 0:
label = "zero"
else:
label = "positive"
return f"{value} is {label}"
numbers = [-3, 0, 7, 42]
for n in numbers:
print(describe(n))
total = sum(numbers)
print(f"Sum: {total}")
print("First program complete.")
PEP 20 หรือ 'The Zen of Python' เน้นอะไรมากที่สุด?
Python กำหนดขอบเขตของบล็อกโค้ด เช่น ฟังก์ชันและ if-statement อย่างไร?
PEP ใดกำหนด style guide ของชุมชน Python (เยื้อง 4 ช่องว่าง, ความยาวบรรทัด ฯลฯ)?
ใน Python, ข้อใดถูกต้องเกี่ยวกับจำนวนเต็ม, สตริง, และฟังก์ชัน?