පයිතන්හිදී, "545.2222" වැනි සංඛ්යාත්මක නූලක් එහි අනුරූප පාවෙන අගය වන 542.2222 ට විග්රහ කරන්නේ කෙසේද? නැතහොත් "31" නූල පූර්ණ සංඛ්යාවක් වෙත විග්රහ කරන්න, 31?
මට දැන ගැනීමට අවශ්ය වන්නේ පාවෙන නූලක් පාවෙන කොටසකට විග්රහ කරන්නේ කෙසේද යන්න සහ (වෙනමම) int නූලක් int එකකට විග්රහ කරන්නේ කෙසේද යන්නයි.
මේවා වෙන වෙනම කිරීමට ඔබ ඉල්ලා සිටීම හොඳයි. ඔබ ඒවා මිශ්ර කරන්නේ නම්, ඔබ පසුව ගැටළු සඳහා ඔබම සූදානම් වනු ඇත. සරල පිළිතුර නම්:
"545.2222"
පාවීමට:
>>> float("545.2222")
545.2222
"31"
පූර්ණ සංඛ්යාවක් වෙත:
>>> int("31")
31
වෙනත් පරිවර්තනයන්, නූල් සහ වචනාර්ථයෙන් සහ ඉන්:
විවිධ කඳවුරු වලින් පරිවර්තන, ඔබ පදනම කල්තියා දැනගත යුතුය (10 පෙරනිමිය වේ). පයිතන් එහි සාහිත්යකරුවන් සඳහා අපේක්ෂා කරන දේ සමඟ ඔබට ඒවා උපසර්ග කළ හැකි බව සලකන්න (පහත බලන්න) හෝ උපසර්ගය ඉවත් කරන්න:
>>> int("0b11111", 2)
31
>>> int("11111", 2)
31
>>> int('0o37', 8)
31
>>> int('37', 8)
31
>>> int('0x1f', 16)
31
>>> int('1f', 16)
31
ඔබ පදනම කල්තියා නොදන්නේ නම්, නමුත් ඔවුන්ට නිවැරදි උපසර්ගයක් ඇති බව ඔබ දන්නේ නම්, ඔබ 0
පදනම ලෙස සමත් වුවහොත් පයිතන්ට මෙය ඔබට අනුමාන කළ හැකිය :
>>> int("0b11111", 0)
31
>>> int('0o37', 0)
31
>>> int('0x1f', 0)
31
දශම නොවන (එනම් පූර්ණ සංඛ්යා) වෙනත් පදනම් වලින් සාහිත්යය
ඔබේ අභිප්රේරණය ඔබේම කේතයක් දෘඩ කේත සහිත නිශ්චිත අගයන් පැහැදිලිව නිරූපණය කිරීමට නම්, කෙසේ වෙතත්, ඔබට පදනම් වලින් පරිවර්තනය වීමට අවශ්ය නොවනු ඇත - නිවැරදි වාක්ය ඛණ්ඩය සමඟ ඔබට ස්වයංක්රීයව එය කිරීමට පයිතන්ට ඉඩ දිය හැකිය.
පහත දැක්වෙන වචනාර්ථයන් සමඟ පූර්ණ සංඛ්යා වලට ස්වයංක්රීයව පරිවර්තනය ලබා ගැනීම සඳහා ඔබට ඇප්රොපොස් උපසර්ග භාවිතා කළ හැකිය . මේවා පයිතන් 2 සහ 3 සඳහා වලංගු වේ:
ද්විමය, උපසර්ගය 0b
>>> 0b11111
31
ඔක්ටල්, උපසර්ගය 0o
>>> 0o37
31
ෂඩාස්රාකාර, උපසර්ගය 0x
>>> 0x1f
31
ද්විමය ධජ, කේතයේ ගොනු අවසර හෝ වර්ණ සඳහා හෙක්ස් අගයන් විස්තර කිරීමේදී මෙය ප්රයෝජනවත් වේ - නිදසුනක් ලෙස, උපුටා දැක්වීම් කිසිවක් සටහන් නොකරන්න:
>>> 0b10101 # binary flags
21
>>> 0o755 # read, write, execute perms for owner, read & ex for group & others
493
>>> 0xffffff # the color, white, max values for red, green, and blue
16777215
පයිතන් 3 සමඟ අනුකූල වන නොපැහැදිලි පයිතන් 2 අෂ්ටක සෑදීම
පයිතන් 2 හි 0 කින් ආරම්භ වන පූර්ණ සංඛ්යාවක් ඔබ දුටුවහොත් මෙය (අතහැර දැමූ) අෂ්ටක වාක්ය ඛණ්ඩයකි.
>>> 037
31
වටිනාකම නරක විය යුතු බව පෙනෙන නිසා එය නරක ය 37
. එබැවින් පයිතන් 3 හි එය දැන් මතු කරයි SyntaxError
:
>>> 037
File "<stdin>", line 1
037
^
SyntaxError: invalid token
ඔබේ පයිතන් 2 අෂ්ටක 0o
උපසර්ගය සමඟ 2 සහ 3 යන දෙවර්ගයේම වැඩ කරන අෂ්ටක බවට පරිවර්තනය කරන්න :
>>> 0o37
31
type(my_object)
එය අමතන්න . ප්රති result ලය සාමාන්යයෙන් පරිවර්තනය කිරීම සඳහා ශ්රිතයක් ලෙස හැඳින්විය හැකිය. උදාහරණයක් ලෙස ප්රතිtype(100)
results ල ලැබෙනint
බැවින් ඔබට පූර්ණ සංඛ්යාවක්int(my_object)
බවට පරිවර්තනයmy_object
කිරීමට උත්සාහ කළ හැකිය . මෙය සැමවිටම ක්රියා නොකරයි, නමුත් කේතීකරණයේදී හොඳ “පළමු අනුමානය” වේ.