Python 3 - ประเภทตัวแปร

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

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

การกำหนดค่าให้กับตัวแปร

ตัวแปร Python ไม่จำเป็นต้องมีการประกาศอย่างชัดเจนเพื่อสงวนพื้นที่หน่วยความจำ การประกาศจะเกิดขึ้นโดยอัตโนมัติเมื่อคุณกำหนดค่าให้กับตัวแปร เครื่องหมายเท่ากับ (=) ใช้เพื่อกำหนดค่าให้กับตัวแปร

ตัวถูกดำเนินการทางด้านซ้ายของตัวดำเนินการ = คือชื่อของตัวแปรและตัวถูกดำเนินการทางด้านขวาของตัวดำเนินการ = คือค่าที่เก็บไว้ในตัวแปร ตัวอย่างเช่น -

#!/usr/bin/python3

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print (counter)
print (miles)
print (name)

ในที่นี้ 100, 1000.0 และ "John" คือค่าที่กำหนดให้กับตัวแปรตัวนับไมล์และชื่อตามลำดับ สิ่งนี้ก่อให้เกิดผลลัพธ์ดังต่อไปนี้ -

100
1000.0
John

การมอบหมายงานหลายรายการ

Python ช่วยให้คุณกำหนดค่าเดียวให้กับตัวแปรหลายตัวพร้อมกัน

ตัวอย่างเช่น -

a = b = c = 1

ที่นี่อ็อบเจ็กต์จำนวนเต็มถูกสร้างขึ้นด้วยค่า 1 และตัวแปรทั้งสามถูกกำหนดให้กับตำแหน่งหน่วยความจำเดียวกัน คุณยังสามารถกำหนดหลายออบเจ็กต์ให้กับตัวแปรหลายตัว ตัวอย่างเช่น -

a, b, c = 1, 2, "john"

ที่นี่วัตถุจำนวนเต็มสองชิ้นที่มีค่า 1 และ 2 ถูกกำหนดให้กับตัวแปร a และ b ตามลำดับและวัตถุสตริงหนึ่งรายการที่มีค่า "john" จะถูกกำหนดให้กับตัวแปร c

ประเภทข้อมูลมาตรฐาน

ข้อมูลที่จัดเก็บในหน่วยความจำสามารถมีได้หลายประเภท ตัวอย่างเช่นอายุของบุคคลจะถูกจัดเก็บเป็นค่าตัวเลขและที่อยู่ของบุคคลนั้นจะถูกจัดเก็บเป็นอักขระที่เป็นตัวเลขและตัวอักษร Python มีประเภทข้อมูลมาตรฐานต่างๆที่ใช้ในการกำหนดการดำเนินการที่เป็นไปได้และวิธีการจัดเก็บสำหรับแต่ละประเภท

Python มีข้อมูลมาตรฐานห้าประเภท -

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Python Numbers

ชนิดข้อมูลตัวเลขเก็บค่าตัวเลข วัตถุตัวเลขถูกสร้างขึ้นเมื่อคุณกำหนดค่าให้กับวัตถุเหล่านั้น ตัวอย่างเช่น -

var1 = 1
var2 = 10

คุณยังสามารถลบการอ้างอิงไปยังออบเจ็กต์ตัวเลขโดยใช้ไฟล์ delคำให้การ. ไวยากรณ์ของdel คำสั่งคือ -

del var1[,var2[,var3[....,varN]]]]

คุณสามารถลบวัตถุเดียวหรือหลายวัตถุได้โดยใช้ไฟล์ del คำให้การ.

ตัวอย่างเช่น -

del var
del var_a, var_b

Python รองรับตัวเลขสามประเภทที่แตกต่างกัน -

  • int (จำนวนเต็มลงนาม)
  • ลอย (ค่าจริงจุดลอยตัว)
  • ซับซ้อน (จำนวนเชิงซ้อน)

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

ตัวอย่าง

นี่คือตัวอย่างของตัวเลข -

int ลอย ซับซ้อน
10 0.0 3.14j
100 15.20 น 45.j
-786 -21.9 9.322e-36j
080 32.3 + จ 18 .876j
-0490 -90. -.6545 + 0J
-0x260 -32.54e100 3e + 26J
0x69 70.2-E12 4.53e-7j

จำนวนเชิงซ้อนประกอบด้วยคู่ลำดับของจำนวนทศนิยมจริงที่แสดงด้วย x + yj โดยที่ x และ y เป็นจำนวนจริงและ j คือหน่วยจินตภาพ

Python Strings

สตริงใน Python ถูกระบุว่าเป็นชุดอักขระที่ต่อเนื่องกันซึ่งแสดงในเครื่องหมายคำพูด Python อนุญาตให้มีอัญประกาศคู่เดียวหรือคู่ ชุดย่อยของสตริงสามารถนำมาใช้โดยใช้ตัวดำเนินการ slice ([] และ [:]) โดยมีดัชนีเริ่มต้นที่ 0 ในจุดเริ่มต้นของสตริงและดำเนินการตั้งแต่ -1 ถึงจุดสิ้นสุด

เครื่องหมายบวก (+) คือตัวดำเนินการต่อสายอักขระและเครื่องหมายดอกจัน (*) เป็นตัวดำเนินการซ้ำ ตัวอย่างเช่น -

#!/usr/bin/python3

str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

รายการ Python

