📒
Knowledge-Base
  • Knowledge Base
  • Tutorials
    • Python
      • Introduction
      • Important basic syntax
      • Awesome Python
      • Python 101
      • Python Cheat sheet
      • โครงสร้างของภาษา
      • Library & Package
      • Variable & Data Types
      • Lists
      • Dictionary
      • Function
      • Built-in Function
        • enumerate()
      • Modules
      • Classes & Objects
      • Inheritance
      • Date & Time
      • การใช้งาน Virtualenv
    • Pandas
      • Learning Pandas Second Edition
        • 2. Running with pandas
        • 3. Data with the Series
        • 4. Create DataFrame
        • 5. Manipulating DataFrame Structure
  • e-Book
    • Tech
      • Automate the Boring Stuff
      • A Whirlwind Tour of Python
  • Innovation & Tech
    • Python
    • Pandas
      • 10 Pandas tips
    • Web Scraping
      • Web Scraping 101
      • Requests and BeautifulSoup
  • Industry
    • 20 แนวคิดขายของออนไลน์
    • แผนระยะยาวของ Toyota
    • โลกหลังยุคโลกาภิวัฒน์
  • Opinion
    • บรรยง พงษ์พานิช: กับดักรัฐราชการ 4.0
    • ปัญญาภิญโญ ณ Wongnai WeShare
    • ประเทศไทยในความคิด ความคิดในประเทศไทย
    • การสถาปนา ‘รัฐบรรษัทอำนาจนิยม’ ในสังคมไทย
  • People
    • “ความสำเร็จ ดีใจได้วันเดียว”
    • โซเชียลมีเดีย ในมุมมองของ มาร์ก ซักเคอร์เบิร์ก
  • Parent
    • ADULTIFICTION
    • ความฉลาดสร้างได้
    • การเรียนรู้ของลูกในวันนี้
    • CODING คืออะไร
    • สอน CODING อย่างไรให้ง่าย
    • 8 ข้อครูควรรู้ เมื่อจัดการเรียนรู้ผ่านประสบการณ์
  • Lift
    • คุณรู้สึกว่า โลกทุกวันนี้หมุนเร็วและแคบลงหรือเปล่า?
    • ปัจจุบันเราต้องเผชิญกับความท้าทายอะไรบ้าง
    • กฎ 40% ของหน่วย SEAL
    • e-Book
      • Sapiens – A Brief History of Humankind
        • [สรุป] โฮโม เซเปียนส์ สัตว์มหัศจรรย์และถิ่นที่อยู่
        • ตอนที่ 1- กำเนิด Homo Sapiens
        • ตอนที่ 2 – สิ่งที่ทำให้เราครองโลก
        • ตอนที่ 3 – ยุคแห่งการล่าสัตว์เก็บพืชผล
        • ตอนที่ 4 – การหลอกลวงครั้งยิ่งใหญ่
        • ตอนที่ 5 – คุกที่มองไม่เห็น
        • ตอนที่ 6 – กำเนิดภาษาเขียน
        • ตอนที่ 7 – ความเหลื่อมล้ำ
        • ตอนที่ 8 – โลกที่ถูกหลอมรวม
        • ตอนที่ 9 – มนตราของเงินตรา
        • ตอนที่ 10 – จักรวรรดิ
        • ตอนที่ 11 – บทบาทของศาสนา
        • ตอนที่ 12 – ศาสนาไร้พระเจ้า
        • ตอนที่ 13 – ยุคแห่งความไม่รู้
        • ตอนที่ 14 – 500 ปีแห่งความก้าวหน้า
        • ตอนที่ 15 – เมื่อยุโรปครองโลก
        • ตอนที่ 16 – สวัสดีทุนนิยม
        • ตอนที่ 17 – จานอลูมิเนียมของนโปเลียน
        • ตอนที่ 18 – ครอบครัวล่มสลาย
        • ตอนที่ 19 – สุขสมบ่มิสม
        • ตอนที่ 20 – อวสาน Sapiens
      • Homo Deus
        • [สรุปหนังสือ] Homo Deus
        • ตอนที่ 1: สามวาระใหม่แห่งอนาคต
        • ตอนที่ 2: คำสาปเรื่องดีอุส
        • ตอนที่ 3: เซเปียนส์ครองโลกได้อย่างไร
        • ตอนที่ 4: พลังของจิตวิสัยร่วม
        • ตอนที่ 5: ข้อตกลงเรื่องความทันสมัยกับเทวทัณฑ์
        • ตอนที่ 6: ปลายทางของการปฏิวัติมนุษย์นิยมคืออภิมนุษย์
        • ตอนที่ 7: ไม่มีทั้งเจตจำนงเสรีและวิญญาณในโลกของข้อมูลนิยม (dataism)
        • ตอนที่ 8: เซเปียนส์กลายเป็นสิ่งชำรุดทางประวัติศาสตร์ได้อย่างไร
        • ตอนที่ 9: มิจฉาทิฐิที่ร้ายแรงที่สุดในยุคขัอมูลนิยม (dataism)
        • ตอนที่ 10: พลังกุณฑาลินี คือเส้นทางสู่ด้านสว่างของ Homo Deus
        • ตอนที่ 11: ทฤษฎีแห่งสรรพสิ่ง​(Theory​ of​ Everything)​ของลัทธิข้อมูลนิยมกับ​วิถีแห่งตัวตน
        • ตอนที่ 12: เราต้องก้าวข้ามแต่หลอมรวมลัทธิข้อมูลนิยม
  • See Behind the FX rate
  • Obtaining Stock Prices
  • Monte Carlo Simulation in Finance Python Part-2
  • The Easiest Data Cleaning Method using Python & Pandas
  • How to use iloc and loc for Indexing and Slicing Pandas Dataframes
  • Converting HTML to a Jupyter Notebook
  • Top 50 Tips & Tricks
