Ҳар рамз адад аст
Python барои як рамз навъи алоҳида надорад: рамз сатри дарозиаш 1 аст, мисли "A". Вале компютер ҳар рамзро ҳамчун адад, коди он, нигоҳ медорад. Кодҳо аз ҷадвали ASCII меоянд, ки қисми Unicode аст. Ҳарфҳо ва рақамҳо дар он бо тартиб, бе холигӣ ҷойгиранд.
ord(c) коди рамзи c-ро медиҳад. chr(k) рамзи бо коди k-ро медиҳад.
Рамз ва адад як чиз нестанд. "7" рамзи бо коди 55 аст. 7 адади ҳафт аст.
Ҳисоб бо рамзҳо
Азбаски ҳарфҳо бо тартиб меистанд, ҳисоб бо кодҳо ҳисоб бо алифбо аст. Бо код, ки int аст, кор кунед ва дар охир онро боз ба рамз табдил диҳед.
- Ҷойи ҳарфи
c, ки аз 0 ҳисоб мешавад:ord(c) - ord("a"). - Ҳарфи дар ҷойи
k, ки аз 0 ҳисоб мешавад:chr(ord("a") + k). - Ҳарфи баъдӣ:
chr(ord(c) + 1). - Масофа байни ду ҳарф:
abs(ord(a) - ord(b)). - Ҳарфи калони ҳарфи хурд:
chr(ord(c) - 32). Ҳарфи хурди ҳарфи калон:chr(ord(c) + 32). - Қимати рамзи рақам:
int(c)ёord(c) - ord("0").
Ба ду чиз диққат диҳед:
- Рамз ва адад омехта намешаванд.
"a" + 2барномаро боTypeErrorқатъ мекунад. Боordба адад гузаред, ва боchrбаргардед. - Муқоисаҳо кодҳоро истифода мебаранд.
"b" < "d"Trueаст. Вале ҳарфи калон пеш аз ҳар ҳарфи хурд меояд:"Z"коди 90 дорад ва"a"коди 97, барои ҳамин"Z" < "a"Trueаст.
chr ва ord дар давр алифборо мегузаранд. Ин 26 ҳарфи хурдро чоп мекунад:
Ин кадом рамз аст?
Азбаски кодҳо бо тартибанд, санҷиши фосила нишон медиҳад, ки c кадом рамз аст. Python имкон медиҳад, ки ду муқоисаро занҷирӣ нависед.
- Рақам:
"0" <= c <= "9"ёc.isdigit(). - Ҳарфи хурд:
"a" <= c <= "z"ёc.islower(). - Ҳарфи калон:
"A" <= c <= "Z"ёc.isupper(). - Ҳар ҳарф:
c.isalpha(). - Садонок:
c in "aeiou".
c in "aeiou" мепурсад, ки оё c дар даруни матни "aeiou" аст. Барои як ҳарф ин айнан «оё садонок аст» мебошад. Барои матни дарозтар порчаҳоро низ меёбад: аст.