Өмнөх постод Дүүдээгийн хэлсэнчлэн файтон хэлэнд хувьсагчдийг зарлахад өгөгдлийн төрөлийг нь тодорхойлж өгөх шаардлагагүй ингээд myParams гэдэг хувьсагчийг зарлаж байгаа нэг жишээ тавьчъя :)
if __name__ == "__main__":
myParams = {"server","124.12.54.4",
"database":"KungfuMaster",
"uid":"sa",
"pwd","mashnuuts"
}
Хувьсагчийн утгаар сонин юутай байна вэ?
энэ Икс гэдэг нөхөр дотор ямар утга байнаа гэдгийг мэдэхийн тулд та script мөрөн дээр x гээд бичихэд л хангалттай.
>>> x
Traceback (innermost last):
File "
NameError: There is no variable names 'x'
>>> x = 1
>>> x
1
эхлээд x гээд харах гэтэл урдаас алдаа шидэж байна :) учир нь x гэж нэрлэгдсэн хувьсагч байхгүй гэнээ. Үүний дараа x = 1 гэж x-д утга оноон хувьсагчийг зарлаж өглөө. Харин одоо хувьсагч зарлагдсан тул x -ийн утгыг скрипт мөрөнд хэвлэж харахад асуудалгүй. Зүгээр л хувьсагчийн нэрийг өгөөд дуудчихад болно.
Ганцхан удаад хандаад л утгуудыг өөрчлөх
Файтон хэлэнд олон утгуудыг өөрчлөхөд дарааллын дагуу ханддаг. Дараах жишээнээс хараарай.
>>> v = ('a', 'b', 'e')
>>> (x, y, z) = v
>>> x
'a'
>>> y
'b'
>>> z
'e'
сүүлийн хэсэгт x, y, z үүдийн утгуудыг хэвлэж харж байгааг та лав гадарлаж байгаа бизээ.
>>> range(7)
[0, 1, 2, 3, 4, 5, 6]
>>> (Davaa, Myagmar, Lhagva, Purev, Baasan, Byamba, Nyam) = range(7)
>>> Davaa
0
>>> Myagmar
1
>>> Nyam
6
За тэр хараа биддэ? range функц нь 0-ээс авах аргументийнхаа утга хүртэл тоо бүхий олонлог үүсгэдэг юм байна. Энэ үүсгэгдсэн утгуудын дарааллаар эдгээр гаригуудын нэрт утга оноож байгаан байна.
Мөр буюу дараалсан үсэгнүүд өөрөөр текст бүхий хувьсагч ч гэдэг үүнийг форматлах буюу хэвд оруулах нь
Си хэлэнд мөр хэвлэж харахад sprintf -д %s гэсэн юм ашигладагдаа яг тэрэн шиг хэрэглээтэй юм байна. За одоо тэгвэл илүү ойлгомжтой болгох үүднээс хоёр ширхэг мөрийг холбож байгаа жишээ харъя.
>>> ehniiMor = "Hi sain uu"
>>> daraagiinMor = "huuhdee"
>>> zalgasanMor = "%s=%s" % (ehniiMor, daraagiinMor)
>>> zalgasanMor
'Hi sain uu=huuhdee'
>>>
Энэ жишээнд %s-ийн дарааллын дагуу хувьсагчдыг сольж тавьж байна.
Дараагийн жишээг харъя
>>> text1 = "Dorj"
>>> text2 = "alim"
>>> print text1 + " guai " + text2 + "and durtain genelee taminee"
Dorj guai alimand durtain genelee taminee
За мөрнүүдийг залгаад ингэж нэг харуулж болж байна тэгвэл %s -ээ ашиглаад нэг хэвлье
>>> text1 = "Dorj"
>>> text2 = "alim"
>>> print "%s guai %sand durtain genelee taminee" % (text1,text2)
Dorj guai alimand durtain genelee taminee
Надад лав %s ашигласан нь хамаагүй дээр санагдаж байнаа.
>>> eneBolToo = 6
>>> print "a too utga=%s" % (eneBolToo)
Traceback (innermost last):
File "
TypeError: cannot concatenate 'str' and 'int' objects
>>> print "Onoodriin huvitsaanii hansh: %f" % 50.4625
50.462500
>>> print "Onoodriin huvitsaanii hansh: %.2f" % 50.4625
50.46
>>> print "Onoodriin huvitsaanii hansh: %+.2f" % 1.5
+1.50
hj
[бичигдэж байна :)]
1 comment:
баярлалаа.
Post a Comment