Powered by GitBook
On this page

Was this helpful?

  1. Tutorials
  2. Python

Important basic syntax

ไวยกรณ์พื้นฐานที่จำเป็นอย่างยิ่งต้องจดจำ (Important basic syntax)

ไวยกรณ์ต่าง ๆ ที่จะกล่าวต่อไปนี้ ขอให้ผู้อ่านจดจำ และท่องให้ขึ้นใจ เพราะมันจะทำให้การเขียนโปรแกรมไม่มีอุปสรรค

Case sensitivity

การตั้งชื่อตัวแปร ตัวใหญ่ และตัวเล็กถือว่าเป็นคนละตัวแปร เช่น Number และ number ไม่ใช่ตัวแปรตัวเดียวกัน

Space and tabs don’t mix

ไพธอนมองว่า space และ tabs มีความหมายไม่เหมือนกัน ดังนั้นเวลาเขียนโปรแกรมอย่าผสมระหว่าง space และ tabs เข้าด้วยกันให้เลือกเอาอย่างใดอย่างหนึ่งเท่านั้น

Objects (วัตถุ)

ไพธอนถูกสร้างขึ้นภายใต้แนวคิดการโปรแกรมเชิงวัตถุ ดังนั้นเมื่อเราเรียกใช้งานคลาสใด ๆ ก็ตามถือว่าเป็นวัตถุตามแนวความคิดแบบโปรแกรมเชิงวัตถุ (การโปรแกรมเชิงวัตถุจะกล่าวในบทที่ 11 ) ดังนั้นเมื่อใดก็ตามที่มีการสร้างวัตถุและต้องการเข้าถึงแอตทริบิวต์ (Attribute) หรือฟังชัน (Function) ใดๆ ในวัตถุต้องใช้“ ” แล้วตามด้วยเครื่องหมาย ( ) แต่ถ้าอ้างถึงตัวแปรไม่ต้อง มี ( ) เช่น เมื่อต้องการเปลี่ยนค่าสตริง 'Pop'เป็นตัวอักษรตัวใหญ่ทั้งหมด ทำได้โดยเรียกใช้คลาส upper ในไลบรารีของไพธอน ดังนี้ 'Pop'.upper()

