สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Tutorial Python

L16 PYTHON SIMPLE ARITHMETIC L40 PYTHON TUTORIAL INTRO L41 PYTHON GETTING STARTED L42 PYTHON SYNTAX L43 PYTHON COMMENTS L44 PYTHON VARIABLES L45 PYTHON DATATYPE L46 PYTHON NUMBERS L47 PYTHON CASING L48 PYTHON STRINGS L49 PYTHON BOOLEANS L50 PYTHON OPARETORS L51 PYTHON LISTS L52 PYTHON TUPELS L53 PYTHON SETS L54 PYTHON DICTIONARY L55 PYTHON IF ELSE L56 PYTHON WHILE LOOP L57 PYTHON FOR LOOP L58 PYTHON FUNCTION L59 PYTHON LAMBDA L60 PYTHON ARRAYS L61 PYTHON CLASSSES OBJECTS L62 PYTHON INHERITANCE L63 PYTHON ITERATORS L63 PYTHON SCOPE L64 PYTHON MODULES L65 PYTHON DATETIME L66 PYTHON JSON L67 PYTHON REGEX L68 PYTHON PIP L69 PYTHON TRY EXCAPE L70 PYTHON USER INPUT L71 PYTHON FILE OPEN L73 PYTHON STRING FORMATTING L74 PYTHON READ FILE L75 PYTHON WRILE CREATE FILE L76 PYTHON DELETE FILE L90 PYTHON POISSON DISTRIBUTION L90 PYTHON RANDOM INTRODUCTION L91 PYTHON CHI SQUARE DISTRIBUTION L91 PYTHON EXPONENTIAL DISTRIBUTION L92 PYTHON RAYLEIGH DISTRIBUTION L93 PYTHON PARETO DISTRIBUTION L94 PYTHON ZIPF DISTRIBUTION L96 PYTHON RANDOM PERMUTATIONS L97 PYTHON SEABORN L98 PYTHON NORMAL DISTRIBUTION L99 PYTHON DISTRIBUTION L99 PYTHON LOGISTIC DISTRIBUTION L99 PYTHON MULTINOMIAL DISTRIBUTION L99 PYTHON NUMPY SPLITTING ARRAY L99 PYTHON NUMPY UFUNCS L99 PYTHON UNIFORM DISTRIBUTION LM60PYTHON BUILT IN FUNCTIONS LM61PYTHON STRING METHODS LM62PYTHON LIST ARRAY METHODS LM63PYTHON DICTIONARY METHODS LM64PYTHON TUPLE METHODS LM65PYTHON SET METHODS LM66PYTHON FILE METHODS LM67PYTHON KEYWORD LM68PYTHON BUILT IN EXCAPTION LM69PYTHON RANDOM MODULE LM70PYTHON MATH MODULE LM70PYTHON REQUSTS MODULE LM72PYTHON CMATH MODULE LM73PYTHON HOWTO REMOVE DUPLICATES FROM A PYTHON LIST LM74PYTHON HOW TO REVERSE A STRING IN PYTHON LM75PYTHON HOW TO ADD TWO NUMBERS IN PYTHON LM95PYTHON RANDOM DATA DISTRIBUTION

Python Strings

เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บทString สตริงตัวอักษรหรือสายอักขระในภาษาไพธอน เป็นชนิดของตัวแปร สามารถกำหนดด้วยเครื่องหมาย single quotation ( ‘ ‘ ) หรือ double quotation ( ” ” ) ก็ได้ จะได้ผลลัพธ์ที่เหมือนกัน เช่น ‘Hello’ หรือ “Hello ” นักเรียนสามารถแสดงสตริงตัวอักษรด้วยฟังก์ชัน print ()
ตัวอย่าง
สามารถแสดงค่าของสตริงออกมาโดยการใชัฟังก์ชัน print() 

print("Hello")
print('Hello')

ผลลัพธ์

Hello
Hello

กำหนดสตริงให้กับตัวแปร
การกำหนดสตริงให้กับตัวแปรนั้นทำด้วยการชื่อตัวแปรตามด้วยเครื่องหมาย = และ ข้อมูลประเภทstring
ตัวอย่าง

