bytearray() Function – Python Object Types

bytearray() Function – जिस तरह से हम एक Empty String के साथ join() Method को Use करके किसी List के सभी String Objects को आपस में Combine करके एक Single String Return करते हैं, ठीक वही काम हम bytearry() Method द्वारा भी कर सकते हैं।

ये Method एक bytearray Type का Object Return करता है जो कि किन्‍हीं दी गई Bytes का एक Array होता है। ये bytearray Object 0 to 256 तक के बीच की Range का एक Mutable Sequence of Integers होता है। हालांकि हम चाहें तो bytes() Method द्वारा इसके Immutable Version को भी Use कर सकते हैं।

ये Method निम्‍नानुसार तीन Parameters Accept करता है और तीनों ही Parameters Optional होते हैं-

source (Optional)

इस पहले Parameter के रूप में हमें Return होने वाले bytearray Object को Initialize करने वाले Source को Specify करना होता है।

encoding (Optional)

यदि पहले Parameter के रूप में हमने String Object Specify किया हो, तो उस Source String के Encoding को इस दूसरे Parameter के रूप में Specify करना होता है।

errors (Optional)

यदि पहले Parameter के रूप में हमने String Object Specify किया हो, और किसी कारणवश String to ByteArray का Conversion Fail हो जाए, तो उस स्थिति को Handle करने के लिए हम जो Action लेना चाहते हैं, उसे इस तीसरे Parameter के रूप में Specify करना होता है।

पहले Parameter के रूप में हम जिन Different Source Parameters को Specify कर सकते हैं, उनका Description निम्‍नानुसार है-

String

जब हम Source के रूप में किसी String Object को Specify करते हैं, तब ये bytearray() Function, str.encode() Method का प्रयोग करके Soruce String को Bytes  में Convert करता है। साथ ही Source के रूप में String Specify करने पर हमें दूसरे और तीसरे Parameters को Specify करना भी जरूरी हो जाता है।

Integer

जब हम Source के रूप में किसी Integer Object को Specify करते हैं, तब ये bytearray() Function हमारे द्वारा Provide की गई Size का एक Array Create करता है और उसके सभी Elements को null Value से Initialize कर देता है।

Object

जब हम Source के रूप में किसी Object को Specify करते हैं, तब ये bytearray() Function हमारे Source Object के Read-Only Buffer से Initialize हो जाता है।

Iterable

जब हम Source के रूप में किसी Iterable को Specify करते हैं, तब ये bytearray() Function उस Iterable के Count के बराबर Size का एक Array Create करता है और सभी Array के सभी Elements को 0 to 256 की Range के बीच की किसी Value से Initialize कर देता है।

No Source

जब हम Source के रूप में कुछ भी Specify नहीं करते तब ये bytearray() Function एक 0 Size का Array Create करता है, जिसमें एक भी Element नहीं होता।

जब हम bytearray() Function को Use करते हैं, तब ये जरूरी होता है कि इसके Source में हमेंशा 8-Bit ASCII Value ही हो, जिसका Integer मान 0 से 255 तक ही होता है। इस Range के बाहर के किसी Integer Value से सम्‍बंधित Character को ये Method नहीं समझता।

इस तरह से अब यदि हम Immutable String को Change करने से सम्‍बंधित पिछले Example Program को bytearray() Function का प्रयोग करते हुए Modify करें, तो हमारा Modified Example Program कुछ निम्‍नानुसार होगा-

[code]
FileName: bytearrayFunction.py
str = "ROHIT"
print("Original str: ", str)
baStr = bytearray(str,"utf-8")
baStr[0] = ord("M")
print(baStr)
print("Changed str: ", baStr.decode())

Output
Original str:  ROHIT
bytearray(b'MOHIT')
Changed str:  MOHIT
[/code]

इस Example में भी हमने पहले की ही तरह एक str नाम का String Object Create किया है और उसमें Text Data के रूप में “ROHIT” String को Store किया है।

चूंकि हम इस Original String के ही पहले Character को Change करना चाहते हैं, इसलिए अगले Statement में हमने bytearray() Function का प्रयोग करते हुए इस str String को पहले Parameter के रूप में Specify किया है और दूसरे Parameter के रूप में “utf-8” Specify करके हमने Python को ये बताया है कि str एक String Object है, जिसमें UTF-8 Encoding का Text Data Stored है।

चूंकि str String Object में जो भी Text Data है, उसका प्रत्‍येक Character ASCII Character है, जिसका ASCII Code 0 से 256 के बीच ही होता है, इसलिए bytearray() Function बिना किसी परेशानी के str String Object में Stored Text Data के प्रत्‍येक Character को Create होने वाले bytearray Type के Array में Individual Element के रूप में Store करके Return कर देता है, जिसे baStr नाम के Identifier में Store कर लिया जाता है।

फिर अगले Statement में इस baStr को जब print() Function द्वारा Print किया जाता है, तो हमें निम्‍नानुसार Output प्राप्‍त होता है-

bytearray(b’MOHIT’)

यानी हमें एक bytearray Type का Array प्राप्‍त होता है, जिसमें Value के रूप में वह String Stored होता है, जिसे Source के रूप में bytearray() Function के पहले Parameter के रूप में Specify किया गया था। यहां ध्‍यान देने वाली बात ये है कि क्‍योंकि ये एक BYTES के रूप में Text Data को Hold करता है, इसीलिए String ‘MOHIT’ से पहले Character b भी Prepend है।

फिर अगले Statement में हमने निम्‍नानुसार ord() Function का प्रयोग करते हुए str String के पहले Character को “R” से Change करके “M” कर दिया है-

  baStr[0] = ord(“M”)

चूंकि bytearray() Function एक Array Return करता है, इसलिए पहले Character को हम इस Array के Index Number 0 से Refer कर सकते हैं इसीलिए हमने baStr[0] लिखा है जबकि bytearray() Object केवल 0 – 255 की Range के बीच के Integer मान को ही Accept कर सकता है, इसलिए पहले Character को Replace करने के लिए हम Directly Character “M” को Specify नहीं कर सकते।

इसीलिए यहां हमने ord() Function के माध्‍यम से Character “M” की ASCII Value को baStr की Index Number 0 पर Overwrite या है, जिसके परिणामस्‍वरूप str की String “ROHIT” का पहला “R” से Change होगर “M” हो गया है और Resultant String “ROHIT” से बदलकर “MOHIT” हो गया है।

फिर अन्तिम Statement में हमने bytearray() Type के Array के साथ decode() Method को Use करके baStr Array Object में Stored Content को Output में Display कर दिया है, जहां हम देख सकते हैं कि हमें प्राप्‍त होने वाला Resultant Output “MOHIT” है, जो कि Original String “ROHIT” से अलग है।

यानी decode() Method हमें baStr Object के bytearray() Object के Data को एक String के रूप में Output Exactly वैसा ही Return कर देता है, जैसा हमने Empty String के साथ join() Method को Use करके प्राप्‍त किया था।

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW GET DEMO REVIEWS