Scope

ในการพัฒนาโปรแกรมขนาดใหญ่ ที่มีโปรแกรมเมอร์มากกว่า 1 คน อาจจะประสบปัญหาเรื่องการประกาศตัวแปรที่ซ ้ากันได้ ดังนั้นเพื่อให้การเข้าถึงและใช้งานตัวแปรเป็นไปอย่างถูกต้องโดยไม่มีข้อผิดพลาด แนะนำให้ผู้เขียนโปรแกรมใช้งานในลักษณะของฟังชันจะดีกว่า โดยมีการส่งค่าตัวแปรไปในฟังชัน และคืนค่าที่คำนวณเรียบร้อยแล้วกลับมา จะไม่ทำให้ประสบปัญหาเรื่องของการอ้างตัวแปรดังที่กล่าวมาแล้ว

Namespaces

คือพื้นที่ที่ใช้เก็บตัวแปรของระบบที่สร้างไว้ให้เราโดยที่เราไม่รู้ และตัวแปรต่าง ๆ ที่เราสร้างขึ้นมาทีหลัง เราสามารถขอดูข้อมูลที่เก็บอยู่ใน Namespaces ได้โดยใช้คำสั่ง dir() ซึ่งเป็น built-in function ที่มีอยู่ในไพธอน ซึ่งถ้าเรายังไม่ได้ประกาศตัวแปร หรือฟังชันใดๆ ในโรแกรมจะปรากฎรายการของตัวแปรที่ระบบสร้างไว้ให้ 6 ตัวคือ'__builtins__', '__doc__', '__file__', '__loader__', '__name__', '__package__'

ถ้าต้องการดูประเภทของตัวแปรเหล่านี้ว่าเป็นชนิดอะไร สามารถเรียกดูได้โดยใช้คำสั่ง type() เช่น type (__builtins__) ชนิดของตัวแปรที่ปรากฎคือ<class 'module'>หรือ type (__doc__) ชนิดของตัวแปรที่ปรากฎคือ <class 'NoneType'> เมื่อตัวแปรเป็นชนิด module

เราสามารถดูข้อมูลภายในโมดูลเหล่านั้นได้ด้วยคำสั่ง dir( ) เช่น dir(__builtins__) ผลที่ได้ คือชื่อของฟังชัน หรือคลาสที่อยู่ภายในทั้งหมดออกมา ดังนี้ ['ArithmeticError', 'AssertionError', 'AttributeError',…., 'zip'] ในแต่ละ Namespaces เปรียบเสมือนเป็นคลัง หรือตู้คอนเทนเนอร์สำหรับเก็บข้อมูลต่างๆ ลงไป ดังนั้นแต่ละโปรแกรมจะถูกเก็บแยกออก จากกันโดยอิสระ

ดังนั้นอาจจะเรียก Namespaces ว่าเหมือนกับ Scope ก็ได้ เมื่อใดก็ตามที่เราสร้างตัวแปร หรือฟังชัน ตัวแปรที่สร้างขึ้นก็จะถูกเก็บอยู่ในพื้นที่ของ Namespaces ทั้งหมด เมื่อเราทำการนำเข้าคลาสใดๆ เข้ามาใช้งานในโปรแกรมด้วยการใช้import คลาสต่าง ๆ เหล่านั้นก็จะมาปรากฎใน Namespaces ด้วย เช่น import math จากนั้นใช้คำสั่ง dir() ผลลัพธ์ที่ได้คือ ['__builtins__', '__doc__', '__loader__', '__name__', '__package__', 'math', 'x']

ถ้าผู้เขียนโปรแกรมต้องการทราบรายละเอียดของฟังชัน หรือ เมธอต (Method) ในคลาสmath ให้ใช้คำสั่ง dir(math) ถ้าผู้เขียนโปรแกรมต้องการทราบการทำงานในแต่ละฟังชันของ math ว่าทำงานอย่างไร สามารถทำได้โดยใช้ฟังชัน print ตามด้วยชื่อคลาส.เมธอต เช่น print (math.pow) หรือ print (math.pi) เป็นต้น

