Python хэлэнд үндсэн 3 өгөгдлийн төрөл байдаг ба тэдгээр нь Dictionary, List, Tuple юм. List буюу жагсаалтын талаар ихэнхи нь ойлголттой байгаа байх. Харин Perl мэддэг хүмүүс бол Dictionary-г ч мөн адил гадарлаж байгаа ба Python-д бусад хэлүүдэд бараг тохиолддоггүй Tuple хэмээх өгөгдлийн төрөл байх юм. Tuple нь жагсаалт буюу List-тэй адил боловч гол онцлог нь түүнийг хувирашгүй жагсаалт гэнэ. Тэгэхээр номоо уншихаасаа өмнө таамаглах гэж оролдъё :P
Жагсаалтын хувьд анх үүсгэсэн жагсаалтынхаа өгөгдлүүдийг устгах, нэмэх, хасах, байрлалыг нь өөрчлөх, өгөгдөл буюу элэмент хайх гэх мэт үйлдлүүдийг хийж болдог бол энэ Tuple-ийн хувьд хувьсагч зарлах үедээ авах утгуудыг оноох ба программын ажиллагааны үед түүнд ямар нэг засвар, өөрчлөлт хийх боломжгүй гэсэн төсөөлөл бууж байна.
Харин одоо номноосоо баталгаажуулъя... :D
- A tuple is defined in the same way as a list, except that the whole set of elements is enclosed in parentheses instead of square brackets.
- The elements of a tuple have a defined order, just like a list. Tuples indices are zero−based, just like a list, so the first element of a non−empty tuple is always t[0].
- Negative indices count from the end of the tuple, just as with a list.
- Slicing works too, just like a list. Note that when you slice a list, you get a new list; when you slice a tuple, you get a new tuple.
Tuples have no methods!
>>> t
('a', 'b', 'mpilgrim', 'z', 'example')
>>> t.append("new")
Traceback (innermost last):
File "
AttributeError: 'tuple' object has no attribute 'append'
1. Tuple-д элэмент нэмж болдоггүй. Tuple нь append, extend гэсэн методгүй.
>>> t.remove("z")
Traceback (innermost last):
File "
AttributeError: 'tuple' object has no attribute 'remove'
2. Tuple-ээс элэмент хасаж болдоггүй. Tuple нь remove, pop гэсэн методгүй.
>>> t.index("example")
Traceback (innermost last):
File "
AttributeError: 'tuple' object has no attribute 'index'
3. Tuple-ээс элэмент хайж болдоггүй. Tuple нь index гэсэн методгүй.(Намайг турших үед index метод байж л байналээшд :P Гэхдээ дүрмэндээ заасан учир цаашид байдаггүй гэж ойлгох нь зүйтэй болов уу.)
>>> "z" in t
True
4. Шаардлагатай элэмент Tuple-д агуулагдаж байгаа эсэхийг in гэсэн түлхүүрээр шалгаж болно.
Дээрээс харахад Tuple-ийн оронд жагсаалт хэрэглэх нь илүү санагдаж байна л даа. Харин Tuple-ийн давуу талууд бас байна аа...
- Tuples are faster than lists
- It makes your code safer if you "write−protect" data that does not need to be changed
- Remember that I said that dictionary keys can be integers, strings, and "a few other types"? Tuples are one of
those types
- Tuples are used in string formatting, as you'll see shortly
Зиа өндөөрөтөө ингээд болъё. Ямартай ч нэг шинэ төрлийн өгөгдлийн төрлийн талаар мэдэж авлаа... Нээрэн Python нь хувьсагч зарлах үед түүний төрлийг тодорхойлох шаардлагагүй байдаг ба мөнөөх гурван төрлөөр хувьсагч зарлахдаа:
>>> d = {"server":"mpilgrim", "database":"master"} // Dictionary
>>> li = ["a", "b", "mpilgrim", "z", "example"] // List
>>> t = ("a", "b", "mpilgrim", "z", "example") // Tuple
гэж зарладаг юм билээ...dictionary - зарлах үед хувьсагчийн блок нь "{", "}" буюу гоё хаалтан дотор бичигддэг
list - зарлах үед "[", "]" буюу энгийн хаалтанд бичиггддэг
tuple - зарлахад "(", ")" буюу бөөрөнхий хаалтан дотор утга буюу элэментүүдийг бичин зарладаг.
За үүгээр өнөөдрийн бичлэгийг дуусгавар болгъё...
1 comment:
Ерөнхийдөө маш их ойлгомжтой байлаа :)
Post a Comment