พื้นฐานของภาษา Python

พื้นฐานของภาษา Python

บทความนี้อธิบายพื้นฐานของภาษา Python

YouTube Video

การเรียกใช้ "Hello World!"

1print("Hello World!")

ตัวแปรในภาษา Python

ในภาษา Python ตัวแปรเป็นพื้นที่จัดเก็บที่มีชื่อสำหรับใช้เก็บและเรียกใช้ข้อมูลในโปรแกรม ตัวแปรสามารถเก็บข้อมูลในหลายชนิดและเปลี่ยนแปลงค่าได้ตามต้องการ ด้านล่างเรามีตัวอย่างโค้ดหลายตัวอย่างเพื่อแสดงการใช้งานพื้นฐานของตัวแปรในภาษา Python

 1# 1. Assigning values to variables
 2# Integer type variable
 3age = 25
 4print("Age:", age)  # Output: Age: 25
 5
 6# Floating-point type variable
 7height = 175.5
 8print("Height:", height, "cm")  # Output: Height: 175.5 cm
 9
10# String type variable
11name = "Taro"
12print("Name:", name)  # Output: Name: Taro
13
14# Boolean type variable
15is_student = True
16print("Are you a student?", is_student)  # Output: Are you a student? True
17
18# 2. Assigning values to multiple variables simultaneously
19# You can assign multiple variables at once
20x, y, z = 5, 10, 15
21print("x =", x, ", y =", y, ", z =", z)  # Output: x = 5 , y = 10 , z = 15
22
23# 3. Updating the value of a variable
24# The value of a variable can be updated by reassignment
25age = 26
26print("Updated age:", age)  # Output: Updated age: 26
27
28# 4. Updating multiple variables at once
29# Example of swapping values between variables
30a, b = 1, 2
31a, b = b, a
32print("a =", a, ", b =", b)  # Output: a = 2 , b = 1
33
34# 5. Type conversion
35# Type conversion allows operations between different types
36count = "5"  # String "5"
37count = int(count)  # Convert to integer type
38print("Handling count as an integer:", count * 2)  # Output: Handling count as an integer: 10
39
40# Conversion to floating-point number
41pi_approx = "3.14"
42pi_approx = float(pi_approx)
43print("Approximation of pi:", pi_approx)  # Output: Approximation of pi: 3.14

ดังที่แสดง ตัวแปรในภาษา Python ใช้งานได้ยืดหยุ่น ตัวแปรสามารถใช้งานได้โดยไม่ต้องระบุชนิดข้อมูล และสามารถเปลี่ยนแปลงค่าได้ตามต้องการ นอกจากนี้ การแปลงชนิดข้อมูลยังช่วยให้เปลี่ยนแปลงระหว่างชนิดข้อมูลต่าง ๆ ได้ง่าย

ชนิดข้อมูลในภาษา Python

ภาษา Python มีชนิดข้อมูลพื้นฐานหลายประเภท ด้านล่างนี้เรามีคำอธิบายและตัวอย่างโค้ดสำหรับแต่ละชนิดข้อมูล

ชนิดข้อมูลจำนวนเต็ม

ชนิดข้อมูลจำนวนเต็มใช้เพื่อจัดการกับตัวเลขที่ไม่มีจุดทศนิยม

1# Example of integer type
2x = 10
3print(x)        # Output: 10
4print(type(x))  # Output: <class 'int'>

ชนิดข้อมูลทศนิยม

ชนิดข้อมูลทศนิยมใช้เพื่อจัดการกับตัวเลขที่มีจุดทศนิยม

1# Floating Point Number Example
2y = 3.14
3print(y)        # Output: 3.14
4print(type(y))  # Output: float

ชนิดข้อมูลข้อความ

ประเภทสตริงแสดงถึงลำดับของตัวอักษร สตริงสามารถเขียนในเครื่องหมายอัญประกาศเดี่ยว ' หรือเครื่องหมายอัญประกาศคู่ "

1# Example of String
2s = "Hello, World!"
3print(s)        # Output: Hello, World!
4print(type(s))  # Output: <class 'str'>

ประเภทบูลีน

ประเภทบูลีนมีค่ามีเพียงสองค่า: จริง (True) และเท็จ (False)

1# Example of Boolean
2b = True
3print(b)        # Output: True
4print(type(b))  # Output: <class 'bool'>

ประเภทลิสต์

ประเภทลิสต์คือลำดับที่สามารถเปลี่ยนแปลงได้ สามารถเก็บหลายองค์ประกอบ และองค์ประกอบเหล่านี้สามารถเป็นประเภทข้อมูลที่แตกต่างกันได้

