Skip to main content

Python

VSCode

Text Editor


Terminal


Functions & Variables

Built-in functions


function หรือคำสั่งที่พื้นฐานที่สุดในการเขียนโปรแกรม คือ การแสดงผลลงบนหน้า terminal

โดยใน python นั้นจะมีคำสั่ง print ซึ่งสามารถใช้ได้ดังนี้ 

print("Hello, world")

ผลลัพธ์:

Hello, world

คำสั่ง print นั้นจะรับค่า (argument) เข้าไป และแสดงผลออกมาบนหน้า terminal  โดยในที่นี้ที่มี "Hello, world" เป็น argument

คำสั่ง print รวมถึงบางคำสั่ง สามารถเรียกใช้โดยไม่ใส่ค่า argument ลงไปได้ ตัวอย่างเช่น

print()

โดยผลลัพธ์จะเป็นการเว้นบรรทัดเพียงอย่างเดียว

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

print("Hey! I'm in the first line.")
print("But I'm in the second line.")

ผลลัพธ์:

Hey! I'm in the first line.
But I'm in the second line.

Bugs

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

print("Hello, world"

ผลลัพธ์:

  File "c:\Users\name\Desktop\filename\hello.py", line 1
    print("Hello, world"
         ^
SyntaxError: '(' was never closed

จะเห็นว่าโค้ดข้างต้นขาดวงเล็บปิด ซึ่งทำให้ compiler จะแสดง error ออกมา  โดยส่วนใหญ่แล้วข้อความ error นั้นจะบอกว่าข้อผิดพลาดนั้นเกิดที่ไหน และให้คำแนะนำในการแก้ปัญหา

ดังนั้นความสามารถในการทำความเข้าใจข้อความ error ก็เป็นสิ่งที่จำเป็นกับการเขียนโปรแกรม ถึงแม้ว่าจะไม่มีใครต้องการให้มันเกิดก็ตาม

Variables


variable หรือตัวแปร เป็นตัวที่ใช้ในการเก็บข้อมูล  คล้ายกับในทางคณิตศาสตร์ที่จะมีตัวแปรซึ่งแทนค่าตัวเลขต่างๆ

ก่อนจะใช้ตัวแปรนั้น ต้องมีการประกาศตัวแปรขึ้นมาก่อน โดยการเขียนในรูปแบบดังนี้

x = 2

สังเกตว่าจะมีเครื่องหมายเท่ากับ = อยู่ตรงกลาง  โดยในทางโปรแกรมมิ่ง เครื่องหมายเท่ากับทำหน้าที่ assign ค่าทางด้านขวาให้กับตัวแปลทางด้านซ้าย

หลังจากนั้นเราสามารถนำค่าที่เก็บในตัวแปรมาใช้ได้ โดยการเขียนชื่อตัวแปรนั้นใส่ลงในฟังก์ชั่นดังนี้

x = 2
print(x)

ผลลัพธ์:

2

ตัวแปรนั้นสามารถเก็บค่าได้หลายประเภท โดยในที่นี้เราจะกล่าวถึงแค่ตัวเลข และข้อความ

Improving Our Python Program


เราสามารถพัฒนาโปรแกรมของเราต่อได้ โดยการถามชื่อกับ user และพิมพ์มันออกมาเพื่อทักทาย

โดยใน python ก็มีคำสั่งสำหรับการรับค่ามาจาก user นั่นคือคำสั่ง input

input()
print("Hello, world")

เมื่อรันแล้วหน้า terminal จะทำการหยุดเพื่อรอให้ user ใส่ input ลงไป แล้วโค้ดจึงจะทำงานต่อ

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

Input Value


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

print("What's your name?")
name = input()
print("Hello")
print(name)

ผลลัพธ์:

What's your name?
David
Hello
David

เมื่อพิมพ์คำว่า David ลงไป โปรแกรมก็จะแสดงผล David ออกมาเช่นกัน

คำสั่ง input นั้นยังสามารถรับ argument ได้ โดยจะรับ prompt เป็น argument (prompt คือ สิ่งที่โปรแกรมแสดงออกมาเมื่อรอให้เราพิมพ์ข้อความ) ทำให้เราสามารถเขียนโค้ดได้ดังนี้

name = input("What's your name? ")
print("Hello")
print(name)

ผลลัพธ์:

What's your name? Fig
Hello
Fig

คำสั่ง print สามารถแสดงผลหลายค่าในบรรทัดเดียวได้ โดยการใช้เครื่องหมาย , ซึ่งจะแสดงค่าทั้งสองออกมาใน terminal ซึ่งคั่นด้วยเว้นวรรค

 name = input("What's your name? ")
 print("Hello,", name)

ผลลัพธ์:

What's your name? Steve
Hello, Steve

ในโค้ดเบื้องต้นนี้ เราได้ตั้งชื่อตัวแปรว่า name  โดยใน python นั้นเราสามารถตั้งชื่อตัวแปรได้เอง แต่ก็จะมีข้อจำกัดบางอย่าง ซึ่งเราจะพูดถึงในเรื่องถัดไป

Naming


การตั้งชื่อตัวแปรนั้นก็ถือเป็นสิ่งสำคัญในการเขียนโปรแกรม เพราะการตั้งชื่อที่ดีนั้นจะทำให้โค้ดนั้นอ่านง่ายขึ้น

ก่อนที่เราจะพูดเรื่องแนวทางการตั้งชื่อตัวแปร เราต้องมาดูถึงข้อจำกัดในการตั้งชื่อก่อน โดยจะมีข้อจำกัดอยู่ดังนี้

  • ชื่อนั้นสามารถมีได้แค่ ตัวอักษร ตัวเลข และ _

user_score1

  • สามารถ้ตัวใหญ่ได้ แต่ตัวอักษรแรกนั้นควรจะเริ่มต้นด้วยตัวเล็ก

itemList

  • ตัวอักษรแรกไม่สามารถเป็นตัวเลขได้

1username

  • ห้ามใช้คำที่อยู่ใน Reserved words

continue

  • ตัวอย่างชื่อที่ไม่สามารถใช้งานได้

var-name

input number

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

Snake Case

first_name     last_name     create_time

Camel Case

firstName     lastName     createTime

การใช้นั้นจะขึ้นอยู่กับความนิยมของผู้เขียนในแต่ละโปรแกรม และ อาจขึ้นอยู่กับทีมที่ทำงานที่จะตกลงกันเพื่อให้การตั้งชื่อมีความสอดคล้องกันในการทำงาน

Comments


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

โดยการใช้เครื่องหมาย # นำหน้าข้อความในบรรทัดนั้น ๆ จะทำให้ข้อความไม่ถูกนำไปทำงานในโปรแกรม เช่น

# get name from user
name = input("What's your name? ")
# print Hello to the user
print("Hello,", name)

เราสามารถ comment หลายบรรทัดได้โดยการพิมพ์เครื่องหมาย ' หรือ " สามครั้งทั้งเปิดและปิด ดังนี้

'''
this
is
comment
'''

"""
and
this's
too
"""


Data Types


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

โดยเราจะเริ่มจากตัวที่เราคุ้นชินกันมากที่สุด

String


string หรือ str เป็นลำดับของตัวอักษรหลายตัวเรียงต่อกัน ซึ่งในการประกาศตัวแปรนั้นค่าของมันจะต้องอยู่ภายในเครื่องหมาย Double quote " หรือ Single quote ' เช่น

name = 'Peter Parker'
str1 = "This is a string"

string นั้นสามารถนำมารวมกันได้โดยการใช้เครื่องหมาย + ดังนี้

str1 = "I love"
str2 = "banana"
str3 = str1 + " " + str2
print(str3)

ผลลัพธ์:

I love banana

string ใน python นั้นยังมีความพิเศษอีกอย่างนั่นก็คือ string สามารถนำมาคูณกับเลขได้ ซึ่งจะทำให้ string บวกกับตัวมันเองเป็นจำนวน n ครั้ง

print("lol" * 5)

ผลลัพธ์:

lollollollollol

string ยังสามารถเรียกใช้คำสั่งอื่น ๆ เพิ่มได้อีก ถ้าใครสนใจก็สามารถไปดูเพิ่มเติมได้ Python string method

 

Integer


integer หรือ int คือเลขจำนวนเต็ม

เรานั้นคงคุ้นเคยกันดีกับเครื่องหมายทางคณิตศาสตร์ +, -, *, / แต่เราจะมีอีกเครื่องหมายหนึ่งเพิ่มขึ้นมา คือ modulo % คือการหาเศษที่เหลือจากการหาร  เราสามารถเขียนสมการได้ง่าย ๆ ดังนี้

x = 1
y = 2
z = x + y
print(z)
print(z - x)
print(y * 4)
print(z / 3)
print(4 % z)

ผลลัพธ์:

3
2
8
1
1

เราสามารถนำมารวมกับเรื่องที่เราเรียนผ่านมาได้โดยการสร้างเครื่องคิดเลขง่าย ๆ

x = input("Enter first value: ")
y = input("Enter second value: ")
z = x + y
print(z)

ผลลัพธ์:

Enter first value: 1
Enter second value: 2
12

จะเห็นว่าเมื่อเราใส่ 1 และ 2 ลงไป ผลลัพธ์ที่ได้กลับเป็น 12 แทนที่จะเป็น 3

ผลลัพธ์แบบนี้นั้นเกิดจากการที่เมื่อเรารับค่าด้วยคำสั่ง input แล้วค่าที่ได้มานั้นจะเป็น string ทำให้เมื่อนำ "1" และ "2" มาบวกกัน จึงกลายเป็นการบวก string แทน

เราสามารถตรวจสอบได้โดยการใช้คำสั่ง type()

x = input("Enter first value: ")
print(type(x))

ผลลัพธ์:

Enter first value: 1
<class 'str'>

เราสามารถแก้ไขโดยการแปลงตัวแปรให้เป็น integer ก่อนนำมาคำนวน  โดยใช้คำสั่ง int(x) เรียกว่า casting ซึ่งเป็นการที่ค่านั้นถูกเปลี่ยนประเภทชั่วคราว โดยสามารถใช้ได้ดังนี้

x = input("Enter first value: ")
y = input("Enter second value: ")
z = int(x) + int(y)
print(z)

ผลลัพธ์:

Enter first value: 2
Enter second value: 3
5

เราสามารถเขียนโค้ดให้สั้นลงได้โดยการทำเช่นนี้

x = int(input("Enter first value: "))
y = int(input("Enter second value: "))
print(x + y)

โดยเป็นการนำ int() มาครอบคำสั่ง input  โดยเมื่อทำงานโปรแกรมจะทำตำสั่ง input ที่อยู่ในลงเล็บก่อน แล้วจึงค่อยแปลงค่าที่ได้ให้กลายเป็น int แล้วเก็บไว้ในตัวแปร

 

Readability Wins


การเขียนโปรแกรมในการทำงานอย่างหนึ่งนั้นสามารถทำได้หลายวิธี แต่สิ่งที่สำคัญที่สุดอาจไม่ใช่ความสั้นของโค้ดเสมอไป

ยกตัวอย่างถ้าเรานำโปรแกรมล่าสุดมาย่อให้เหลือเพียงบรรทัดเดียว จะได้ว่า

print(int(input("Enter first value: ")) + int(input("Enter second value: ")))

ถึงแม้จะสั้นลง แต่ก็อ่านได้ยากขึ้นด้วย ดังนั้นเราจึงควรให้ความสำคัญกับความอ่ายง่ายด้วยเช่นกัน

 

Float


 

 

Boolean


 

 

 

List


 

 

User-defined Function

If-else condition

Loops