Built in types 2bytes.rjust( প্রস্থ [ , fillbyte ] )bytearray.rjust( প্রস্থ [ , fillbyte ] )- দৈর্ঘ্যের প্রস্থের অনুক্রমের ন্যায়সঙ্গতভাবে ঠিক করা বস্তুর অনুলিপিটি ফিরিয়ে দিন । প্যাডিং নির্দিষ্ট ফিলবাইট ব্যবহার করে করা হয় (ডিফল্ট একটি এএসসিআইআই স্পেস)। জন্য
bytesবস্তু, যদি মূল ক্রম ফিরিয়ে দেওয়া হয় প্রস্থ কম বা সমানlen(s)।বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.rsplit( সেপ = কোনওটি নয় , ম্যাক্সস্প্লিট = -1 )bytearray.rsplit( সেপ = কোনওটি নয় , ম্যাক্সস্প্লিট = -1 )- ডিলিমিটার স্ট্রিং হিসাবে সেপ ব্যবহার করে বাইনারি ক্রমকে একই ধরণের উপকেন্দ্রগুলিতে বিভক্ত করুন। তাহলে maxsplit সর্বাধিক দেওয়া হয় maxsplit টুকরা করা হয়, ডানদিকে অবস্থিত বেশী। যদি সেপটি নির্দিষ্ট না করা হয় বা
None, কেবলমাত্র ASCII সাদা স্থানের অন্তর্ভুক্ত কোনও অনুচ্ছেদ পৃথক পৃথক। ডান থেকে বিভাজন ব্যতীত নীচে বিশদে বর্ণিতrsplit()মত আচরণsplit()করে।
bytes.rstrip( [ চরস ] )bytearray.rstrip( [ চরস ] )- নির্দিষ্ট ট্রেলিং বাইটগুলি সরানো সহ ক্রমের একটি অনুলিপি ফেরত দিন। অক্ষর নাম আসলে এই পদ্ধতি সাধারণত ASCII অক্ষর দিয়ে ব্যবহার করা হয় উল্লেখ করে - যুক্তি বাইনারি বাইট মূল্যবোধের সেট উল্লেখ ক্রম সরানো হতে হয়। বাদ দেওয়া হলে বা
None, অক্ষর হওয়া ASCII হোয়াইটস্পেস সরানোর আর্গুমেন্ট প্রাপ্ত করতে অক্ষমতা। অক্ষর যুক্তি প্রত্যয় নয়; বরং এর মানগুলির সমস্ত সংমিশ্রণগুলি ছিনিয়ে নেওয়া হয়:বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.split( সেপ = কোনওটি নয় , ম্যাক্সস্প্লিট = -1 )bytearray.split( সেপ = কোনওটি নয় , ম্যাক্সস্প্লিট = -1 )- ডিলিমিটার স্ট্রিং হিসাবে সেপ ব্যবহার করে বাইনারি ক্রমকে একই ধরণের উপকেন্দ্রগুলিতে বিভক্ত করুন। যদি ম্যাক্সস্প্লিট দেওয়া হয় এবং অ-নেতিবাচক হয় তবে সর্বাধিক ম্যাকস্প্লিট বিভক্ত হয় (সুতরাং, তালিকায় বেশিরভাগ
maxsplit+1উপাদান থাকবে)। যদি ম্যাক্সস্প্লিট নির্দিষ্ট না করা হয় বা হয় তবে স্প্লিটের-1সংখ্যার কোনও সীমা নেই (সমস্ত সম্ভাব্য বিভাজন তৈরি করা হয়)।যদি সেপ দেওয়া হয়, একটানা প্রেরকগণকে একত্রে গোষ্ঠীভুক্ত করা হয় না এবং খালি অনুচ্ছেদগুলি উদাহরণস্বরূপ (উদাহরণস্বরূপ,b'1,,2'.split(b',')প্রত্যাবর্তন ) গণনা করা হয় । সেপ্টেম্বর যুক্তি multibyte ক্রম (উদাহরণস্বরূপ, গঠিত হতে পারে আয় )। নির্দিষ্ট বিভাজক ফেরতের সাথে খালি ক্রম বিভক্ত করা বা বস্তুর বিভক্ত হওয়ার ধরণের উপর নির্ভর করে। সেপ্টেম্বর যুক্তি কোনো হতে পারে বাইট মত বস্তু ।[b'1', b'', b'2']b'1<>2<>3'.split(b'<>')[b'1', b'2', b'3'][b''][bytearray(b'')]উদাহরণ স্বরূপ:যদি সেপটি নির্দিষ্ট না করা হয় বা হয় তবেNoneএকটি পৃথক বিভাজনযুক্ত অ্যালগরিদম প্রয়োগ করা হয়: একটানা ASCII হোয়াইটস্পেসের রানগুলি একক বিভাজক হিসাবে বিবেচিত হয় এবং ফলাফলটি শুরু বা শেষের কোনও খালি স্ট্রিং থাকবে না যদি সিকোয়েন্সটি শীর্ষস্থানীয় হয় বা শ্বেত স্পেস অনুসরণ করে। ফলস্বরূপ, একটি খালি ক্রম বা একটি পৃথক পৃথক পৃথক ফেরত ছাড়াই পুরোপুরি ASCII হোয়াইটস্পেসের সমন্বিত একটি ক্রম বিভক্ত করা[]।উদাহরণ স্বরূপ:
bytes.strip( [ চরস ] )bytearray.strip( [ চরস ] )- সীমাবদ্ধতার একটি অনুলিপি নির্দিষ্ট লিডিং এবং ট্রেলিং বাইটগুলি সরানো সহ ফেরান। অক্ষর নাম আসলে এই পদ্ধতি সাধারণত ASCII অক্ষর দিয়ে ব্যবহার করা হয় উল্লেখ করে - যুক্তি বাইনারি বাইট মূল্যবোধের সেট উল্লেখ ক্রম সরানো হতে হয়। বাদ দেওয়া হলে বা
None, অক্ষর হওয়া ASCII হোয়াইটস্পেস সরানোর আর্গুমেন্ট প্রাপ্ত করতে অক্ষমতা। অক্ষর যুক্তি উপসর্গ বা প্রত্যয় নয়; বরং এর মানগুলির সমস্ত সংমিশ্রণগুলি ছিনিয়ে নেওয়া হয়:বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
বাইটস এবং বাইটারি উপাদানগুলিতে নিম্নলিখিত পদ্ধতিগুলি ASCII সামঞ্জস্যপূর্ণ বাইনারি ফর্ম্যাটগুলির ব্যবহার ধরে নেয় এবং নির্বিচারে বাইনারি ডেটা প্রয়োগ করা উচিত নয়। লক্ষ্য করুন এই বিভাগে bytearray পদ্ধতি সব করতে না জায়গায় কাজ, এবং পরিবর্তে নতুন বস্তু উত্পাদন।
bytes.capitalize( )bytearray.capitalize( )- ASCII চরিত্র হিসাবে ব্যাখ্যা করা প্রতিটি বাইটের সাথে ক্রমটির একটি অনুলিপি প্রদান করুন এবং প্রথম বাইটটি মূলধন এবং বাকীটি নিম্নতর হয়েছে। নন-এএসসিআইআই বাইট মানগুলি অপরিবর্তিত হয়ে যায়।বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.expandtabs( ট্যাবসাইজ = 8 )bytearray.expandtabs( ট্যাবসাইজ = 8 )- বর্তমান কলাম এবং প্রদত্ত ট্যাব আকারের উপর নির্ভর করে সমস্ত ASCII ট্যাব অক্ষর এক বা একাধিক ASCII স্পেস দ্বারা প্রতিস্থাপন করা হয়েছে এমন ক্রমটির একটি অনুলিপি ফেরান। ট্যাব অবস্থানগুলি প্রতিটি ট্যাবসাইজ বাইট হয় (ডিফল্ট 8 হয়, 0, 8, 16 এবং কলামে ট্যাব অবস্থান প্রদান করে)। ক্রমটি প্রসারিত করতে, বর্তমান কলামটি শূন্যে সেট করা হয়েছে এবং অনুক্রমটি বাই বাইট দ্বারা পরীক্ষা করা হয়। বাইটটি যদি একটি ASCII ট্যাব অক্ষর হয় (
b'\t'), বর্তমান কলামটি পরবর্তী ট্যাব অবস্থানের সমান না হওয়া পর্যন্ত এক বা একাধিক স্পেস অক্ষর ফলাফলটিতে সন্নিবেশ করা হয়। (ট্যাব চরিত্রটি নিজেই অনুলিপি করা হয়নি)) যদি বর্তমান বাইটটি একটি এএসসিআইআই নিউলাইন (b'\n') বা ক্যারেজ রিটার্ন হয় (b'\r'), এটি অনুলিপি করা হয়েছে এবং বর্তমান কলামটি শূন্যে পুনরায় সেট করা হয়েছে। অন্য কোনও বাইট মানটি অপরিবর্তিতভাবে অনুলিপি করা হয় এবং বর্তমান কলামটি মুদ্রণের সময় বাইট মান কীভাবে উপস্থাপন করা হয় তা নির্বিশেষে একজনের দ্বারা বৃদ্ধি করা হয়:বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.isalnum( )bytearray.isalnum( )- যদি অনুক্রমের সমস্ত বাইট বর্ণানুক্রমিক ASCII অক্ষর বা ASCII দশমিক সংখ্যা হয় এবং ক্রমটি খালি না হয় তবে অন্যথায় সত্যটি প্রত্যাবর্তন করুন। বর্ণানুক্রমিক ASCII অক্ষরগুলি ক্রমের সেই বাইট মানগুলি
b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'। ASCII দশমিক সংখ্যা হ'ল ক্রমানুসারে by বাইট মানb'0123456789'।উদাহরণ স্বরূপ:
bytes.isalpha( )bytearray.isalpha( )- যদি ক্রমের সমস্ত বাইট বর্ণানুক্রমিক ASCII অক্ষর হয় এবং ক্রমটি খালি না হয়, অন্যথায় মিথ্যা হয় Return বর্ণানুক্রমিক ASCII অক্ষরগুলি ক্রমের সেই বাইট মানগুলি
b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'।উদাহরণ স্বরূপ:
bytes.isascii( )bytearray.isascii( )- ক্রমটি খালি থাকলে বা অনুক্রমের সমস্ত বাইট ASCII, অন্যথায় মিথ্যা হলে সত্যটি প্রত্যাবর্তন করুন। এএসসিআইআই বাইটগুলি 0-0x7F এর মধ্যে রয়েছে।সংস্করণে নতুন 7.।।
bytes.isdigit( )bytearray.isdigit( )- যদি অনুক্রমের সমস্ত বাইট ASCII দশমিক সংখ্যা হয় এবং ক্রমটি খালি না হয়, অন্যথায় মিথ্যা হয় Return ASCII দশমিক সংখ্যা হ'ল ক্রমানুসারে by বাইট মান
b'0123456789'।উদাহরণ স্বরূপ:
bytes.islower( )bytearray.islower( )- অনুক্রমের মধ্যে যদি কমপক্ষে একটি ছোট ছোট ASCII অক্ষর থাকে এবং বড়হস্ত অন্যথায় বড় হাতের ASCII অক্ষর না থাকে তবে সত্যটি প্রত্যাবর্তন করুন।উদাহরণ স্বরূপ:ছোট হাতের ASCII অক্ষরগুলি ক্রমের সেই বাইট মান
b'abcdefghijklmnopqrstuvwxyz'। বড় হাতের ASCII অক্ষরগুলি ক্রমগুলির বাইট মানগুলিb'ABCDEFGHIJKLMNOPQRSTUVWXYZ'।
bytes.isspace( )bytearray.isspace( )- যদি অনুক্রমের সমস্ত বাইট ASCII সাদা স্থান হয় এবং ক্রমটি খালি না হয়, অন্যথায় মিথ্যা হয় Return এএসসিআইআই হোয়াইটস্পেস অক্ষরগুলি ক্রমগুলির সেই বাইট মানগুলি (স্পেস, ট্যাব, নিউলাইন, ক্যারেজ রিটার্ন, উল্লম্ব ট্যাব, ফর্ম ফিড)।
b' \t\n\r\x0b\f'
bytes.istitle( )bytearray.istitle( )- যদি ক্রমটি ASCII শিরোনামের শিরোনাম হয় এবং ক্রমটি খালি নয়, অন্যথায় মিথ্যা হয় true দেখুন
bytes.title()"titlecase" এর সংজ্ঞা আরও বিশদের জন্য।উদাহরণ স্বরূপ:
bytes.isupper( )bytearray.isupper( )- যদি যথাক্রমে কমপক্ষে একটি বড় হাতের বর্ণানুক্রমিক ASCII অক্ষর থাকে এবং ছোট হাতের ASCII অক্ষর না হয় তবে অন্যথায় সত্য হবেউদাহরণ স্বরূপ:ছোট হাতের ASCII অক্ষরগুলি ক্রমের সেই বাইট মান
b'abcdefghijklmnopqrstuvwxyz'। বড় হাতের ASCII অক্ষরগুলি ক্রমগুলির বাইট মানগুলিb'ABCDEFGHIJKLMNOPQRSTUVWXYZ'।
bytes.lower( )bytearray.lower( )- সমস্ত বড় হাতের ASCII অক্ষর তাদের সংশ্লিষ্ট ছোট হাতের অংশে রূপান্তরিত করে ক্রমের একটি অনুলিপি প্রদান করুন।উদাহরণ স্বরূপ:ছোট হাতের ASCII অক্ষরগুলি ক্রমের সেই বাইট মান
b'abcdefghijklmnopqrstuvwxyz'। বড় হাতের ASCII অক্ষরগুলি ক্রমগুলির বাইট মানগুলিb'ABCDEFGHIJKLMNOPQRSTUVWXYZ'।বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.splitlines( রক্ষণাবেক্ষণ = মিথ্যা )bytearray.splitlines( রক্ষণাবেক্ষণ = মিথ্যা )- ASCII লাইন সীমানা ভঙ্গ করে বাইনারি ক্রমের লাইনগুলির একটি তালিকা ফেরত দিন। এই পদ্ধতিটি বিভাজনকারী লাইনের সর্বজনীন নিউলাইন পদ্ধতির ব্যবহার করে । লাইফ ব্রেকগুলি ফলাফলের তালিকায় অন্তর্ভুক্ত করা হয় না যদি না রক্ষণাবেক্ষণ দেওয়া হয় এবং সত্য হয়।উদাহরণ স্বরূপ:
split()যখন একটি ডিলিমিটার স্ট্রিং সেপ দেওয়া হয় তার বিপরীতে , এই পদ্ধতিটি খালি স্ট্রিংয়ের জন্য একটি খালি তালিকা দেয় এবং একটি টার্মিনাল লাইন বিরতি অতিরিক্ত লাইনের ফল দেয় না:
bytes.swapcase( )bytearray.swapcase( )- সমস্ত ছোট হাতের ASCII অক্ষর তাদের সংশ্লিষ্ট বড় হাতের অংশে এবং তদ্বিপরীত রূপান্তরিত করে ক্রমটির একটি অনুলিপি ফেরত দিন।উদাহরণ স্বরূপ:ছোট হাতের ASCII অক্ষরগুলি ক্রমের সেই বাইট মান
b'abcdefghijklmnopqrstuvwxyz'। বড় হাতের ASCII অক্ষরগুলি ক্রমগুলির বাইট মানগুলিb'ABCDEFGHIJKLMNOPQRSTUVWXYZ'।বিপরীতেstr.swapcase(), বাইনারি সংস্করণগুলির ক্ষেত্রে এটি সর্বদা ক্ষেত্রে । কেস রূপান্তরগুলি ASCII তে প্রতিসম হয়, যদিও স্বেচ্ছাসেবী ইউনিকোড কোড পয়েন্টগুলির ক্ষেত্রে এটি সাধারণত সত্য নয়।bin.swapcase().swapcase() == binবিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.title( )bytearray.title( )- বাইনারি সিকোয়েন্সের একটি শিরোনামযুক্ত সংস্করণটি ফেরত করুন যেখানে শব্দগুলি বড় হাতের ASCII অক্ষর দিয়ে শুরু হয় এবং বাকী অক্ষরগুলি ছোট হাতের অক্ষর হয়। আনসেসড বাইট মানগুলি অবিস্মরণীয় অবস্থায় রয়েছে।উদাহরণ স্বরূপ:ছোট হাতের ASCII অক্ষরগুলি ক্রমের সেই বাইট মান
b'abcdefghijklmnopqrstuvwxyz'। বড় হাতের ASCII অক্ষরগুলি ক্রমগুলির বাইট মানগুলিb'ABCDEFGHIJKLMNOPQRSTUVWXYZ'। অন্যান্য সমস্ত বাইট মান মানহীন।অ্যালগরিদম একটানা অক্ষরের গ্রুপ হিসাবে শব্দের একটি সহজ ভাষা-স্বতন্ত্র সংজ্ঞা ব্যবহার করে। সংজ্ঞাটি অনেক প্রসঙ্গে কাজ করে তবে এর অর্থ হ'ল সংকোচনগুলিতে অ্যাড্রোফেসগুলি শব্দের সীমানা গঠন করে, যা পছন্দসই ফলাফল নাও হতে পারে:নিয়মিত এক্সপ্রেশন ব্যবহার করে অ্যাডোস্ট্রোফের জন্য একটি কাজের ভিত্তি তৈরি করা যেতে পারে:বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.upper( )bytearray.upper( )- সমস্ত ছোট হাতের ASCII অক্ষর তাদের সংশ্লিষ্ট বড় হাতের অংশে রূপান্তরিত করে ক্রমের একটি অনুলিপি ফেরত দিন।উদাহরণ স্বরূপ:ছোট হাতের ASCII অক্ষরগুলি ক্রমের সেই বাইট মান
b'abcdefghijklmnopqrstuvwxyz'। বড় হাতের ASCII অক্ষরগুলি ক্রমগুলির বাইট মানগুলিb'ABCDEFGHIJKLMNOPQRSTUVWXYZ'।বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.zfill( প্রস্থ )bytearray.zfill( প্রস্থ )- ফিরুন ক্রম একটি কপি হওয়া ASCII ভরা ছেড়ে দেওয়া
b'0'সংখ্যার দৈর্ঘ্য একটি ক্রম করতে প্রস্থ । একটি অগ্রণী চিহ্ন উপসর্গ (b'+'/b'-') আগে পরিবর্তে সাইন অক্ষরের পরে প্যাডিং byোকানো দ্বারা পরিচালিত হয় । জন্যbytesবস্তু, যদি মূল ক্রম ফিরিয়ে দেওয়া হয় প্রস্থ কম বা সমানlen(seq)।উদাহরণ স্বরূপ:বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
printfস্টাইল বাইট বিন্যাসকরণবিঃদ্রঃএখানে বর্ণিত ফর্ম্যাটিং ক্রিয়াকলাপগুলি বিভিন্ন ধরণের স্পিকারগুলি প্রদর্শন করে যা বেশ কয়েকটি সাধারণ ত্রুটি বাড়ে (যেমন টিউপস এবং অভিধান সঠিকভাবে প্রদর্শন করতে ব্যর্থ হয়)। মুদ্রিত মানটি যদি একটি দ্বৈত বা অভিধান হতে পারে তবে এটিকে একটি টিপলে মুড়ে দিন rapবাইটস অবজেক্টস (bytes/bytearray) এর একটি অনন্য অন্তর্নির্মিত অপারেশন রয়েছে:%অপারেটর (মডুলো)। এটি বাইট ফর্ম্যাটিং বা ইন্টারপোলেশন অপারেটর হিসাবেও পরিচিত । প্রদত্ত (যেখানে বিন্যাসটি বাইট অবজেক্ট), বিন্যাসে রূপান্তর স্পেসিফিকেশনগুলি শূন্য বা আরও বেশি মানের মানগুলির সাথে প্রতিস্থাপিত হয় । প্রভাবটি সি ভাষার ক্ষেত্রে ব্যবহারের মতো ।format % values%sprintf()যদি ফর্ম্যাটের জন্য একটি একক আর্গুমেন্টের প্রয়োজন হয় তবে মানগুলি একক নন-টিপল অবজেক্ট হতে পারে। 5 অন্যথায়, মানগুলি অবশ্যই বাইট অবজেক্টের বিন্যাস বা একক ম্যাপিং অবজেক্ট (উদাহরণস্বরূপ, একটি অভিধান) দ্বারা নির্দিষ্ট আইটেমের সংখ্যার সাথে অবশ্যই দ্বিখণ্ডিত হতে হবে।কোনও রূপান্তর স্পেসিফায়ারে দুটি বা ততোধিক অক্ষর থাকে এবং নিম্নলিখিত উপাদানগুলি থাকে, যা অবশ্যই এই ক্রমে ঘটে:'%'চরিত্র, যা চিহ্ন সুনির্দিষ্টভাবে উল্লেখ করা শুরু।- ম্যাপিং কী (alচ্ছিক), অক্ষরের একটি প্রথম বন্ধনযুক্ত ক্রম সমন্বিত (উদাহরণস্বরূপ
(somename))। - রূপান্তর পতাকা (alচ্ছিক), যা কিছু রূপান্তর প্রকারের ফলাফলকে প্রভাবিত করে।
- সর্বনিম্ন ক্ষেত্রের প্রস্থ (alচ্ছিক)। যদি
'*'(অ্যাসিটার্ক) হিসাবে নির্দিষ্ট করা থাকে তবে প্রকৃত প্রস্থটি টিউলের পরবর্তী উপাদানগুলি থেকে মানগুলিতে পড়ে এবং রূপান্তর করার জন্য অবজেক্টটি ন্যূনতম ক্ষেত্রের প্রস্থ এবং alচ্ছিক নির্ভুলতার পরে আসে। '.'যথার্থতা (al চ্ছিক), যথাযথভাবে অনুসরণ করে (ডট) হিসাবে দেওয়া হয় । যদি'*'(অ্যাসিটার্ক) হিসাবে নির্দিষ্ট করা থাকে তবে প্রকৃত যথার্থতা টিউলের পরবর্তী উপাদানগুলি থেকে মানগুলিতে পড়ে এবং রূপান্তর করার মানটি নির্ভুলতার পরে আসে।- দৈর্ঘ্য সংশোধক (alচ্ছিক)।
- রূপান্তর প্রকার।
যখন ডান যুক্তি অভিধান (অথবা অন্যান্য ম্যাপিং প্রকার) হয়, তাহলে বাইট বস্তু ফরম্যাটের আবশ্যক যে অভিধান পরে অবিলম্বে সন্নিবেশিত মধ্যে একটি parenthesised ম্যাপিং কী অন্তর্ভুক্ত'%'অক্ষর। ম্যাপিং কীটি ম্যাপিং থেকে ফর্ম্যাট করার মানটি নির্বাচন করে। উদাহরণ স্বরূপ:এক্ষেত্রে কোনও*নির্দিষ্টকারক বিন্যাসে উপস্থিত নাও হতে পারে (যেহেতু তাদের অনুক্রমের পরামিতি তালিকার প্রয়োজন)।রূপান্তর পতাকার অক্ষরগুলি হ'ল:পতাকাঅর্থ'#'মান রূপান্তরটি "বিকল্প ফর্ম" (যেখানে নীচে সংজ্ঞায়িত হয়েছে) ব্যবহার করবে।'0'রূপান্তরটি সংখ্যার মানগুলির জন্য শূন্য প্যাডযুক্ত হবে।'-'রূপান্তরিত মানটি সামঞ্জস্য করা হয়েছে ('0'উভয় দেওয়া থাকলে রূপান্তরটি ওভাররাইড করে )।' '(একটি স্থান) একটি স্বাক্ষরিত রূপান্তর দ্বারা উত্পাদিত ধনাত্মক সংখ্যা (বা খালি স্ট্রিং) এর আগে একটি ফাঁকা ছেড়ে যাওয়া উচিত।'+'একটি সাইন অক্ষর ('+'বা'-') রূপান্তর হওয়ার আগে (একটি "স্পেস" পতাকাটিকে ওভাররাইড করে) willএকটি দৈর্ঘ্য সংশোধক (h,,lবাL) উপস্থিত থাকতে পারে তবে পাইথনের জন্য এটি প্রয়োজনীয় নয় বলে এড়ানো হবে - সুতরাং উদাহরণটি%ldঅভিন্ন%d।রূপান্তর প্রকারগুলি হ'ল:পরিবর্তনঅর্থনোট'd'দশমিক দশমিক'i'দশমিক দশমিক'o'স্বাক্ষরিত অষ্টাল মান।(1)'u'অপ্রচলিত ধরণ - এটি এর অনুরূপ'd'।(8)'x'স্বাক্ষরিত হেক্সাডেসিমাল (ছোট হাতের অক্ষর)।(2)'X'স্বাক্ষরিত হেক্সাডেসিমাল (বড় হাতের অক্ষর)।(2)'e'ভাসমান পয়েন্ট সূচকীয় বিন্যাস (ছোট হাতের অক্ষর)।(3)'E'ফ্লোটিং পয়েন্ট এক্সফোনেনিয়াল ফর্ম্যাট (বড় হাতের অক্ষর)।(3)'f'ভাসমান পয়েন্ট দশমিক ফর্ম্যাট।(3)'F'ভাসমান পয়েন্ট দশমিক ফর্ম্যাট।(3)'g'ভাসমান পয়েন্ট বিন্যাস। ক্ষতিকারক -4 এর চেয়ে কম বা নির্ভুলতার চেয়ে কম না হলে, দশমিক বিন্যাস অন্যথায় লোয়ারকেস সূচকীয় ফর্ম্যাট ব্যবহার করে।(4)'G'ভাসমান পয়েন্ট বিন্যাস। ক্ষুদ্রতর -4 এর চেয়ে কম বা নির্ভুলতার চেয়ে কম না হলে, দশমিক বিন্যাসটি অন্যথায় বড় হাতের অক্ষর বিন্যাস ব্যবহার করে।(4)'c'একক বাইট (পূর্ণসংখ্যা বা একক বাইট অবজেক্ট গ্রহণ করে)।'b'(5)'s''s''b'এটির একটি নাম এবং এটি কেবল পাইথন 2/3 কোড বেসগুলির জন্য ব্যবহার করা উচিত।(6)'a'বাইটস (যে কোনও পাইথন অবজেক্ট ব্যবহার করে রূপান্তর করেrepr(obj).encode('ascii','backslashreplace))।(5)'r''r''a'এটির একটি নাম এবং এটি কেবল পাইথন 2/3 কোড বেসগুলির জন্য ব্যবহার করা উচিত।(7)'%'কোনও যুক্তি রূপান্তরিত হয় না, ফলস্বরূপ একটি'%'চরিত্রের ফলাফল হয়।নোট:- বিকল্প ফর্মটি
'0o'প্রথম অঙ্কের আগে একটি শীর্ষস্থানীয় অক্টাল স্পেসিফায়ার ( ) সন্নিবেশ করায়। - বিকল্প ফর্মটি প্রথম অঙ্কের আগে একটি নেতৃস্থানীয়
'0x'বা'0X'('x'বা'X'ফর্ম্যাটটি ব্যবহৃত হয়েছিল কিনা তার উপর নির্ভর করে ) সন্নিবেশ করায়। - কোনও বিকল্প এটি অনুসরণ না করে এমনকি বিকল্প ফর্মের ফলে ফলাফলকে সর্বদা দশমিক পয়েন্ট থাকে।যথার্থতা দশমিক বিন্দুর পরে অঙ্কের সংখ্যা নির্ধারণ করে এবং 6 এ ডিফল্ট হয়।
- বিকল্প ফর্মের ফলে ফলাফলটি সর্বদা দশমিক বিন্দুতে থাকে এবং পিছনে জেরোগুলি অন্যথায় যেমন হয় তেমনভাবে সরানো হয় না।নির্ভুলতা দশমিক বিন্দুর আগে এবং পরে উল্লেখযোগ্য সংখ্যার সংখ্যা নির্ধারণ করে এবং 6 এ ডিফল্ট হয়।
- যদি নির্ভুলতা হয়
Nতবে আউটপুটটিNঅক্ষরগুলিতে ছিন্ন হয়ে যায় । b'%s'অবচয় করা হয়েছে, তবে 3.x সিরিজের সময় সরানো হবে না।b'%r'অবচয় করা হয়েছে, তবে 3.x সিরিজের সময় সরানো হবে না।
বিঃদ্রঃএই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।আরো দেখুনপিইপি 461 - বাইটস এবং বাইটারিতে% ফর্ম্যাট যুক্ত করা3.5 সংস্করণে নতুন।স্মৃতি দেখেছে
memoryviewঅবজেক্টগুলি পাইথন কোডটিকে এমন কোনও সামগ্রীর অভ্যন্তরীণ ডেটা অ্যাক্সেস করার অনুমতি দেয় যা অনুলিপি ছাড়াই বাফার প্রোটোকল সমর্থন করে ।- বর্গ
memoryview( আপত্তি ) - একটি আপত্তি
memoryviewরেফারেন্স তৈরি করুন । আপত্তি অবশ্যই বাফার প্রোটোকল সমর্থন করবে। বাফার প্রোটোকল সমর্থন করে অন্তর্নির্মিত অবজেক্টের মধ্যে রয়েছে এবং ।bytesbytearrayএকটিmemoryviewএকটি ধারণা হয়েছে উপাদান , যা পারমাণবিক মেমরির ইউনিট উদ্ভব বস্তু দ্বারা পরিচালিত হয় obj । অনেকগুলি সাধারণ ধরণের যেমনbytesএবং এর জন্যbytearray, একটি উপাদান একটি একক বাইট হয়, তবে অন্যান্য ধরণের যেমনarray.arrayবড় উপাদান থাকতে পারে।len(view)দৈর্ঘ্যের সমানtolist। যদি , দৈর্ঘ্য 1 হয় , তবে দৈর্ঘ্যটি ভিউটিতে থাকা সংখ্যার সমান। উচ্চ মাত্রার জন্য, দৈর্ঘ্যটি ভিড়ের নেস্টেড তালিকা উপস্থাপনের দৈর্ঘ্যের সমান। অ্যাট্রিবিউট আপনি একটি একক উপাদানের ক্ষেত্রে বাইটের সংখ্যা দিতে হবে।view.ndim = 0view.ndim = 1itemsizeএকটিmemoryviewতার তথ্য প্রকাশের জন্য স্লাইসিং এবং ইনডেক্সিং সমর্থন করে। এক-মাত্রিক কাটলে একটি সংক্ষিপ্তসার তৈরি হবে:যদি মডিউলটিরformatকোনও স্থানীয় ফর্ম্যাট স্পেসিফায়ার হয় তবেstructপূর্ণসংখ্যা বা একটি পূর্ণসংখ্যার সংখ্যার সাথে সূচকগুলিও সমর্থিত এবং সঠিক প্রকারের সাথে একটি একক উপাদানকে ফেরত দেয়। এক-মাত্রিক মেমরিভিউগুলিকে একটি পূর্ণসংখ্যা বা এক-পূর্ণসংখ্যার টিপলের সাথে সূচকযুক্ত করা যেতে পারে। মাল্টি-ডাইমেনশনাল মেমোরিভিউগুলি ঠিক এনডিআইএম পূর্ণসংখ্যার টিপলগুলির সাথে সূচিযুক্ত করা যেতে পারে যেখানে এনডিআইএম হল মাত্রার সংখ্যা। শূন্য-মাত্রিক মেমরিভিউগুলি খালি টিপলের সাথে সূচিযুক্ত করা যেতে পারে।এখানে বাই-বাইট বিন্যাস সহ একটি উদাহরণ রয়েছে:অন্তর্নিহিত অবজেক্টটি যদি লিখনযোগ্য হয় তবে মেমরিভিউটি এক-মাত্রিক স্লাইস অ্যাসাইনমেন্টটিকে সমর্থন করে। পুনরায় আকার দেওয়ার অনুমতি নেই:'বি', 'বি' বা 'সি' ফর্ম্যাটগুলির সাথে হ্যাশেবল (কেবল পঠনযোগ্য) ধরণের এক-মাত্রিক মেমরিভিউগুলিও হ্যাশেবল। হ্যাশ হিসাবে সংজ্ঞায়িত করা হয় :hash(m) == hash(m.tobytes())সংস্করণ 3.3 এ পরিবর্তিত হয়েছে: এক-মাত্রিক মেমরির ভিউগুলি এখন কাটা যাবে। 'বি', 'বি' বা 'সি' ফর্ম্যাটগুলির সাথে এক-মাত্রিক মেমরিভিউগুলি এখন হ্যাশযোগ্য।সংস্করণ 3.4 এ পরিবর্তিত হয়েছে: মেমরিভিউটি এখন স্বয়ংক্রিয়ভাবে নিবন্ধিত হয়েছেcollections.abc.Sequence৩.৩ সংস্করণে পরিবর্তিত হয়েছে: মেমরিভিউগুলি এখন পূর্ণসংখ্যার টুপল দিয়ে সূচকযুক্ত করা যেতে পারে।memoryviewবিভিন্ন পদ্ধতি রয়েছে:__eq__( রফতানিকারী )- একটি স্মৃতিদর্শন এবং ক পিইপি 3118 রফতানিকারী সমান হয় যদি তাদের আকারগুলি সমান হয় এবং অপারেন্ডসের সংশ্লিষ্ট ফরম্যাট কোডগুলি
structসিনট্যাক্সব্যবহার করে ব্যাখ্যা করা হয় তখন সমস্ত সম্পর্কিত মান সমান হয়।structফর্ম্যাট স্ট্রিংগুলির উপসেটের জন্য বর্তমানে সমর্থিতtolist(),vএবংwসমান হলে :v.tolist() == w.tolist()যদি কোনও ফর্ম্যাট স্ট্রিংstructমডিউল দ্বারা সমর্থিত না হয় তবে অবজেক্টগুলি সর্বদা অসম হিসাবে তুলনা করবে (এমনকি বিন্যাসের স্ট্রিং এবং বাফার সামগ্রীগুলি একরকম হলেও):উল্লেখ্য, ফ্লোটিং পয়েন্ট সংখ্যার হিসাবে, নেই না পরোক্ষভাবে memoryview অবজেক্টের জন্য।v is wv == wসংস্করণ ৩.৩-তে পরিবর্তিত হয়েছে: পূর্ববর্তী সংস্করণগুলি আইটেমের ফর্ম্যাট এবং লজিকাল অ্যারে কাঠামোকে উপেক্ষা করে কাঁচা মেমরিটিকে তুলনা করে।
tobytes( অর্ডার = কিছুই নেই )-
অ-সংযুক্ত অ্যারেগুলির জন্য ফলাফলগুলি বাইটে রূপান্তরিত সমস্ত উপাদানগুলির সাথে সমতল তালিকা উপস্থাপনার সমান। মডিউল সিনট্যাক্সে নেই এমনগুলি
tobytes()সহ সমস্ত ফর্ম্যাট স্ট্রিং সমর্থন করেstruct।সংস্করণ 3.8 এ নতুন: অর্ডারটি 'সি', 'এফ', 'এ'} হতে পারে} অর্ডার যখন 'সি' বা 'এফ' হয়, মূল অ্যারের ডেটা সি বা ফোর্টরান অর্ডারে রূপান্তরিত হয়। সংমিশ্রিত দর্শনগুলির জন্য, 'এ' শারীরিক স্মৃতির সঠিক কপি দেয় returns বিশেষত, ইন-মেমরি ফোর্টরান অর্ডার সংরক্ষণ করা হয়। স্বতঃস্ফূর্ত দেখার জন্য, ডেটা প্রথমে সিতে রূপান্তরিত হয়। অর্ডার = কোনটি হিসাবে একই ক্রম = 'সি' ।
hex( )- বাফারের প্রতিটি বাইটের জন্য দুটি হেক্সাডেসিমাল অঙ্কযুক্ত একটি স্ট্রিং অবজেক্ট ফিরিয়ে দিন।3.5 সংস্করণে নতুন।
tolist( )- উপাদানগুলির তালিকা হিসাবে বাফারে ডেটা ফেরত দিন।
toreadonly( )- মেমরিভিউ অবজেক্টের একটি পঠনযোগ্য সংস্করণ ফিরিয়ে দিন। মূল মেমরিভিউ অবজেক্টটি অপরিবর্তিত।সংস্করণে নতুন 3.8।
release( )- মেমরিভিউ অবজেক্ট দ্বারা প্রকাশিত অন্তর্নিহিত বাফারটি প্রকাশ করুন। অনেকগুলি অবজেক্ট বিশেষ পদক্ষেপ নেয় যখন তাদের উপর দৃষ্টিভঙ্গি রাখা হয় (উদাহরণস্বরূপ, একটি
bytearrayসাময়িকভাবে আকার পরিবর্তন করতে নিষেধ করবে); অতএব, কলিং রিলিজ () যত তাড়াতাড়ি সম্ভব এই বিধিনিষেধগুলি অপসারণ (এবং কোনও ঝুঁকিপূর্ণ সম্পদ মুক্ত করুন) সুবিধাজনক।এই পদ্ধতিটি আহ্বানের পরে, দৃশ্যে আর কোনও ক্রিয়াকলাপ একটি উত্থাপন করেValueError(release()নিজে বাদে যাকে একাধিকবার বলা যেতে পারে):কনটেক্সট ম্যানেজমেন্ট প্রোটোকলটিwithবিবৃতিটি ব্যবহার করে অনুরূপ প্রভাবের জন্য ব্যবহার করা যেতে পারে :সংস্করণে নতুন 3.2।
cast( বিন্যাস [ , আকৃতি ] )- একটি নতুন ফর্ম্যাট বা আকারে একটি মেমরিভিউ কাস্ট করুন। আকৃতিটি ডিফল্ট হিসাবে
[byte_length//new_itemsize], যার অর্থ ফলাফলের দৃষ্টিভঙ্গি এক-মাত্রিক হবে। রিটার্ন মানটি একটি নতুন স্মৃতিদর্শন, তবে বাফার নিজেই অনুলিপি করা হয় না। সমর্থিত কাস্ট 1D হয় -> সি সংলগ্ন এবং সি-সংলগ্ন -> 1D।গন্তব্য বিন্যাসstructসিনট্যাক্সে একক উপাদান নেটিভ ফর্ম্যাট মধ্যে সীমাবদ্ধ । ফর্ম্যাটগুলির মধ্যে একটি অবশ্যই বাইট ফর্ম্যাট হতে হবে ('বি', 'বি' বা 'সি')। ফলাফলের বাইট দৈর্ঘ্য অবশ্যই মূল দৈর্ঘ্যের সমান হতে হবে।1D / দীর্ঘ থেকে 1 ডি / স্বাক্ষরযুক্ত বাইটগুলি কাস্ট করুন:1D / চারটিতে 1D / স্বাক্ষরযুক্ত বাইটগুলি কাস্ট করুন:1D / বাইট 3 ডি / ইনটগুলিতে 1D / স্বাক্ষরিত চরকে কাস্ট করুন:1D / স্বাক্ষরযুক্ত লম্বা 2D / স্বাক্ষরবিহীন দীর্ঘ:৩.৩ সংস্করণে নতুন।3.5 সংস্করণে পরিবর্তিত হয়েছে: বাইট ভিউতে কাস্ট করার সময় উত্স ফর্ম্যাটটি আর সীমাবদ্ধ নেই is
এছাড়াও বেশ কয়েকটি পঠনযোগ্য বৈশিষ্ট্য উপলব্ধ:obj- স্মৃতি দর্শনের অন্তর্নিহিত অবজেক্ট:৩.৩ সংস্করণে নতুন।
nbytesnbytes == product(shape) * itemsize == len(m.tobytes())। এটি বাইটে স্থানের পরিমাণ যা অ্যারেটি একটি প্রতিনিধিত্বমূলক উপায়ে ব্যবহার করবে। এটি সমানভাবে অগত্যা নয়len(m):বহুমাত্রিক অ্যারে:৩.৩ সংস্করণে নতুন।
readonly- একটি মুল স্মৃতি কেবল পঠিত কিনা তা নির্দেশ করে।
formatstructদৃশ্যে প্রতিটি উপাদানের বিন্যাস ( মডিউল শৈলীতে) যুক্ত স্ট্রিং । স্বেচ্ছাসেবী বিন্যাসের স্ট্রিং সহ রফতানিকারকদের থেকে একটি মেমরিভিউ তৈরি করা যেতে পারে তবে কিছু পদ্ধতি (যেমনtolist()) স্থানীয় একক উপাদান বিন্যাসে সীমাবদ্ধ।সংস্করণ 3.3 এ পরিবর্তিত হয়েছে:'B'স্ট্রাক্ট মডিউল সিনট্যাক্স অনুযায়ী ফর্ম্যাটটি এখন পরিচালনা করা হয়। এর অর্থ ।memoryview(b'abc')[0] == b'abc'[0] == 97
itemsize- মেমোরিভিউয়ের প্রতিটি উপাদানটির বাইটের আকার:
ndim- একটি পূর্ণসংখ্যা নির্দেশ করে যে বহুমাত্রিক অ্যারেটির কত মাত্রা মেমরিটি উপস্থাপন করে।
shape-
সংস্করণ ৩.৩ এ পরিবর্তিত হয়েছে:
Noneযখন এনডিআইএম = 0 এর পরিবর্তে একটি খালি টিপল ।
stridesndimঅ্যারের প্রতিটি মাত্রার জন্য প্রতিটি উপাদান অ্যাক্সেস করতে বাইটে আকার দেওয়ার দৈর্ঘ্যের পূর্ণসংখ্যার একটি অংশ ।সংস্করণ ৩.৩ এ পরিবর্তিত হয়েছে:Noneযখন এনডিআইএম = 0 এর পরিবর্তে একটি খালি টিপল ।
suboffsets- পিল স্টাইল অ্যারেগুলির জন্য অভ্যন্তরীণভাবে ব্যবহৃত। মানটি কেবল তথ্যগত।
c_contiguous-
৩.৩ সংস্করণে নতুন।
f_contiguous-
৩.৩ সংস্করণে নতুন।
contiguous-
৩.৩ সংস্করণে নতুন।
প্রকারের সেট করুন -
set,frozensetএকটি সেট অবজেক্টটি স্বতন্ত্র হ্যাশেবল অবজেক্টগুলির একটি আনর্ডার্ড সংগ্রহ । সাধারণ ব্যবহারগুলির মধ্যে সদস্যতা পরীক্ষা, ক্রম থেকে সদৃশ অপসারণ এবং গণিতের ক্রিয়াকলাপ যেমন ছেদ, ইউনিয়ন, পার্থক্য এবং প্রতিসম পার্থক্য অন্তর্ভুক্ত include (অন্যান্য পাত্রে জন্য বিল্ট ইন দেখতেdict,listএবংtupleক্লাস, এবংcollectionsমডিউল।)অন্যান্য সংগ্রহগুলি মতো সেট সমর্থন , এবং । একটি আনর্ডারড সংগ্রহ হিসাবে সেটগুলি উপাদান অবস্থান বা সন্নিবেশের ক্রম রেকর্ড করে না। তদনুসারে, সেটগুলি ইনডেক্সিং, স্লাইসিং বা অন্যান্য ক্রম-জাতীয় আচরণের সমর্থন করে না।x in setlen(set)for x in setবর্তমানে দুটি অন্তর্নির্মিত সেট প্রকার রয়েছেsetএবংfrozenset।setটাইপ চপল হয় - বিষয়বস্তু মত পদ্ধতি ব্যবহার করে পরিবর্তন করা যাবেadd()এবংremove()। যেহেতু এটি পরিবর্তনীয়, তাই এর কোনও হ্যাশ মান নেই এবং এটি অভিধান কী বা অন্য কোনও সেট এর উপাদান হিসাবে ব্যবহার করা যায় না।frozensetটাইপ অপরিবর্তনীয় এবং hashable - পরে এটি তৈরি করা হয় এটির সামগ্রীগুলি রদবদল করা যায় না; সুতরাং এটি অভিধান কী বা অন্য সেটের উপাদান হিসাবে ব্যবহার করা যেতে পারে।নন-খালি সেট (হিমায়িত নয়) ব্রেসগুলির মধ্যে কমা দ্বারা পৃথক করা উপাদানগুলির তালিকা রেখে তৈরি করা যেতে পারে, উদাহরণস্বরূপ:, নির্মাণকারী ছাড়াও ।{'jack', 'sjoerd'}setউভয় শ্রেণীর জন্য নির্মাতারা একই কাজ করে:- বর্গ
set( [ iterable ] ) - বর্গ
frozenset( [ iterable ] ) - একটি নতুন সেট বা frozenset বস্তুর যার উপাদান থেকে নেয়া হয় ফিরে যাও iterable । একটি সেটের উপাদানগুলি অবশ্যই হ্যাশেবল হতে হবে । সেটগুলির সেট উপস্থাপন করতে, অভ্যন্তরীণ সেটগুলি অবশ্যই
frozensetঅবজেক্ট হতে হবে । যদি পুনরাবৃত্তিযোগ্য নির্দিষ্ট না করা থাকে তবে একটি নতুন খালি সেট ফিরে আসে।len(s)- সেটে উপাদানের সংখ্যা ফিরুন গুলি (এর cardinality গুলি )।
x in s- এস সদস্যপদ জন্য পরীক্ষা এক্স ।
x not in s- টেস্ট x অ সদস্যপদের জন্য গুলি ।
isdisjoint( অন্যান্য )- ফিরুন
Trueযদি সেট সঙ্গে সাধারণ কোন উপাদান রয়েছে অন্যান্য । সেটগুলি বিচ্ছিন্ন হয় যদি এবং কেবল যদি তাদের ছেদটি ফাঁকা সেট হয়।
issubset( অন্যান্য )set <= other- পরীক্ষা কিনা সেট প্রতিটি উপাদান রয়েছে অন্যান্য ।
set < other- কিনা সেট টেস্টের একটি প্রকৃত উপসেট অন্যান্য , যে ।
set <= other and set != other
issuperset( অন্যান্য )set >= other- অন্য প্রতিটি উপাদান সেটে রয়েছে কিনা পরীক্ষা করুন ।
set > other- কিনা সেট টেস্টের একটি সঠিক সুপারসেটও হয় অন্যান্য , যে ।
set >= other and set != other
union( * অন্যান্য )set | other | ...- সেট থেকে অন্যান্য সমস্ত কিছুর সাথে একটি নতুন সেট ফিরে আসুন।
intersection( * অন্যান্য )set & other & ...- সেটে সাধারণ উপাদান এবং অন্য সকলের সাথে একটি নতুন সেট ফিরে আসুন।
difference( * অন্যান্য )set - other - ...- অন্যটিতে নেই এমন সেটের উপাদানগুলির সাথে একটি নতুন সেট ফেরত দিন।
symmetric_difference( অন্যান্য )set ^ other- সেটটিতে বা অন্য দুটি নয় তবে উপাদানগুলির সাথে একটি নতুন সেট ফেরত দিন ।
copy( )- সেটটির অগভীর অনুলিপি ফিরিয়ে দিন।
মনে রাখবেন, অ-অপারেটর সংস্করণunion(),intersection(),difference(), এবংsymmetric_difference(),issubset()এবংissuperset()পদ্ধতি একটি আর্গুমেন্ট কোন iterable গ্রহণ করব। বিপরীতে, তাদের অপারেটর ভিত্তিক সমকক্ষদের তাদের আর্গুমেন্টগুলি সেট করা দরকার। এটি ত্রুটি-ঝুঁকির মতো নির্মাণকে আরও পাঠযোগ্য পক্ষে সমর্থন করে ।set('abc') & 'cbs'set('abc').intersection('cbs')উভয়setএবংfrozensetসমর্থন তুলনা সেট সেট। দুটি সেট সমান হয় এবং কেবল যদি প্রতিটি সেটের প্রতিটি উপাদান অপরটিতে থাকে (প্রতিটি অন্যটির উপসেট হয়)। একটি সেট অন্য সেটের চেয়ে কম এবং যদি প্রথম সেটটি দ্বিতীয় সেটটির উপযুক্ত উপসেট হয় (সাবসেট হয় তবে সমান নয়)। একটি সেট অন্য সেটগুলির চেয়ে বড় হয় এবং কেবলমাত্র যদি প্রথম সেটটি দ্বিতীয় সেটটির যথাযথ সুপারসেট হয় (সুপারসেট হয় তবে সমান হয় না)।উদাহরণগুলি তাদের সদস্যদের উপর ভিত্তি করেsetদৃষ্টান্তগুলির সাথে তুলনা করা হয়frozenset। উদাহরণস্বরূপ, রিটার্ন এবং তাই করে ।set('abc') == frozenset('abc')Trueset('abc') in set([frozenset('abc')])সাবসেট এবং সমতার তুলনাগুলি মোট অর্ডারিং ফাংশনে সাধারণীকরণ করে না। উদাহরণস্বরূপ, কোন দুটি nonempty গ্রন্থিচ্যুত সেট সমান নয়, তাই এবং একে অপরের সাব-সেট নির্বাচন নয় সব নিম্নলিখিত ফেরতেরFalse:a<b,a==bবা,a>b।যেহেতু সেটগুলি কেবলমাত্র আংশিক ক্রম (সাবসেট সম্পর্ক) সংজ্ঞায়িত করে,list.sort()পদ্ধতির আউটপুট সেটগুলির তালিকাগুলির জন্য অপরিজ্ঞাত।বাইনারি অপারেশনগুলি যা প্রথম অপারেন্ডের প্রকারেরsetসাথে উদাহরণগুলির সাথে মিশেfrozenset। উদাহরণস্বরূপ: এর উদাহরণ দেয় ।frozenset('ab') | set('bc')frozensetনিম্নলিখিত টেবিলের জন্য উপলব্ধ অপারেশনগুলি তালিকাভুক্ত করেsetযা এর পরিবর্তনীয় দৃষ্টান্তগুলিতে প্রযোজ্য নাfrozenset:update( * অন্যান্য )set |= other | ...- অন্যদের থেকে উপাদান যুক্ত করে সেটটি আপডেট করুন।
intersection_update( * অন্যান্য )set &= other & ...- এতে এবং অন্যান্য সমস্তগুলিতে পাওয়া উপাদানগুলি রেখে সেটটি আপডেট করুন।
difference_update( * অন্যান্য )set -= other | ...- অন্যকে পাওয়া উপাদানগুলি সরিয়ে সেটটি আপডেট করুন।
symmetric_difference_update( অন্যান্য )set ^= other- উভয় সেটে কেবলমাত্র উপাদান পাওয়া গেলেও সেটটি আপডেট করুন।
add( আইটেম )- সেটে এলিমেন্ট এলিম যোগ করুন ।
remove( আইটেম )
discard( আইটেম )- এলিম উপস্থিত থাকলে সেট থেকে এলিমিট সরিয়ে ফেলুন ।
pop( )
clear( )- সেট থেকে সমস্ত উপাদান সরান।
মনে রাখবেন, অ-অপারেটর সংস্করণupdate(),intersection_update(),difference_update(), এবংsymmetric_difference_update()পদ্ধতি কোনো iterable একটি আর্গুমেন্ট হিসাবে গ্রহণ করব।মনে রাখবেন, ELEM আর্গুমেন্ট প্রাপ্ত করতে__contains__(),remove()এবংdiscard()পদ্ধতি একটি সেট করা যেতে পারে। সমতুল্য হিমশৈলীর সন্ধানের জন্য, এলেম থেকে একটি অস্থায়ী তৈরি করা হয় ।
ম্যাপিং প্রকার -
dictএকটি ম্যাপিং অবজেক্ট মানচিত্রের যথেচ্ছ বস্তুগুলিতে হ্যাশযোগ্য মানগুলি। ম্যাপিংগুলি পরিবর্তনীয় অবজেক্ট। বর্তমানে অভিধানের একমাত্র মানক ম্যাপিংয়ের ধরণ রয়েছে । (অন্যান্য পাত্রে জন্য বিল্ট ইন দেখতেlist,setএবংtupleক্লাস, এবংcollectionsমডিউল।)অভিধানের কীগুলি প্রায় স্বেচ্ছাচারিত মান। যে মানগুলি হ্যাশেবল নয়, অর্থাত্ তালিকাগুলি, অভিধান বা অন্যান্য পরিবর্তনীয় ধরণের মানগুলি (যা বস্তুর পরিচয়ের পরিবর্তে মানের সাথে তুলনা করা হয়) কী হিসাবে ব্যবহার করা যাবে না। কীগুলির জন্য ব্যবহৃত সংখ্যাসূচক সংখ্যাগুলি সংখ্যার তুলনার জন্য সাধারণ নিয়মকে মান্য করে: যদি দুটি সংখ্যা সমান (যেমন1এবং1.0) এর তুলনা করে তবে সেগুলি একই অভিধানে প্রবেশের সূচকে বিনিময়ভাবে ব্যবহার করা যেতে পারে। (তবে খেয়াল করুন, যেহেতু কম্পিউটারগুলি ভাসমান-পয়েন্ট সংখ্যাগুলিকে আনুমানিক হিসাবে সংরক্ষণ করে তবে সাধারণত অভিধান কী হিসাবে এগুলি ব্যবহার করা বুদ্ধিমানের কাজ নয়))ধনুর্বন্ধনীগুলির মধ্যে জোড়গুলির কমা দ্বারা পৃথক করা তালিকা রেখে উদাহরণস্বরূপ: বা , বা কনস্ট্রাক্টর দ্বারা তৈরি করা যেতে পারে ।key: value{'jack': 4098, 'sjoerd': 4127}{4098: 'jack', 4127: 'sjoerd'}dict- বর্গ
dict( ** কোয়ার্গ ) - বর্গ
dict( ম্যাপিং , ** কোয়ার্গ ) - শ্রেণি
dict( পুনরাবৃত্ত , ** কোয়ার্গ ) - একটি alচ্ছিক অবস্থানগত আর্গুমেন্ট এবং কীওয়ার্ড আর্গুমেন্টের সম্ভবত খালি সেট থেকে শুরু করা একটি নতুন অভিধানটি ফেরত দিন।যদি কোনও স্থিতি যুক্তি না দেওয়া হয় তবে একটি খালি অভিধান তৈরি করা হয়। যদি কোনও স্থিতিযুক্ত আর্গুমেন্ট দেওয়া হয় এবং এটি ম্যাপিং অবজেক্ট হয় তবে ম্যাপিং অবজেক্টের মতো একই কী-মান জোড়া দিয়ে একটি অভিধান তৈরি করা হয়। অন্যথায়, অবস্থানগত আর্গুমেন্ট অবশ্যই একটি পুনরাবৃত্তিযোগ্য অবজেক্ট হতে হবে । পুনরাবৃত্তীয় প্রতিটি আইটেম নিজেই ঠিক দুটি বস্তুর সাথে একটি পুনরাবৃত্ত হতে হবে। প্রতিটি আইটেমের প্রথম অবজেক্টটি নতুন অভিধানে একটি কী হয়ে যায় এবং দ্বিতীয়টি সংশ্লিষ্ট মানটিকে লক্ষ্য করে। যদি কোনও কী একাধিকবার ঘটে থাকে তবে সেই কীটির শেষ মানটি নতুন অভিধানে সংশ্লিষ্ট মান হয়।যদি কীওয়ার্ড আর্গুমেন্ট দেওয়া হয়, মূলশব্দ আর্গুমেন্ট এবং তাদের মানগুলি অবস্থানগত আর্গুমেন্ট থেকে তৈরি অভিধানে যুক্ত করা হয়। যদি একটি কী যুক্ত করা হচ্ছে যদি ইতিমধ্যে উপস্থিত থাকে, মূলশব্দ আর্গুমেন্টের মানটি স্থিতিক যুক্তি থেকে মানটিকে প্রতিস্থাপন করে।উদাহরণস্বরূপ, নিম্নলিখিত উদাহরণগুলি সমস্ত সমান একটি অভিধান প্রদান করে :
{"one": 1, "two": 2, "three": 3}প্রথম উদাহরণ হিসাবে কীওয়ার্ড আর্গুমেন্ট সরবরাহ করা কেবল এমন কীগুলির জন্য কাজ করে যা বৈধ পাইথন শনাক্তকারী। অন্যথায়, কোনও বৈধ কী ব্যবহার করা যেতে পারে।এই অভিধানগুলি সমর্থন করে এমন অপারেশনগুলি (এবং সেইজন্য, কাস্টম ম্যাপিংয়ের ধরণগুলিও সমর্থন করে):list(d)- সব অভিধানে ব্যবহৃত কী-একটি তালিকা ফিরুন ঘ ।
len(d)- অভিধানে আইটেমের সংখ্যা প্রদান করুন d ।
d[key]-
অভি একটি উপশ্রেণী একটি পদ্ধতি সংজ্ঞায়িত করে এমন
__missing__()এবং কী উপস্থিত না থাকলে,d[key]অপারেশন কী দিয়ে যে পদ্ধতি কল কী আর্গুমেন্ট হিসাবে।d[key]অপারেশন তারপর আয় বা উত্থাপন যাই হোক না কেন দ্বারা ফিরে বা উত্থাপিত হয়__missing__(key)কল। অন্য কোনও ক্রিয়াকলাপ বা পদ্ধতি চাওয়া হয় না__missing__()। যদি__missing__()সংজ্ঞায়িত করা হয় না,KeyErrorউত্থাপিত হয়।__missing__()একটি পদ্ধতি হতে হবে; এটি উদাহরণের পরিবর্তনশীল হতে পারে না:উপরের উদাহরণটি বাস্তবায়নের অংশ দেখায়collections.Counter। একটি আলাদা__missing__পদ্ধতি ব্যবহার করেcollections.defaultdict।
d[key] = value- সেট
d[key]থেকে মান ।
del d[key]
key in d- রিটার্ন
Trueযদি ঘ একটি কী হয়েছে কী অন্যFalse।
key not in d- সমান ।
not key in d
iter(d)- অভিধানের কীগুলির উপর একটি পুনরাবৃত্তি ফেরান। এটির জন্য একটি শর্টকাট
iter(d.keys())।
clear( )- অভিধান থেকে সমস্ত আইটেম সরান।
copy( )- অভিধানের অগভীর অনুলিপি ফিরিয়ে দিন।
- শ্রেণীবদ্ধ
fromkeys( পুনরাবৃত্তিযোগ্য [ , মান ] ) - থেকে কী এর মাধ্যমে একটি নতুন অভিধান তৈরি করুন iterable সেট ও মূল্যবোধ মান ।
fromkeys()এমন একটি শ্রেণি পদ্ধতি যা একটি নতুন অভিধান দেয়। মান ডিফল্টNone। সমস্ত মানগুলি কেবল একটি একক দৃষ্টিকোণকে উল্লেখ করে, তাই এটি খালি তালিকার মতো একটি পরিবর্তনীয় বস্তু হিসাবে মানটি সাধারণত অর্থে আসে না । স্বতন্ত্র মান পেতে, পরিবর্তে একটি ডিক বোঝাপড়া ব্যবহার করুন।
get( কী [ , ডিফল্ট ] )- জন্য মান কী করে কী অভিধান, অন্য রয়েছে ডিফল্ট । যদি ডিফল্টটি দেওয়া না হয় তবে এটি ডিফল্ট হয়
None, যাতে এই পদ্ধতিটি কখনই উত্থাপন করে নাKeyError।
items( )- অভিধানের আইটেমগুলির একটি নতুন দর্শন ( জোড়া) ফিরিয়ে দিন । ভিউ অবজেক্টের ডকুমেন্টেশন দেখুন ।
(key, value)
keys( )
pop( কী [ , ডিফল্ট ] )- যদি অভিধানে কী থাকে তবে এটিকে সরিয়ে ফেলুন এবং এর মানটি ফিরিয়ে দিন, অন্যথায় ডিফল্ট করুন । যদি ডিফল্টটি দেওয়া না হয় এবং কীটি অভিধানে না থাকে তবে একটি
KeyErrorউত্থাপিত হয়।
popitem( )- অভিধান থেকে একটি জুটি সরিয়ে ফেরা করুন। লিফোর ক্রমে পেয়ারগুলি ফিরিয়ে দেওয়া হয়েছে ।
(key, value)popitem()একটি অভিধানে ধ্বংসাত্মক পুনরাবৃত্তি করতে দরকারী, প্রায়শই সেট অ্যালগরিদমে ব্যবহৃত হয়।popitem()অভিধানটি ফাঁকা থাকলে, কলিংটি উত্থাপন করে aKeyError।সংস্করণ 3.7 এ পরিবর্তিত হয়েছে: লিফোর ক্রমটি এখন গ্যারান্টিযুক্ত। পূর্ববর্তী সংস্করণগুলিতে,popitem()একটি স্বেচ্ছাসেবক কী / মান জুটি ফিরে আসবে।
reversed(d)- অভিধানের কীগুলির উপরে একটি বিপরীত পুনরুদ্ধার করুন। এটির জন্য একটি শর্টকাট
reversed(d.keys())।
setdefault( কী [ , ডিফল্ট ] )- যদি অভিধানে কী থাকে তবে এর মানটি ফিরিয়ে দিন। যদি তা না হয় তবে ডিফল্ট এবং ফেরতের ডিফল্ট মান সহ কী সন্নিবেশ করান । ডিফল্ট ডিফল্ট ।
None
update( [ অন্যান্য ] )- বিদ্যমান কীগুলি ওভাররাইট করে অন্যের কী / মান জোড় দিয়ে অভিধানটি আপডেট করুন । রিটার্ন
None।update()হয় অন্য একটি অভিধান অবজেক্ট বা কী / মান জোড়ার (যা দ্বিগুণ বা দৈর্ঘ্যের অন্যান্য পুনরাবৃত্ত হিসাবে) এর পুনরাবৃত্তিযোগ্য গ্রহণ করে। শব্দ আর্গুমেন্ট নির্ধারিত না হলে অভিধান তারপর ঐ কী / মান জোড়া দিয়ে আপডেট করা হয়: ।d.update(red=1, blue=2)
values( )-
এক
dict.values()দর্শন এবং অন্যের মধ্যে সাম্যের তুলনা সর্বদা ফিরে আসবেFalse।dict.values()নিজের সাথে তুলনা করার সময় এটি প্রযোজ্য :
অভিধানগুলি সমান তুলনা করে তবেই এবং যদি তাদের একই জোড় থাকে (অর্ডার নির্বিশেষে)। অর্ডার তুলনা ('<', '<=', '> =', '>') বৃদ্ধি করুন ।(key, value)TypeErrorঅভিধানগুলি সন্নিবেশ ক্রম সংরক্ষণ করে। নোট করুন যে কোনও কী আপডেট করা অর্ডারকে প্রভাবিত করে না। মুছে ফেলার পরে যুক্ত কীগুলি শেষে sertedোকানো হয়।সংস্করণ 3.7 এ পরিবর্তিত হয়েছে: অভিধান ক্রম সন্নিবেশ ক্রমের গ্যারান্টিযুক্ত। এই আচরণটি সিপিথনের একটি বাস্তবায়ন বিবরণ ছিল 3.6 থেকে।অভিধান এবং অভিধানের দর্শনগুলি বিপরীতমুখী।সংস্করণ 3.8 এ পরিবর্তিত হয়েছে: অভিধানগুলি এখন বিপরীতমুখী।
আরো দেখুনঅভিধান দেখুন অবজেক্টস
বস্তু দ্বারা ফিরেdict.keys(),dict.values()এবংdict.items()হয় বস্তু দৃশ্য । এগুলি অভিধানের এন্ট্রিগুলিতে একটি গতিশীল দৃষ্টিভঙ্গি সরবরাহ করে, যার অর্থ হ'ল অভিধান পরিবর্তিত হলে, দর্শন এই পরিবর্তনগুলি প্রতিবিম্বিত করে।অভিধানের দর্শনগুলি তাদের নিজ নিজ ডেটা উপার্জনের জন্য পুনরায় করা যেতে পারে এবং সদস্যতার পরীক্ষাগুলি সমর্থন করে:len(dictview)- অভিধানে প্রবেশের সংখ্যাটি ফিরিয়ে দিন।
iter(dictview)- অভিধানে কী, মান বা আইটেমগুলির (টিউপল হিসাবে উপস্থাপিত ) উপর একটি পুনরাবৃত্তি ফেরান ।
(key, value)কী এবং মানগুলি সন্নিবেশ ক্রমে পুনরাবৃত্তি করা হয়। এই সৃষ্টির পারবেন ব্যবহার জোড়া : । একই তালিকা তৈরির আর একটি উপায় ।(value, key)zip()pairs = zip(d.values(), d.keys())pairs = [(v, k) for (k, v) in d.items()]অভিধানে এন্ট্রি যুক্ত বা মুছে ফেলার সময় দেখা আইট্রেটিংRuntimeErrorসমস্ত এন্ট্রিগুলিতে পুনরাবৃত্তি করতে বা ব্যর্থ হতে পারে।সংস্করণ 3.7 এ পরিবর্তিত হয়েছে: অভিধান ক্রম সন্নিবেশ ক্রমের গ্যারান্টিযুক্ত।
x in dictview- X অন্তর্নিহিত অভিধানের কী, মান বা আইটেমগুলিতে
Trueথাকলে ফিরে আসুন (পরবর্তী ক্ষেত্রে, x টিউপল হওয়া উচিত )।(key, value)
reversed(dictview)- অভিধানের কী, মান বা আইটেমগুলির বিপরীতে একটি বিপরীত পুনরুদ্ধার করুন। সন্নিবেশের বিপরীত ক্রমে ভিউটি পুনরাবৃত্তি করা হবে।সংস্করণ 3.8 এ পরিবর্তিত হয়েছে: অভিধানের দর্শনগুলি এখন বিপরীতমুখী।
কীগুলির দর্শনগুলি সেট-জাতীয় যেমন তাদের এন্ট্রিগুলি অনন্য এবং হ্যাশযোগ্য। যদি সমস্ত মান হ্যাশযোগ্য হয়, যাতে জোড়গুলি অনন্য এবং হ্যাশযোগ্য হয়, তবে আইটেম ভিউটিও সেট-লাইক। (মানগুলি মতামত চিকিত্সা নেই যেমন সেট মত যেহেতু এন্ট্রি সাধারণত অনন্য নয়।) এর জন্য সেট মত মতামত, অপারেশন বিমূর্ত বেস বর্গ জন্য সংজ্ঞায়িত সব পাওয়া যায় (উদাহরণস্বরূপ, , , অথবা )।(key, value)collections.abc.Set==<^অভিধান দেখুন ব্যবহারের একটি উদাহরণ:প্রসঙ্গ ব্যবস্থাপকের প্রকার
পাইথনেরwithবিবৃতি প্রসঙ্গ পরিচালক দ্বারা সংজ্ঞায়িত রানটাইম প্রসঙ্গে ধারণাটিকে সমর্থন করে। এটি এমন একাধিক পদ্ধতির ব্যবহার করে প্রয়োগ করা হয়েছে যা ব্যবহারকারী-সংজ্ঞায়িত ক্লাসগুলিকে স্টেটমেন্ট বডি কার্যকর হওয়ার আগে এবং স্টেটমেন্ট শেষ হওয়ার পরে প্রস্থান করার আগে প্রবেশ করা একটি রানটাইম প্রসঙ্গটি সংজ্ঞায়িত করতে দেয়:contextmanager.__enter__( )- রানটাইম প্রসঙ্গে প্রবেশ করুন এবং এই বস্তুটি বা রানটাইম প্রসঙ্গে সম্পর্কিত অন্য কোনও বস্তুটি ফিরিয়ে দিন। এই পদ্ধতির দ্বারা প্রত্যাবর্তিত মানটি এই প্রসঙ্গ পরিচালককে ব্যবহার করে বিবৃতিগুলির
asধারাতে সনাক্তকারীকে আবদ্ধwith।একটি কনটেক্সট ম্যানেজারের উদাহরণ যা নিজে ফিরে আসে এটি একটি ফাইল অবজেক্ট । বিবৃতিতেopen()প্রসঙ্গের অভিব্যক্তি হিসাবে ব্যবহারের অনুমতি দেওয়ার জন্য ফাইল অবজেক্টগুলি __enter __ () থেকে নিজেকে ফিরে আসেwith।একটি প্রেক্ষাপটে ম্যানেজার যা একটি সম্পর্কিত বস্তুর ফেরৎ একটি উদাহরণ দ্বারা ফিরে একdecimal.localcontext()। এই পরিচালকগণ মূল দশমিক প্রসঙ্গে একটি অনুলিপিতে সক্রিয় দশমিক প্রসঙ্গ সেট করে এবং তারপরে অনুলিপিটি ফিরিয়ে দেয়। এটি স্টেটমেন্টেরwithবাইরের কোডকে প্রভাবিত না করে বিবৃতিতে মূল দশমিক প্রসঙ্গে পরিবর্তনের অনুমতি দেয়with।
contextmanager.__exit__( exc_type , exc_val , exc_tb )- রানটাইম প্রসঙ্গে প্রস্থান করুন এবং বুলিয়ান পতাকাটি ফিরিয়ে দিন যা নির্দেশ করে যে কোনও ব্যতিক্রম ঘটেছে তা চাপা দেওয়া উচিত। যদি
withবিবৃতিটির মূল অংশটি কার্যকর করার সময় কোনও ব্যতিক্রম ঘটে থাকে তবে যুক্তিগুলিতে ব্যতিক্রমের ধরণ, মান এবং ট্রেসব্যাক তথ্য থাকে contain অন্যথায়, তিনটি আর্গুমেন্ট হয়None।এই পদ্ধতি থেকে সত্য মান প্রত্যাবর্তনের ফলেwithবিবৃতিটি ব্যতিক্রমটিকে দমন করতে পারে এবং বিবৃতি অনুসরণ করার সাথে সাথেই বিবৃতি দিয়ে কার্যকর করা চালিয়ে যায়with। অন্যথায় ব্যতিক্রমটি এই পদ্ধতিটি সম্পাদন শেষ করার পরেও প্রচার চালিয়ে যায়। এই পদ্ধতিটি কার্যকর করার সময় যে ব্যতিক্রমগুলি ঘটে থাকে তাwithবিবৃতিটির শরীরে ঘটে যাওয়া কোনও ব্যতিক্রম প্রতিস্থাপন করবে ।পাস করা ব্যতিক্রমটি কখনই সুস্পষ্টভাবে পুনরায় সংশোধন করা উচিত নয় - পরিবর্তে, পদ্ধতিটি সফলভাবে সম্পন্ন হয়েছে এবং উত্থাপিত ব্যতিক্রমকে দমন করতে চায় না তা নির্দেশ করার জন্য এই পদ্ধতির একটি মিথ্যা মান প্রদান করা উচিত। এটি কোনও__exit__()পদ্ধতি আসলে ব্যর্থ হয়েছে কি না তা সহজেই সনাক্ত করতে কনটেক্সট ম্যানেজমেন্ট কোডটিকে মঞ্জুরি দেয় ।
পাইথন বেশ কয়েকটি প্রসঙ্গ পরিচালককে সহজ থ্রেড সিঙ্ক্রোনাইজেশন, ফাইল বা অন্যান্য অবজেক্টগুলির তাত্ক্ষণিক বন্ধকরণ এবং সক্রিয় দশমিক গাণিতিক প্রসঙ্গে সহজ ম্যানিপুলেশন সমর্থন করে ines প্রসঙ্গ ব্যবস্থাপনার প্রোটোকল প্রয়োগের বাইরে নির্দিষ্ট প্রকারগুলি বিশেষভাবে বিবেচনা করা হয় না।contextlibকিছু উদাহরণের জন্য মডিউলটি দেখুন ।পাইথনের জেনারেটর এবংcontextlib.contextmanagerডেকরেটার এই প্রোটোকলগুলি প্রয়োগ করার জন্য একটি সুবিধাজনক উপায় সরবরাহ করে। যদি কোনও জেনারেটরের ফাংশন ডেকরেটারের সাথে সজ্জিত করা হয় তবেcontextlib.contextmanagerএটি একটি অজানা জেনারেটর ফাংশন দ্বারা উত্পাদিত পুনরুক্তি না করে প্রয়োজনীয়__enter__()এবং__exit__()পদ্ধতিগুলি প্রয়োগ করে একটি প্রসঙ্গ পরিচালককে ফিরিয়ে দেবে ।দ্রষ্টব্য যে পাইথন / সি এপিআই তে পাইথন অবজেক্টের জন্য টাইপ স্ট্রাকচারে এই পদ্ধতির কোনওটির জন্য কোনও স্লট নেই। এই পদ্ধতিগুলি সংজ্ঞায়িত করতে চায় এমন এক্সটেনশন ধরণেরগুলিকে অবশ্যই একটি সাধারণ পাইথন অ্যাক্সেসযোগ্য পদ্ধতি হিসাবে সরবরাহ করতে হবে। রানটাইম প্রসঙ্গে সেট আপ করার ওভারহেডের সাথে তুলনা করে, একক শ্রেণির অভিধানের অনুসন্ধানের ওভারহেডটি নগন্য।অন্যান্য অন্তর্নির্মিত প্রকার
দোভাষী অন্য অনেক ধরণের অবজেক্টকে সমর্থন করে। এর বেশিরভাগই কেবল এক বা দুটি অপারেশন সমর্থন করে।মডিউল
মডিউলটির একমাত্র বিশেষ ক্রিয়াকলাপটি অ্যাট্রিবিউট অ্যাক্সেস:m.nameযেখানে এম একটি মডিউল এবং নামটি এম এর চিহ্ন সারণিতে সংজ্ঞায়িত একটি নাম অ্যাক্সেস করে । মডিউল বৈশিষ্ট্য নির্ধারিত হতে পারে। (নোট যেimportবিবৃতি না, কঠোরভাবে বলতে, একটি মডিউল বস্তুর উপর একটি অপারেশন হয়; একটি মডিউল বস্তু নামে প্রয়োজন হয় না foo বিন্যাস অস্তিত্ব, বরং এটি একটি (বহিরাগত) প্রয়োজন সংজ্ঞা একটি মডিউল নামে জন্য foo বিন্যাস কোথাও।)import fooপ্রতিটি মডিউল একটি বিশেষ বৈশিষ্ট্য হয়__dict__। এটি মডিউলটির প্রতীক সারণী সম্বলিত অভিধান। এই অভিধানটি সংশোধন করা আসলে মডিউলটির প্রতীক টেবিলটিকে বদলে দেবে, তবে__dict__গুণাবলীর সরাসরি অ্যাসাইনমেন্ট সম্ভব নয় (আপনি লিখতে পারবেন , যা হতে সংজ্ঞা দেয় তবে আপনি লিখতে পারবেন না )। সরাসরি সংশোধন করার পরামর্শ দেওয়া হয় না।m.__dict__['a'] = 1m.a1m.__dict__ = {}__dict__অনুবাদক পাতাটা মডিউল ভালো লেখা হয়: । যদি কোনও ফাইল থেকে লোড করা হয় তবে সেগুলি যেমন লেখা থাকে ।<module 'sys' (built-in)><module 'os' from '/usr/local/lib/pythonX.Y/os.pyc'>ক্লাস এবং ক্লাসের উদাহরণ
কার্যাদি
ফাংশন সংজ্ঞা দ্বারা ফাংশন অবজেক্ট তৈরি করা হয়। শুধুমাত্র একটি ফাংশন বস্তুর উপর অপারেশন একে ডাকতে হল:func(argument-list)।ফাংশন অবজেক্টের সত্যই দুটি স্বাদ রয়েছে: বিল্ট-ইন ফাংশন এবং ব্যবহারকারী-সংজ্ঞায়িত ফাংশন। উভয়ই একই ক্রিয়াকলাপটি সমর্থন করে (ফাংশনটি কল করতে), তবে বাস্তবায়ন আলাদা, তাই বিভিন্ন বস্তুর প্রকার।পদ্ধতি
পদ্ধতিগুলি এমন ফাংশন যা এট্রিবিউট নোটেশন ব্যবহার করে ডাকা হয়। দুটি স্বাদ রয়েছে: অন্তর্নির্মিত পদ্ধতি (যেমনappend()তালিকার উপরে) এবং শ্রেণীর উদাহরণ পদ্ধতিগুলি। অন্তর্নির্মিত পদ্ধতিগুলি তাদের সমর্থন করে এমন ধরণের সাথে বর্ণনা করা হয়।যদি আপনি কোনও পদ্ধতির (শ্রেণীর নাম স্থানের মধ্যে সংজ্ঞায়িত ফাংশন) অ্যাক্সেস করেন তবে আপনি একটি বিশেষ অবজেক্ট পাবেন: একটি বাউন্ড মেথড (যাকে ইনস্ট্যান্স মেথডও বলা হয় ) অবজেক্ট। যখন ডাকা হয়, এটিselfযুক্তি তালিকায় যুক্তি যুক্ত করবে । বাউন্ড পদ্ধতিতে দুটি বিশেষ পঠনযোগ্য বৈশিষ্ট্য রয়েছে:m.__self__এটি সেইm.__func__পদক্ষেপ যা পদ্ধতিটি পরিচালনা করে এবং পদ্ধতিটি প্রয়োগকারী ফাংশন। কল করা সম্পূর্ণরূপে কল করার সমতুল্য ।m(arg-1, arg-2, ..., arg-n)m.__func__(m.__self__, arg-1, arg-2, ..., arg-n)ফাংশন অবজেক্টের মতো, সীমাবদ্ধ পদ্ধতি অবজেক্টগুলি স্বেচ্ছাচারিত বৈশিষ্ট্যগুলি সমর্থন করে। তবে যেহেতু পদ্ধতির বৈশিষ্ট্যগুলি প্রকৃতপক্ষে অন্তর্নিহিত ফাংশন অবজেক্টে (meth.__func__) সঞ্চিত থাকে, তাই আবদ্ধ পদ্ধতিতে পদ্ধতি বৈশিষ্ট্যগুলি সেট করা নিষিদ্ধ। একটি পদ্ধতির উপর একটি বৈশিষ্ট্য নির্ধারণের চেষ্টা করাAttributeErrorহচ্ছে যা উত্থাপিত হয়। কোনও পদ্ধতির অ্যাট্রিবিউট সেট করতে, আপনাকে স্পষ্টভাবে এটি অন্তর্নিহিত ফাংশন অবজেক্টে সেট করতে হবে:কোড অবজেক্টস
কোড অবজেক্টগুলি প্রয়োগ করে প্রয়োগ করা হয় "সিউডো-সংকলিত" এক্সিকিউটেবল পাইথন কোড যেমন একটি ফাংশন বডি হিসাবে উপস্থাপন করতে। এগুলি ফাংশন অবজেক্ট থেকে পৃথক হয় কারণ তাদের বিশ্বব্যাপী নির্বাহের পরিবেশের কোনও উল্লেখ নেই। কোড অবজেক্টগুলি বিল্ট-ইনcompile()ফাংশন দ্বারা ফিরে আসে এবং তাদের__code__অ্যাট্রিবিউটের মাধ্যমে ফাংশন অবজেক্ট থেকে বের করা যায় racted মডিউলটিও দেখুনcode।প্রকার অবজেক্টস
প্রকারের বস্তুগুলি বিভিন্ন বস্তুর প্রকারের প্রতিনিধিত্ব করে। কোনও অবজেক্টের ধরণটি অন্তর্নির্মিত ফাংশন দ্বারা অ্যাক্সেস করা হয়type()। প্রকারভেদে কোনও বিশেষ ক্রিয়াকলাপ নেই। মানক মডিউলtypesসমস্ত স্ট্যান্ডার্ড অন্তর্নির্মিত প্রকারের জন্য নামগুলি সংজ্ঞায়িত করে।প্রকারভেদ ভালো লেখা হয়: ।<class 'int'>নাল অবজেক্ট
এই বস্তুটি এমন ফাংশন দ্বারা প্রত্যাবর্তিত হয় যা স্পষ্টভাবে কোনও মান দেয় না। এটি কোনও বিশেষ ক্রিয়াকলাপ সমর্থন করে না। ঠিক একটি নাল বস্তু রয়েছে, নাম দেওয়া হয়েছেNone(একটি অন্তর্নির্মিত নাম)।type(None)()একই সিঙ্গলটন উত্পাদন করে।এটি হিসাবে লেখা হয়None।এলিপসিস অবজেক্ট
এই বস্তুটি সাধারণত কাটা ( টুকরো দেখুন ) দ্বারা ব্যবহৃত হয় । এটি কোনও বিশেষ ক্রিয়াকলাপ সমর্থন করে না। ঠিক ঠিক একটি উপবৃত্ত বস্তু রয়েছে, যার নামEllipsis(একটি অন্তর্নির্মিত নাম)। এককtype(Ellipsis)()উত্পাদনEllipsis।এটা তোলে যেমন লেখা আছেEllipsisবা...।নোটিমিলিটেড অবজেক্ট
এই বস্তুটি তুলনা এবং বাইনারি অপারেশন থেকে ফিরে আসে যখন তাদের সমর্থন না করে এমন ধরণের অপারেট করতে বলা হয়। আরও তথ্যের জন্য তুলনা দেখুন । ঠিক একটিNotImplementedজিনিস আছে।type(NotImplemented)()একক উদাহরণ উত্পাদন করে।এটি হিসাবে লেখা হয়NotImplemented।বুলিয়ান মান
বুলিয়ান মান দুটি ধ্রুবক বস্তুFalseএবংTrue। এগুলি সত্যের মূল্যবোধ উপস্থাপন করতে ব্যবহৃত হয় (যদিও অন্যান্য মানগুলিও মিথ্যা বা সত্য হিসাবে বিবেচিত হতে পারে)। সংখ্যাগত প্রসঙ্গে (উদাহরণস্বরূপ যখন একটি গণিত অপারেটরের যুক্তি হিসাবে ব্যবহৃত হয়), তারা যথাক্রমে 0 এবং 1 এর পূর্ণসংখ্যার মতো আচরণ করে। অন্তর্নির্মিত ফাংশনটিbool()কোনও বুলিয়ানতে কোনও মান রূপান্তর করতে ব্যবহার করা যেতে পারে, যদি মানটি সত্যের মান হিসাবে ব্যাখ্যা করা যায় ( উপরের অংশে সত্যের মান পরীক্ষণ দেখুন )।সেগুলি যথাক্রমেFalseএবং হিসাবে লেখাTrueহয়।অভ্যন্তরীণ অবজেক্টস
এই তথ্যের জন্য মানক ধরণের শ্রেণিবিন্যাস দেখুন । এটি স্ট্যাক ফ্রেম অবজেক্টস, ট্রেসব্যাক অবজেক্টস এবং স্লাইস অবজেক্টগুলিকে বর্ণনা করে।বিশেষ বৈশিষ্ট্য
বাস্তবায়নটি কয়েকটি অবজেক্টের ধরণের সাথে কয়েকটি বিশেষ পাঠযোগ্য কেবলমাত্র বৈশিষ্ট্য যুক্ত করে, যেখানে তারা প্রাসঙ্গিক। এর মধ্যে কিছুdir()বিল্ট-ইন ফাংশন দ্বারা প্রতিবেদন করা হয়নি ।object.__dict__- কোনও অভিধান বা অন্য ম্যাপিং অবজেক্ট কোনও অবজেক্টের (লিখনযোগ্য) বৈশিষ্ট্যগুলি সঞ্চয় করতে ব্যবহৃত হয়।
instance.__class__- যে শ্রেণীর সাথে একটি শ্রেণীর উদাহরণ অন্তর্ভুক্ত।
class.__bases__- একটি শ্রেণীর অবজেক্টের বেস শ্রেণির টিপল।
definition.__name__- শ্রেণীর নাম, ফাংশন, পদ্ধতি, বর্ণনাকারী, বা জেনারেটরের উদাহরণ।
definition.__qualname__- যোগ্যতাসম্পন্ন নাম বর্গ, ফাংশন, পদ্ধতি, বর্ণনাকারী বা জেনারেটরের উদাহরণস্বরূপ করুন।৩.৩ সংস্করণে নতুন।
class.__mro__- এই বৈশিষ্ট্যটি ক্লাসগুলির একটি দ্বীপ যা পদ্ধতির রেজোলিউশনের সময় বেস ক্লাসগুলি সন্ধান করার সময় বিবেচনা করা হয়।
class.mro( )- এই পদ্ধতির উদাহরণগুলির জন্য পদ্ধতির রেজোলিউশন ক্রমটি কাস্টমাইজ করতে কোনও মেটাগ্লাস দ্বারা ওভাররাইড করা যেতে পারে। এটি শ্রেণি তাত্ক্ষণিক বলা হয়, এবং এর ফলাফল সংরক্ষণ করা হয়
__mro__।
class.__subclasses__( )- প্রতিটি শ্রেণি তার তাত্ক্ষণিক সাবক্লাসগুলির দুর্বল উল্লেখগুলির একটি তালিকা রাখে। এই পদ্ধতিটি এখনও জীবিত re সমস্ত উল্লেখের একটি তালিকা ফিরিয়ে দেয়। উদাহরণ:
পাদটিকা- 1
- পাইথন রেফারেন্স ম্যানুয়াল ( বেসিক কাস্টমাইজেশন ) এ এই বিশেষ পদ্ধতির অতিরিক্ত তথ্য পাওয়া যেতে পারে ।
- 2
- ফলস্বরূপ, তালিকাটি সমান এবং একইভাবে টিপলস হিসাবে বিবেচিত হয় ।
[1, 2][1.0, 2.0] - 3
- তাদের অবশ্যই থাকতে হবে যেহেতু পার্সার অপারেডগুলির ধরণটি বলতে পারে না।
- 4 ( 1 , 2 , 3 , 4 )
- ক্যাসেটেড অক্ষরগুলি হ'ল সাধারণ শ্রেণীর সম্পত্তিগুলির সাথে "লু" (চিঠি, বড় হাতের অক্ষর), "এল এল" (চিঠি, ছোট হাতের অক্ষর), বা "লেঃ" (চিঠি, শিরোনাম) being
- 5 ( 1 , 2 )
- কেবলমাত্র একটি টিউপলকে ফর্ম্যাট করতে আপনার একক সিঙ্গলটন টিপল সরবরাহ করা উচিত যার একমাত্র উপাদানটি ফর্ম্যাট করতে হবে up
0 comments:
Post a Comment