1# Example of List
2lst = [1, 2, 3, "four", 5.0]
3print(lst)        # Output: [1, 2, 3, 'four', 5.0]
4print(type(lst))  # Output: <class 'list'>

ประเภททูเพิล

ทูเพิลคือลำดับที่สามารถเก็บหลายองค์ประกอบได้ และเนื้อหาของมันไม่สามารถเปลี่ยนแปลงหลังสร้างขึ้นแล้ว

1# Example of Tuple
2tup = (1, "two", 3.0)
3print(tup)        # Output: (1, 'two', 3.0)
4print(type(tup))  # Output: <class 'tuple'>

ประเภทพจนานุกรม

ประเภทพจนานุกรมคือชุดรวบรวมที่เก็บคู่คีย์และค่า คีย์จะต้องไม่ซ้ำกัน

1# Example of Dictionary
2dct = {"one": 1, "two": 2, "three": 3}
3print(dct)        # Output: {'one': 1, 'two': 2, 'three': 3}
4print(type(dct))  # Output: <class 'dict'>

ประเภทเซต

ประเภทเซตคือชุดรวบรวมที่เก็บองค์ประกอบที่ไม่ซ้ำกัน ค่าแบบซ้ำกันจะไม่สามารถใส่ได้

1# Example of Set
2st = {1, 2, 2, 3}
3print(st)        # Output: {1, 2, 3}
4print(type(st))  # Output: <class 'set'>

ประเภทข้อมูลเหล่านี้เป็นประเภทพื้นฐานที่มักถูกใช้ในการจัดการข้อมูลในภาษา Python การใช้งานประเภทข้อมูลเหล่านี้อย่างเหมาะสม จะช่วยให้คุณตอบสนองความต้องการต่าง ๆ ในโปรแกรมของคุณ

ภาพรวมของ Python

Python เป็นภาษาโปรแกรมระดับสูง ที่พัฒนาโดย Guido van Rossum ในปี 1991 แนวคิดการออกแบบของมันเน้น 'ความเรียบง่าย,' 'ความชัดเจน,' และ 'ความอ่านง่าย' ทำให้โค้ดมีความเข้าใจง่าย เขียนง่าย และอ่านง่าย ด้านล่างคือภาพรวมของคุณสมบัติหลักของ Python

  1. ความอ่านง่ายและความเรียบง่าย:

    • ด้วยโครงสร้างที่ชัดเจนและนิพจน์ที่ใกล้เคียงกับภาษามนุษย์ Python เป็นภาษาที่เหมาะสำหรับผู้เริ่มต้นเรียนรู้
    • บล็อกถูกกำหนดด้วยการย่อหน้า ซึ่งช่วยจัดรูปแบบโค้ดโดยอัตโนมัติและเพิ่มความอ่านง่าย
  2. ไลบรารีและเฟรมเวิร์กที่หลากหลาย:

    • มีไลบรารีมาตรฐานที่หลากหลาย ทำให้สามารถดำเนินงานหลายอย่างได้อย่างง่ายดาย
    • มีไลบรารีและเฟรมเวิร์กเฉพาะทางสำหรับหลากหลายสาขา ได้แก่ การคำนวณเชิงตัวเลข (NumPy), การวิเคราะห์ข้อมูล (Pandas), การเรียนรู้ของเครื่อง (scikit-learn, TensorFlow) และการพัฒนาเว็บ (Django, Flask)
  3. ความหลากหลาย:

    • Python เหมาะสมทั้งในฐานะภาษาสคริปต์และการพัฒนาแอปพลิเคชันที่มีคุณสมบัติครบถ้วน ใช้งานในหลากหลายแอปพลิเคชัน เช่น การพัฒนาเว็บแอปพลิเคชัน, แอปพลิเคชันบนเดสก์ท็อป, การคำนวณเชิงวิทยาศาสตร์, การเรียนรู้ของเครื่อง, การวิเคราะห์ข้อมูล และ IoT
  4. รองรับหลายแพลตฟอร์ม:

    • ไม่ขึ้นกับแพลตฟอร์มและสามารถใช้งานได้บนระบบปฏิบัติการหลายชนิด เช่น Windows, macOS และ Linux
  5. โอเพนซอร์สและชุมชน:

    • Python เป็นโครงการโอเพนซอร์สที่รับการสนับสนุนจากชุมชนที่มีความเคลื่อนไหว จึงมีการอัปเดตอย่างสม่ำเสมอ, การพัฒนาไลบรารีใหม่ๆ และการให้การสนับสนุน
  6. ชนิดข้อมูลแบบพลวัตและการจัดการหน่วยความจำแบบอัตโนมัติ:

    • ชนิดข้อมูลแบบพลวัตช่วยลดความจำเป็นในการประกาศชนิดตัวแปร ทำให้การพัฒนารวดเร็วขึ้น
    • การจัดการหน่วยความจำอัตโนมัติด้วย Garbage Collection ทำให้การจัดการหน่วยความจำง่ายขึ้น