รายการเป็นประเภทข้อมูลผสมของ Python ที่หลากหลายที่สุด รายการประกอบด้วยรายการที่คั่นด้วยลูกน้ำและอยู่ในวงเล็บเหลี่ยม ([]) ในระดับหนึ่งรายการจะคล้ายกับอาร์เรย์ใน C ความแตกต่างอย่างหนึ่งคือรายการทั้งหมดที่อยู่ในรายการอาจเป็นประเภทข้อมูลที่แตกต่างกัน

ค่าที่เก็บไว้ในรายการสามารถเข้าถึงได้โดยใช้ตัวดำเนินการ slice ([] และ [:]) โดยมีดัชนีเริ่มต้นที่ 0 ในตอนต้นของรายการและดำเนินการตามจุดสิ้นสุด -1 เครื่องหมายบวก (+) คือตัวดำเนินการต่อรายการและเครื่องหมายดอกจัน (*) เป็นตัวดำเนินการการทำซ้ำ ตัวอย่างเช่น -

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Prints complete list
print (list[0])       # Prints first element of the list
print (list[1:3])     # Prints elements starting from 2nd till 3rd 
print (list[2:])      # Prints elements starting from 3rd element
print (tinylist * 2)  # Prints list two times
print (list + tinylist) # Prints concatenated lists

สิ่งนี้ก่อให้เกิดผลลัพธ์ดังต่อไปนี้ -

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

Python Tuples

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

ความแตกต่างที่สำคัญระหว่างลิสต์และทูเพิลคือ - ลิสต์อยู่ในวงเล็บ ([]) และองค์ประกอบและขนาดสามารถเปลี่ยนแปลงได้ในขณะที่ทูเพิลอยู่ในวงเล็บ (()) และไม่สามารถอัพเดตได้ Tuples สามารถคิดได้ว่าread-onlyรายการ ตัวอย่างเช่น -

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Prints complete tuple
print (tuple[0])        # Prints first element of the tuple
print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print (tuple[2:])       # Prints elements starting from 3rd element
print (tinytuple * 2)   # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple

สิ่งนี้ก่อให้เกิดผลลัพธ์ดังต่อไปนี้ -

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

รหัสต่อไปนี้ไม่ถูกต้องกับทูเปิลเนื่องจากเราพยายามอัปเดตทูเพิลซึ่งไม่ได้รับอนุญาต กรณีที่คล้ายกันเป็นไปได้กับรายการ -

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

พจนานุกรม Python

พจนานุกรมของ Python เป็นประเภทของตารางแฮช ทำงานเหมือนอาร์เรย์หรือแฮชที่เชื่อมโยงกันที่พบใน Perl และประกอบด้วยคู่คีย์ - ค่า คีย์พจนานุกรมสามารถเป็น Python ได้เกือบทุกประเภท แต่โดยปกติจะเป็นตัวเลขหรือสตริง ในทางกลับกันค่าอาจเป็นวัตถุ Python ใด ๆ ก็ได้

พจนานุกรมอยู่ในวงเล็บปีกกา ({}) และสามารถกำหนดและเข้าถึงค่าได้โดยใช้วงเล็บปีกกา ([]) ตัวอย่างเช่น -

#!/usr/bin/python3

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

สิ่งนี้ก่อให้เกิดผลลัพธ์ดังต่อไปนี้ -

This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])

พจนานุกรมไม่มีแนวคิดเรื่องลำดับระหว่างองค์ประกอบ มันไม่ถูกต้องที่จะบอกว่าองค์ประกอบนั้น "ไม่เป็นระเบียบ"; ไม่เรียงลำดับ

การแปลงประเภทข้อมูล

บางครั้งคุณอาจต้องทำการแปลงระหว่างประเภทที่มีอยู่แล้วภายใน ในการแปลงระหว่างประเภทคุณเพียงแค่ใช้ชื่อประเภทเป็นฟังก์ชัน

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

ซีเนียร์ ฟังก์ชั่นและคำอธิบาย
1

int(x [,base])

แปลง x เป็นจำนวนเต็ม ฐานระบุฐานถ้า x เป็นสตริง

2

float(x)

แปลง x เป็นเลขทศนิยม

3

complex(real [,imag])

สร้างจำนวนเชิงซ้อน

4

str(x)

แปลงวัตถุ x เป็นการแสดงสตริง

5

repr(x)

แปลงวัตถุ x เป็นสตริงนิพจน์

6

eval(str)

ประเมินสตริงและส่งคืนอ็อบเจ็กต์

7

tuple(s)

แปลง s เป็นทูเปิล

8

list(s)

แปลงเป็นรายการ

9

set(s)

แปลง s เป็นชุด

10

dict(d)

สร้างพจนานุกรม d ต้องเป็นลำดับของสิ่งที่ได้ (คีย์ค่า)

11

frozenset(s)

แปลง s เป็นเซ็ตแช่แข็ง

12

chr(x)

แปลงจำนวนเต็มเป็นอักขระ

13

unichr(x)

แปลงจำนวนเต็มเป็นอักขระ Unicode

14

ord(x)

แปลงอักขระเดี่ยวเป็นค่าจำนวนเต็ม

15

hex(x)

แปลงจำนวนเต็มเป็นสตริงเลขฐานสิบหก

16

oct(x)

แปลงจำนวนเต็มเป็นสตริงฐานแปด