ก่อนที่ Guido van Rossum ให้กำเนิดภาษาไพทอน เขาได้อ่านอ่านสคริปต์ที่ตีพิมพ์จากซีรีส์ตลก "Monty Python’s Flying Circus" ของบีบีซี ซีรีส์ตลกจากปี 1970
Guido van Rossum ได้คิดชื่อภาษาโดยเป็นชื่อที่ไม่ซ้ำกันและลึกลับเล็กน้อย เขาจึงตัดสินใจเรียกภาษานี้ว่า "ภาษาไพทอน"
อ้างอิงจาก General Python FAQ <https://docs.python.org/3/faq/general.html#why-is-it-called-python>
- โลโก้ภาษาไพทอนตกลงเป็นรูปอะไร
โลโก้ภาษาไพทอนเป็นรูปงูสองตัว
อ้างอิงจาก https://www.python.org/community/logos/
- ภาษาไพทอนสามารถทำอะไรได้บ้าง
สามารถดูได้ที่ https://www.python.org/about/success/
- ชื่อภาษา Python อ่านว่า ไพธอน หรือ ไพทอน
ตอบ อ่านว่า ไพทอน ครับ
- สามารถตั้งชื่อตัวแปรด้วยภาษาไทยในภาษาไพทอนได้หรือไม่
ตอบ สามารถตั้งชื่อตัวแปรด้วยภาษาไทยในภาษาไพทอนได้ แต่เฉพาะ Python 3 เท่านั้น และยังสามารถใช้ภาษาอื่น ๆ ได้ เนื่องจาก Python 3 สนับสนุน Unicode character เต็มรูปแบบ
แต่แนะนำใช้ภาษาอังกฤษดีกว่าครับ
ตัวอย่าง
[python]
แมว = 0
สุนัข = 1
พิมพ์ = print
พิมพ์(แมว == สุนัข)
[/python]
ผลลัพธ์
False
- โค้ดไหนเป็น Python 2 หรือ Python 3 ดูจากตรงไหน
ในโลกอินเทอร์เน็ตได้มีเอกสารสอนเขียนและโค้ดคำสั่งภาษาไพทอนจำนวนมากมาย หลังจากที่มี Python 3 มา ทำให้ผู้ที่เริ่มต้นเขียนภาษาไพทอนมีปัญหาในการรันโค้ดผิดเวชั่น เนื่องจากบางเว็บและบางเอกสารไม่ได้ระบุว่าโค้ดนี้เป็นภาษาไพทอนเวชั่นใด โดยมีวิธีการดูง่าย ๆ ดังนี้
[python]
print "Hi"[/python]
ข้างด้านบนคือโค้ด Python 2
ข้างด้านล่างคือโค้ด Python 3
[python]
print("Hi")
[/python]
เมื่อสังเกตจะเห็นได้ว่า ความแตกต่างของ Python 2 กับ Python 3 คือ วงเล็บ เนื่องจากภาษา Python 3 ได้มีการปรับปรุงไวยากรณ์และเพิ่มวงเล็บเข้ามาเพื่อป้องกันปัญหา Unicode ครับ
-ทำไมต้องมีการบังคับ indent ใน python
คำตอบ https://www.blognone.com/node/15433
- encoding/Decoding ของสตริงใน Python 3
ในภาษาไพธอน 3 ได้มีการกำหนด encoding พื้นฐานเป็น UTF-8 แต่เราสามารถ Encoding และ Decoding สตริงได้ดังนี้
1. กำหนด coding ของไฟล์ python ได้ด้วยการวางโค้ด
[python]
# -*- coding: utf-8 -*-
[/python]
เข้าไปยังบรรทัดแรกของโค้ดไพทอน
2. encoding/Decoding สตริง
encoding สามารถทำได้ตามไวยากรณ์นี้
[python]สตริง.encode("รหัสcoding")[/python]
ตัวอย่างเช่น
[python]
a = "ภาษาไทย"
b = a.encode("cp874")
print(b)
[/python]
ผลลัพธ์
b'\xc0\xd2\xc9\xd2\xe4\xb7\xc2'
จะได้ข้อมูลเป็นชนิด bytes
Decoding สามารถทำได้ดังนี้
[python]ข้อมูลชนิดbytes.decode("รหัสcoding")[/python]
ตัวอย่างเช่น
[python]
c = b.decode("cp874")
print(c)
[/python]
ผลลัพธ์
ภาษาไทย
อ่านรหัส coding ได้ที่ https://python3.wannaphong.com/อ่านไว้
-วางโค้ดหรือเขียนโค้ดผิดรูปแบบ ไม่ได้เว้นวรรคหรือบรรทัด
ตัวอย่าง
โค้ดที่ถูก
[python]
for i in range(0,4):
print(i)
[/python]
หรือ
[python]for i in range(0,4): print(i)[/python]
โค้ดที่ผิด
[python]
for i in range(0,4):
print(i)
[/python]
สาเหตุที่ผิด เพราะโค้ดไม่ได้มีการเว้นวรรค คำสั่งและจัดรูปแบบให้ถูกต้องตามภาษาไพทอนครับ เป็นปัญหาที่มีชื่อว่า indented block
-วาง for ซ้อน for แล้วรันไม่ได้
ตัวอย่าง
โค้ดที่ถูก
[python]
for i in range(0,4):
for j in range(10,15):
print(j)
[/python]
โค้ดที่ผิด
[python]
for i in range(0,4):for j in range(10,15):print(j)
[/python]
สาเหตุที่ผิด เพราะผิดหลักไวยากรณ์หลักของภาษาไพทอนครับ อย่าลืมว่า
อย่าเขียนโค้ดภาษาไพทอนแบบภาษาซี
และโค้ดที่ผิดเป็นการเขียนคำสั่ง for แบบย่อ สำหรับผู้เริ่มต้นเขียนภาษาไพทอนไม่แนะนำให้ใช้ครับ
-ก็อปโค้ดจากอินเทอร์เน็ตแล้วใช้งานไม่ได้ใน Python interpreter
ตัวอย่างโค้ดตัวปัญหา
[python]
for i in range(0,4):
print("Hi")[/python]
เมื่อบันทึกเป็นไฟล์ 1.py แล้วลองรัน
$ python 1.py
Hi
Hi
Hi
Hi
แต่เมื่อก็อบข้างดังกล่าวเข้าไปรันใน Python interpreter
$ python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(0,4):
...
File "", line 2
^
IndentationError: expected an indented block
>>> print("Hi")
File "", line 1
print("Hi")
^
IndentationError: unexpected indent
จะพบว่า ไม่สามารถรันได้ใน Python interpreter เพราะใน Python interpreter เราต้องเขียนโค้ดอย่างต่อเนื่อง ต้องไม่มีการเว้นบรรทัดว่างในคำสั่งที่ต้องทำต่อเนื่อง เพื่อให้สามารถประมวลผลคำสั่งได้อย่างถูก เป็นปัญหาที่มีชื่อว่า indent
วิธีการแก้ไข
ลบบรรทัดว่างออกก่อนวางโค้ดคำสั่งลง Python interpreter
[python]
for i in range(0,4):
print("Hi")[/python]
- Python สามารถเรียกใช้รันคำสั่งได้ตามปกติ แต่ไม่สามารถติดตั้งโมดูลด้วยคำสั่งใด ๆ ได้
หากวันหนึ่งคุณได้เรียกใช้คำสั่ง
python
ได้ตามปกติ แต่เมื่อต้องการติดตั้งโมดูลด้วย pip หรือจากไฟล์ setup.py ไม่ได้
ตัวอย่างของปัญหา https://www.facebook.com/groups/admin.py.dev/permalink/383656841819525/
ปัญหานี้มีทางแก้ไขเดียว คือ ลบการติดตั้ง Python แล้วทำการติดตั้งใหม่ครับ
สาเหตุของปัญหา เป็นไปได้หลายสาเหตุ ส่วนใหญ่มักจะเกิดขึ้นเมื่อทำการอัพเกรดเวชั่นภาษาไพธอนใน Windows (จากประสบการณ์ผู้เขียน) หรืออัพเกรดเวชั่นของ pip น่าจะมีจากมีไลบรารีบางตัวไม้ได้ถูกอัพเกรดไปด้วย ทำให้โค้ดแกนกลางมีปัญหา หากต้องการอัพเกรด pip ไม่แนะนำให้ทำการอัพเกรดเอง แนะนำให้รอ Python เวชั่นใหม่ครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)