ด้วยคุณลักษณะเหล่านี้ Python ถูกใช้งานอย่างกว้างขวางในหลายสาขา รวมถึงการศึกษา อุตสาหกรรม และแวดวงวิชาการ

ตัวอักษรหนีในภาษาไพธอน

ในภาษาไพธอน ตัวอักษรหนีใช้ในการรวมตัวอักษรควบคุมเฉพาะหรืออักขระที่มีความหมายพิเศษเข้าไปในสายอักขระ ตัวอักษรหนีเป็นสัญลักษณ์พิเศษที่ใช้เพิ่มความหมายเฉพาะให้แก่สายอักขระทั่วไป มาดูรายละเอียดเกี่ยวกับตัวอักษรหนีในภาษาไพธอนกัน

พื้นฐานของตัวอักษรหนี

ในภาษาไพธอน ตัวอักษรหนีจะถูกกำหนดโดยใช้เครื่องหมายแบ็คสแลช (\) ตัวอักษรหนีเป็นตัวระบุพฤติกรรมเฉพาะภายในสายอักขระทั่วไป ตัวอย่างเช่น \n แทนบรรทัดใหม่ และ \t แทนช่องว่างแบบแท็บ

คุณสามารถกำหนดสายอักขระที่มีตัวอักษรหนีได้ดังนี้:

1# Example of escape characters
2print("Hello\nWorld")  # A newline is inserted after "Hello"
3
4# Output:
5# Hello
6# World

รายการตัวอักษรหนีหลัก

ตัวอักษรหนีหลักที่ใช้ในภาษาไพธอนมีดังนี้:

  • \\: แทนเครื่องหมายแบ็คสแลชเอง
  • \': รวมเครื่องหมายจุดเดี่ยวในสายอักขระ
  • \": รวมเครื่องหมายจุดคู่ในสายอักขระ
  • \n: บรรทัดใหม่
  • \t: ช่องว่างแบบแท็บ
  • \r: คืนค่าเข้าหัวบรรทัด
  • \b: ย้อนกลับหนึ่งช่อง
  • \f: ฟีดฟอร์ม
  • \a: เสียงเตือน (กระดิ่ง)
  • \v: แท็บแนวตั้ง
  • \N{name}: อักขระตามชื่อในฐานข้อมูล Unicode
  • \uXXXX: อักขระ Unicode แบบ 16 บิต (ระบุด้วยตัวเลขฐานสิบหก 4 หลัก)
  • \UXXXXXXXX: อักขระ Unicode แบบ 32 บิต (ระบุด้วยตัวเลขฐานสิบหก 8 หลัก)
  • \xXX: อักขระที่ระบุด้วยตัวเลขฐานสิบหก

ตัวอย่างของอักขระหนีรอดที่ใช้บ่อย

นี่คือตัวอย่างเฉพาะของการใช้อักขระหนีรอด

เครื่องหมายคำพูดคู่และเครื่องหมายคำพูดเดี่ยว

เพื่อรวมเครื่องหมายคำพูดคู่หรือคำพูดเดี่ยวในสตริง ให้ใช้อักขระหนีรอด

 1# String containing double quotes
 2quote = "He said, \"Python is amazing!\""
 3print(quote)
 4
 5# String containing single quotes
 6single_quote = 'It\'s a beautiful day!'
 7print(single_quote)
 8
 9# Output:
10# He said, "Python is amazing!"
11# It's a beautiful day!

ขึ้นบรรทัดใหม่และแท็บ

การขึ้นบรรทัดใหม่และแท็บมักใช้สำหรับจัดรูปแบบข้อความ

 1# Example using newline
 2multiline_text = "First line\nSecond line"
 3print(multiline_text)
 4
 5# Example using tab
 6tabbed_text = "Column1\tColumn2\tColumn3"
 7print(tabbed_text)
 8
 9# Output:
10# First line
11# Second line
12# Column1	Column2	Column3

อักขระหนีรอดแบบ Unicode

ในภาษา Python อักขระ Unicode แสดงโดยใช้ \u หรือ \U สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อจัดการกับอักขระที่ไม่ใช่ภาษาอังกฤษ