a = "Hello"
print(a)

ผลลัพธ์

Hello

การกำหนดค่าข้อมูลประเภท String แบบหลายบรรทัดให้กับตัวแปร
นักเรียนสามารถกำหนดสตริงหลายบรรทัดให้กับตัวแปรโดยใช้เครื่องหมายคำพูดสามตัว (“””)
ตัวอย่าง

a = """Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua."""
print(a)

ผลลัพธ์

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

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

a = '''Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.'''
print(a)

ผลลัพธ์

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

String are Arrays
เช่นเดียวกับภาษาการเขียนโปรแกรมยอดนิยมอื่น ๆ สตริงใน Python เป็นอาร์เรย์ของไบต์ที่แสดงถึงอักขระ Unicode อย่างไรก็ตาม Python ไม่มีประเภทข้อมูลตัวอักษรอักขระเดียวเป็นเพียงสตริงที่มีความยาว 1 วงเล็บเหลี่ยมสามารถใช้เพื่อเข้าถึงองค์ประกอบของสตริง เช่น
ตัวอย่าง
บรรทัดที่ 1 เราสร้างตัวแปร a ขึ้นมา แล้วกำหนดค่าให้เป็นสตริง “Hello, World!” ตัวแปร a จะกลายเป็นข้อมูลชนิดอาเรย์โดยอัตโนมัติ

บรรทัดที่ 2 ใช้คำสั่ง print() เพื่อให้แสดงค่าในตัวแปร a โดยอ้างอิงอินเด็กซ์ลำดับที่ 1 จะได้ข้อมูลตัวสุดท้ายในอาเรย์ a นั่นก็คือตัวอักษร e

a = "Hello, World!"
print(a[1])

ผลลัพธ์

e

Slicing เข้าถึงข้อมูลในสตริงแบบกำหนดช่วงข้อมูล
นักเรียนสามารถส่งกลับช่วงข้อมูลของอักขระโดยใช้ไวยากรณ์ slice ระบุดัชนีเริ่มต้นและดัชนีสิ้นสุดคั่นด้วยเครื่องหมายโคลอน(:)เพื่อส่งคืนส่วนของสตริง
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร b ขึ้นมา แล้วกำหนดค่าให้เป็นสตริง “Hello World!”

บรรทัดที่ 2 สั่งให้แสดงค่าในตัวแปร b โดยกำหนดช่วงข้อมูลลำดับที่ 2 ถึงลำดับที่ 5 โดยข้อมูลที่เราจะได้ ตัวแรกคือตัวอักษรลำดับที่ 3 นั่นคือตัวอักษร l (ไม่ใช่ e เพราะอินเด็กซ์เริ่มจาก 0) ตัวสุดท้ายคือตัวอักษรลำดับที่ 2-5 นั่นคือลำดับที่ 4 ได้แก่ตัวอักษร l ดังนั้น ข้อมูลที่เราจะได้จากคำสั่งนี้ก็คือ llo

b = "Hello, World!"
print(b[2:5])

ผลลัพธ์

llo

Negative Indexing เข้าถึงข้อมูลโดยอินเด็กซ์ที่ติดลบ
นักเรียนสามารถเข้าถึงข้อมูลในสตริงอาเรย์โดยใช้ slice syntax ใช้ดัชนีเชิงลบเพื่อเริ่มจากจุดสิ้นสุดของสตริง 
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร b ขึ้นมา แล้วกำหนดค่าให้เป็นสตริง “Hello World!”
บรรทัดที่ 2 เข้าถึงข้อมูลในสตริงแบบ slice syntax โดยระบุค่าอินเด็กซ์ติดลบ ในตัวอย่างระบุค่าเริ่มต้นเป็น -5 (หมายถึง ตัวอักขระตัวที่ 5 นับมาจากตัวสุดท้าย นั่นคือตัว o) และระบุค่าสิ้นสุดเป็น -2 (หมายถึง ตัวอักขระตัวที่ 1 นับจากตัวสุดท้าย (เริ่มที่ 0) นั่นคือตัว l)