Colons

ไพธอนตัดเครื่องหมายแสดงขอบเขตของข้อมูล {…}ทิ้งไป แล้วใช้ : ร่วมกับการเขียนโปรแกรมด้วยการย่อหน้าแทน โดยเริ่มจากคอลัมภ์ที่ 1 เสมอดังนั้นอย่าลืม : หลังคำสั่งif, for, while, def เป็นอันขาด

Blank lines

เมื่อจำเป็นต้องเขียนคำสั่งที่มีความยาวมากๆ ไม่หมดใน 1 บรรทัด ให้ใช้เครื่องหมาย\ ตามด้วยenterเช่น

print ('This is a really long lines \  
but we can make it across \  
multiple lines')

หรือ

x = 4 * 5 - 5 + \  
6 + 8 \  
+ 5 % 2  
print(x)

Lines and Indentation

ไพธอนไม่ใช้เครื่องหมาย{…}ในการกำหนดขอบเขต เหมือนในภาษาซี ไพธอนใช้การเยื้อง หรือย่อหน้าแทน ดังนั้นผู้เขียนโปรแกรมจะต้องระวังการเยื้องหน้าให้ดี จากตัวอย่างต่อไปนี้

ตัวอย่างที่ 1

if True:  
    print ("True")  
else:  
    print ("Answer")
    print ("False")

ตัวอย่างที่ 2

if True:  
    print ("Answer")  
    print ("True")  
else:  
    print ("Answer")
print ("False")

โปรแกรมตัวอย่างที่ 1 จะไม่เกิด ข้อผิดพลาด เพราะว่าคำสั่งหลัง else ย่อหน้าตรงกัน โปรแกรมตัวอย่างที่ 2 จะเกิดข้อผิดพลาด เพราะว่าคำสั่งหลัง else ย่อหน้าไม่ตรงกัน

Multi-line statements

แต่ละคำสั่งของไพธอนส่วนใหญ่จบลงด้วยการขึ้นบรรทัดใหม่ (new line) แต่ผู้เขียนโปรแกรมสามารถใช้เครื่องหมาย\เพื่อเชื่อมคำสั่งได้ เช่น

total = item_one + \ #item_one = "one"
item_two + \ #item_two = "two" 
item_three #item_three = "three"

OUTPUT

one two three

สำหรับข้อมูลในเครื่องหมาย […], {…} หรือ(…) ไม่จำเป็นต้องใช้เครื่องหมาย \เช่น

days = ['Monday', 'Tuesday', 'Wednesday',  
'Thursday', 'Friday']

Quotation in Python

ไพธอนใช้เครื่องหมาย' (single quote), " (double quote)ในการแสดงค่าของสตริง แต่เครื่องหมาย""" (triple quote)สามารถใช้เชื่อมต่อสตริงแบบหลาย ๆ บรรทัดได้ เช่น

word = 'word'  
sentence = "This is a sentence."  
paragraph = """This is a paragraph. It is  made up of multiple lines and  
sentences."""  
print(paragraph)

OUTPUT

This is a paragraph. It is  made up of multiple lines and sentences.

Waiting for the user

บ่อยครั้งที่ผู้เขียนโปรแกรมต้องการให้โปรแกรมหยุดรอก่อนโปรแกรมทำงานเสร็จ โดยขึ้นข้อความว่า “Press the enter key to exit.” สามารถใช้ \n\n ใส่ไว้ก่อนข้อความ ดังนี้

input("\n\nPress the enter key to exit.")

Multiple statements on a single line

ผู้เขียนโปรแกรมสามารถใช้เครื่องหมาย ; เพื่อสั่งให้สามารถรันหลายๆ คำสั่งได้ในบรรทัดเดียวกันได้

import sys; x = 'Python'; sys.stdout.write(x + ' \n')

OUTPUT

Python  
7
PreviousIntroductionNextAwesome Python

Last updated 5 years ago

Was this helpful?