Python เป็นภาษาที่ typed แบบไดนามิก (dynamically typed) ไดนามิกคืออะไร? เราไม่ต้องประกาศชนิดของตัวแปรหรือจัดการหน่วยความจำขณะกำหนดค่าให้ตัวแปรใน Python ภาษาอื่นเช่น C, C++, Java ฯลฯ มีการประกาศตัวแปรอย่างเคร่งครัดก่อนกำหนดค่า ต้องประกาศชนิดของตัวแปรก่อนกำหนดค่าในภาษา C, C++, Java ฯลฯ
Python ไม่มีปัญหาแม้เราจะไม่ประกาศชนิดตัวแปร มันระบุชนิดตัวแปรในขณะรันโปรแกรม (runtime) Python ยังดูแลการจัดการหน่วยความจำซึ่งสำคัญในการเขียนโปรแกรม ดังนั้น Python จึงเป็นภาษา dynamically typed มาดูตัวอย่างหนึ่ง
ตัวอย่างโค้ด
## กำหนดค่าให้ตัวแปร x = [1, 2, 3] ## x เป็น list ที่นี่ print(type(x)) ## กำหนดค่าใหม่ให้ 'x' x = True ## x เป็น bool ที่นี่ print(type(x)) ## เราสามารถกำหนดค่า 'x' ใหม่ได้หลายครั้งเท่าที่ต้องการ
ผลลัพธ์
หากรันโปรแกรมข้างต้น จะได้ผลลัพธ์ดังนี้
<class 'list'> <class 'bool'>
เห็นได้ว่า เราไม่ได้ประกาศชนิดตัวแปรในโปรแกรม Python จะระบุชนิดตัวแปรโดยอัตโนมัติด้วยความช่วยเหลือของค่าในขณะรันโปรแกรม (runtime)