b = "Hello, World!"
print(b[-5:-2])

ผลลัพธ์

orl
orl

String Length ความยาวของสตริง
การรับความยาวของสตริงให้ใช้ฟังก์ชัน len ()
ตัวอย่าง

a = "Hello, World!"

print(len(a))

ผลลัพธ์

13

String Methods เมธอดของสตริง
ในภาษาไพธอน มี built-in methods ของข้อมูลประเภทสตริง เช่น
ตัวอย่าง
เมธอด strip() สำหรับตัดช่องว่าง whitespace ด้านหน้าและด้านหลังสตริง

a = " Hello, World! "
print(a.strip())

ผลลัพธ์

Hello, World!

lower() จะคืนค่าสตริงเป็นตัวพิมพ์เล็ก

ตัวอย่าง

a = "Hello, World!"
print(a.lower())

ผลลัพธ์

hello, world!

upper() สำหรับแปลงอักขระภาษาอังกฤษให้เป็นตัวพิมพ์ใหญ่

ตัวอย่าง

a = "Hello, World!"
print(a.upper())

ผลลัพธ์

HELLO, WORLD!

replace () จะแทนที่สตริงด้วยสตริงอื่น

ตัวอย่าง

a = "Hello, World!"
print(a.replace("H", "J"))

ผลลัพธ์

Jello, World!

split () จะแยกสตริงออกเป็นสตริงย่อยหากพบอินสแตนซ์ของตัวคั่น

ตัวอย่าง

a = "Hello, World!"
b = a.split(",")
print(b)

ผลลัพธ์

['Hello', ' World!']

การตรวจสอบสตริงด้วยคีย์เวิร์ด in และ not in
ในการตรวจสอบว่ามีคำหรืออักขระบางตัวอยู่ในสตริงหรือเปล่า เราสามารถใช้ in หรือ not in โดยจะให้ผลลัพธ์ออกมาเป็น True หรือ False ดังตัวอย่าง
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร txt และกำหนดค่าเป็นสตริง

บรรทัดที่ 2 ใช้คีย์เวิร์ด in ตรวจสอบว่ามีคำว่า “rain” อยู่ในตัวแปร txt หรือไม่
บรรทัดที่ 3 แสดงผลออกมาทางหน้าจอ ผลลัพธ์จะเป็น True เพราะมีคำว่า “rain” อยู่ในตัวแปร x จริง

txt = "The rain in Spain stays mainly in the plain"
x = "ain" in txt
print(x)

ผลลัพธ์

True

ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร txt และกำหนดค่าเป็นสตริง
บรรทัดที่ 2 ใช้คีย์เวิร์ด not in ตรวจสอบว่า ไม่มีคำว่า “rain” อยู่ในตัวแปร x ใช่หรือไม่
บรรทัดที่ 3 แสดงผลออกมา โดยผลลัพธ์จะเป็น False  เพราะไม่มีคำว่า “rain” อยู่ในตัวแปร x จริงๆ

txt = "The rain in Spain stays mainly in the plain"
x = "ain" not in txt
print(x) 

ผลลัพธ์

False

String Concatenation
ในการต่อหรือรวมสองสตริงเข้าด้วยกัน นักเรียนสามารถใช้ +
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร a เพื่อเก็บข้อความ 
บรรทัดที่ 2 สร้างตัวแปร b เพื่อเก็บข้อความ พร้อมทั้ง
บรรทัดที่ 3 สร้างตัวแปร c เพื่อแทรกเครื่องหมาย “”สำหรับรับค่าจากตัวแปร a กับ b มาใช้งาน
บรรทัดที่ 4 เรียกใช้print เพื่อแทรกค่าจากตัวแปร 

a = "Hello"
b = "World"
c = a + b
print(c)

ผลลัพธ์

HelloWorld

ตัวอย่าง
หากต้องการเพิ่มช่องว่างระหว่างกันให้เพิ่ม ""

a = "Hello"
b = "World"
c = a + " " + b
print(c)

ผลลัพธ์

Hello World

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

age = 36
txt = "My name is John, I am " + age
print(txt)