1# Example of Unicode escape
2japanese_text = "\u3053\u3093\u306B\u3061\u306F"  # Hello in Japanese
3print(japanese_text)
4# Output:
5# こんにちは(Hello in Japanese)

ข้อควรระวังเมื่อใช้อักขระหนีรอดแบบพิเศษ

มีข้อควรระวังเล็กน้อยที่ควรคำนึงถึงเมื่อใช้อักขระหนีรอด

  1. Raw Strings: หากต้องการแสดงสตริงที่มีเครื่องหมายแบ็กสแลชโดยตรง คุณสามารถใช้ raw strings Raw strings กำหนดโดยการเพิ่มคำนำหน้า r ให้กับสตริง
1raw_string = r"C:\Users\name\Documents"
2print(raw_string)
3# Output:
4# C:\Users\name\Documents

ใน raw strings เครื่องหมายแบ็กสแลชจะไม่ได้รับการตีความว่าเป็นอักขระหนีรอดและจะแสดงผลตามที่เป็น

  1. การใช้ Unicode: เมื่อใช้อักขระหนีรอดแบบ Unicode โปรดตรวจสอบให้แน่ใจว่ารหัสเลขฐานสิบหกที่ระบุถูกต้อง การระบุที่ผิดพลาดจะนำไปสู่การแสดงผลอักขระที่ผิดพลาด

การหนีรอดเครื่องหมายแบ็กสแลช

เพื่อรวมเครื่องหมายแบ็กสแลชในสตริง ให้ใช้เครื่องหมายแบ็กสแลชสองครั้ง

1# Example containing backslash
2path = "C:\\Program Files\\Python"
3print(path)
4# Output:
5# C:\Program Files\Python

ตัวอย่างขั้นสูง: การจัดรูปแบบสตริงที่ซับซ้อน

สามารถผสมผสานอักขระหนีรอดเพื่อจัดรูปแบบสตริงที่ซับซ้อนได้

 1# Example of formatting a message
 2message = "Dear User,\n\n\tThank you for your inquiry.\n\tWe will get back to you shortly.\n\nBest Regards,\nCustomer Support"
 3print(message)
 4# Output:
 5# Dear User,
 6#
 7#     Thank you for your inquiry.
 8#     We will get back to you shortly.
 9#
10#     Best Regards,
11#     Customer Support

สรุป

อักขระหนีรอดของ Python เป็นเครื่องมือที่ทรงพลังสำหรับใส่อักขระควบคุมเฉพาะหรืออักขระพิเศษในสตริง การเข้าใจวิธีการใช้งานและการใช้ให้เหมาะสมเมื่อจำเป็นช่วยให้การประมวลผลสตริงมีความยืดหยุ่นมากขึ้น

เวอร์ชันของ Python

เรามาทบทวนภาพรวมของการปล่อยเวอร์ชันใหญ่และคุณลักษณะของ Python กัน

  1. Python 1.0 (1994)
1# Simple code that works in Python 1.0
2def greet(name):
3    print "Hello, " + name  # print was a statement
4
5greet("World")

การปล่อยเวอร์ชันอย่างเป็นทางการครั้งแรก ไวยากรณ์พื้นฐานและไลบรารีมาตรฐานของ Python ได้รับการกำหนดขึ้น

  1. Python 2.0 (2000)
1# List comprehension
2squares = [x * x for x in range(5)]
3print squares
4
5# Unicode string (u"...")
6greet = u"Hello"
7print greet

ฟีเจอร์สำคัญ เช่น list comprehension, garbage collection แบบสมบูรณ์, และการเริ่มรองรับ Unicode ได้ถูกเพิ่มเข้ามา Python 2 ถูกใช้งานมาเป็นเวลานาน แต่การสนับสนุนได้สิ้นสุดลงในปี 2020

  1. Python 3.0 (2008)
1# print is now a function
2print("Hello, world!")
3
4# Unicode text is handled natively
5message = "Hello"
6print(message)

อัปเดตครั้งใหญ่ โดยไม่มีความเข้ากันได้ย้อนกลับ print ได้ถูกเปลี่ยนเป็นฟังก์ชัน, Unicode กลายเป็นชนิดสตริงเริ่มต้น และการรวม Integer ทำให้ Python มีความสม่ำเสมอและใช้งานง่ายขึ้น Python 3.x เป็นเวอร์ชันหลักที่ใช้งานในปัจจุบัน

  1. Python 3.5 (2015)
1import asyncio
2
3async def say_hello():
4    await asyncio.sleep(1)
5    print("Hello, async world!")
6
7asyncio.run(say_hello())

การใช้งานไวยากรณ์ async/await ถูกเพิ่มเข้ามา ทำให้การเขียนโปรแกรมแบบอะซิงโครนัสง่ายขึ้น

  1. Python 3.6 (2016)
1name = "Alice"
2age = 30
3print(f"{name} is {age} years old.")  # f-string makes formatting simple

Formatted String Literals (f-strings) ถูกเพิ่มเข้ามา ทำให้การจัดรูปแบบข้อความสะดวกยิ่งขึ้น นอกจากนี้ ประเภทของตัวแปร (type hints) ยังได้รับการขยายเพิ่มเติม

  1. Python 3.7 (2018)
1from dataclasses import dataclass
2
3@dataclass
4class Person:
5    name: str
6    age: int
7
8p = Person("Bob", 25)
9print(p)

Dataclasses ถูกเพิ่มเข้ามา ทำให้ง่ายต่อการกำหนดคลาสที่มีโครงสร้างคล้าย struct การรองรับ async/await ก็ได้รับการปรับปรุงเพิ่มเติม

  1. Python 3.8 (2019)
1# Assignment inside an expression
2if (n := len("hello")) > 3:
3    print(f"Length is {n}")

The Walrus Operator (:=) ถูกเพิ่มเข้ามา ซึ่งช่วยให้สามารถใช้การกำหนดค่าในนิพจน์ได้ Positional-only parameters ถูกเพิ่มเข้ามาเช่นกัน ทำให้การกำหนดพารามิเตอร์ในฟังก์ชันมีความยืดหยุ่นมากขึ้น

  1. Python 3.9 (2020)
1a = {"x": 1}
2b = {"y": 2}
3c = a | b  # merge two dicts
4print(c)   # {'x': 1, 'y': 2}

มีการปรับปรุงตัวบ่งชี้ประเภท (type hints) และเพิ่มตัวดำเนินการรวม (|) สำหรับลิสต์และดิกชันนารี ไลบรารีมาตรฐานได้รับการปรับโครงสร้างใหม่

  1. Python 3.10 (2021)
 1def handle(value):
 2    match value:
 3        case 1:
 4            return "One"
 5        case 2:
 6            return "Two"
 7        case _:
 8            return "Other"
 9
10print(handle(2))

Pattern matching ถูกเพิ่มเข้ามา ทำให้สามารถใช้คำสั่งเงื่อนไขได้มีประสิทธิภาพยิ่งขึ้น ข้อความแสดงข้อผิดพลาดได้รับการปรับปรุง และระบบประเภท (type system) ได้รับการพัฒนามากขึ้น

  1. Python 3.11 (2022)
1# Improved performance (up to 25% faster in general)
2# More informative error messages
3try:
4    eval("1/0")
5except ZeroDivisionError as e:
6    print(f"Caught an error: {e}")
**การปรับปรุงประสิทธิภาพอย่างมหาศาล** ถูกทำให้สำเร็จ ส่งผลให้การทำงานเร็วขึ้นเมื่อเทียบกับเวอร์ชันก่อนหน้า นอกจากนี้ การจัดการข้อยกเว้น (exception) และการตรวจสอบประเภท (type checking) ได้รับการปรับปรุง
  1. Python 3.12 (2023)
 1# Automatically shows exception chains with detailed traceback
 2def f():
 3    raise ValueError("Something went wrong")
 4
 5def g():
 6    try:
 7        f()
 8    except Exception:
 9        raise RuntimeError("Higher level error")  # Automatically chained
10
11try:
12    g()
13except Exception as e:
14    import traceback
15    traceback.print_exception(type(e), e, e.__traceback__)
ข้อความแสดงข้อผิดพลาดได้รับการปรับปรุงเพิ่มเติม และประสิทธิภาพได้รับการพัฒนา นอกจากนี้ การเชื่อมโยงข้อยกเว้น (exception chaining) จะแสดงโดยอัตโนมัติ ช่วยให้การดีบักรายละเอียดมากยิ่งขึ้น ฟีเจอร์ไวยากรณ์ใหม่และการปรับปรุงไลบรารีมาตรฐานถูกเพิ่มเข้ามา ทำให้ประสิทธิภาพการทำงานของนักพัฒนาดีขึ้น

ชุด Python 3.x ยังคงพัฒนาอย่างต่อเนื่อง โดยเวอร์ชันล่าสุดได้ปรับปรุงประสิทธิภาพ ระบบประเภท และเพิ่มฟีเจอร์ใหม่ๆ

คุณสามารถติดตามบทความข้างต้นโดยใช้ Visual Studio Code บนช่อง YouTube ของเรา กรุณาตรวจสอบช่อง YouTube ด้วย

YouTube Video