แต่เราสามารถรวมสตริงและตัวเลขโดยใช้ format()  ใช้เพื่อผ่านข้อขัดแย้งและแทรกเครื่องหมาย {} เพื่อรับค่าจากตัวแปร
ตัวอย่าง
บรรทัดที่ 1 สร้างตัวแปร age เพื่อเก็บอายุ

บรรทัดที่ 2 สร้างตัวแปร str เพื่อเก็บข้อความ พร้อมทั้งแทรกเครื่องหมาย {} สำหรับรับค่าจากตัวแปร age มาใช้งาน
บรรทัดที่ 3 เรียกใชัเมธอด format() เพื่อแทรกค่าจากตัวแปร age เข้าไปในสตริงต้นทาง

age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))

ผลลัพธ์

My name is John, and I am 36

เมธอด format() สามารถรับอากิวเมนต์ได้ไม่จำกัด  คือเราสามารถแทรกค่าเข้าไปในสตริงด้วยเมธอด format()โดยไม่จำกัดจำนวน
ที่สำคัญเราแทรกเครื่องหมาย {} เข้าไปในสตริงต้นทางกี่จุด เราต้องกำหนดอากิวเมนต์ให้เมธอด format() เป็นจำนวนเท่ากัน 
ตัวอย่าง
จากตัวอย่าง เรากำหนดตัวเลขอินเด็กซ์ไว้ในเครื่องหมาย {} เพื่อระบุว่าให้นำอากิวเมนต์ตามเลขลำดับนี้มาแทรกในสตริง โดยตัวเลขอินเด็กซ์จะอ้างอิงตามอากิวเมนต์ที่เราระบุไว้ในเมธอด format เช่น myorder.format (quantity, itemno,my order) ในที่นี้ quanlity คืออากิวเมนต์ลำดับที่ 0 และ itemno คืออากิวเมนต์ลำดับที่ 1 ตามลำดับ

quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."

print(myorder.format(quantity, itemno, price)) 

ผลลัพธ์

I want 3 pieces of item 567 for 49.95 dollars.

Escape Character การแทรกอักขระพิเศษในสตริง
ในการแทรกอักขระที่ผิดกฎของสตริงให้ใช้อักขระเลี่ยงอักขระ escape เป็นแบ็กสแลช \ ตามด้วยอักขระที่นักเรียนต้องการแทรก
ตัวอย่าง
จะเกิดError หากนักเรียนใช้เครื่องหมายคำพูดคู่("")ภายในสตริงที่ครอบด้วยเครื่องหมายคำพูดคู่("")

txt = "We are the so-called "Vikings" from the north."
print(txt)

ในการแก้ไขปัญหานี้ให้ใช้ \ "
ตัวอย่าง

txt = "We are the so-called \"Vikings\" from the north."
print(txt) 

ผลลัพธ์

We are the so-called "Vikings" from the north.

อักขระพิเศษอื่น ๆ ที่สามารถใช้ได้ในภาษาไพธอน

โค้ด

ผลลัพธ์

\’

เครื่องหมาย ‘

/”

เครื่องหมาย “

\\

เครื่องหมาย \

/n

ขึ้นบรรทัดใหม่ New Line

/r

ขึ้นบรรทัดใหม่ Carriage Return

/t

แท็บ

/b

Backspace

/f

Form Feed

/ooh

เลขฐานแปด

/xhh

เลขฐานสิบหก

สรุปจากบทนี้ก็คือจะพูดถึง String หรือสายอักขระ ซึ่งเป็นชนิดของตัวแปร สามารถกำหนดด้วยเครื่องหมาย single quotation ( ‘ ‘ ) หรือ double quotation ( ” ” ) ก็ได้ เเละยังพูดถึง การเข้าถึงอาเรย์ เมธอดของสตริง การแทรกอักขระพิเศษในสตริง
แปลจาก https://www.w3schools.com/python/python_strings.asp



บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

C Article


C++ Article


Java Article


C#.NET Article


VB.NET Article


Python Article


Golang Article


JavaScript Article


Perl Article


Lua Article


Rust Article


Article


Python


Python Numpy


Python Machine Learning



แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา