Built-in Types
নিম্নলিখিত বিভাগগুলি স্ট্যান্ডার্ড ধরণের বর্ণনা করে যা দোভাষী হিসাবে অন্তর্নির্মিত হয়।
প্রধান অন্তর্নির্মিত প্রকারগুলি হ'ল সংখ্যাসূচক, ক্রম, ম্যাপিংস, শ্রেণিগুলি, দৃষ্টান্ত এবং ব্যতিক্রম and
কিছু সংগ্রহের ক্লাস পরিবর্তনীয়। যে পদ্ধতিগুলি তাদের সদস্যদের জায়গায় যুক্ত করে, বিয়োগ করে বা পুনর্বিন্যাস করে এবং কোনও নির্দিষ্ট আইটেম ফেরত দেয় না, সেগুলি সংগ্রহের উদাহরণটি নিজেই ফিরে আসবে না
None।
কিছু ক্রিয়াকলাপ বিভিন্ন বস্তুর ধরণের দ্বারা সমর্থিত; বিশেষত, কার্যত সমস্ত বস্তুর সমতার জন্য তুলনা করা যায়, সত্য মানের জন্য পরীক্ষা করা হয় এবং একটি স্ট্রিংয়ে রূপান্তর করা যায় (
repr()ফাংশন বা কিছুটা আলাদা str()ফাংশন সহ)। পরের ফাংশনটি স্পষ্টভাবে ব্যবহৃত হয় যখন কোনও বস্তু দ্বারা print()ফাংশনটি লেখা হয় ।সত্য মান পরীক্ষা
যে কোনও বস্তুর সত্য বা মূল্য
ifবা whileশর্তে বা নীচের বুলিয়ান অপারেশনগুলির ব্যবহার হিসাবে পরীক্ষা করা যেতে পারে ।
ডিফল্টরূপে, অবজেক্টটিকে সত্য হিসাবে বিবেচনা করা হয় যদি না তার শ্রেণি দ্বারা
__bool__()প্রত্যাবর্তিত পদ্ধতিটি শূন্য ফিরে আসে এমন Falseকোনও __len__()পদ্ধতি বা শূন্যের দিকে ফিরে আসে এমন কোনও পদ্ধতি নির্ধারণ করে না । 1 এখানে বেশিরভাগ বিল্ট-ইন অবজেক্টকে মিথ্যা হিসাবে বিবেচনা করা হয়:- ধ্রুবকগুলি মিথ্যা হিসাবে সংজ্ঞায়িত:
NoneএবংFalse। - কোনো সাংখ্যিক ধরনের শূন্য:
0,0.0,0j,Decimal(0),Fraction(0, 1) - খালি সিকোয়েন্স এবং সংগ্রহগুলি:
'',(),[],{},set(),range(0)
অপারেশনস এবং বিল্ট-ইন ফাংশান আছে একটি বুলিয়ান ফলাফলের সবসময় আসতে
0 বা Falseমিথ্যা এবং 1বা Trueসত্য জন্য অন্যথায় যদি না বলেন। (গুরুত্বপূর্ণ ব্যতিক্রম: বুলিয়ান অপারেশন orএবং andসর্বদা তাদের অপারেশনগুলির মধ্যে একটি ফেরত দেয়))
বুলিয়ান অপারেশনস - and, or, not
এগুলি বুলিয়ান ক্রিয়াকলাপ, আরোহী অগ্রাধিকার দ্বারা আদেশিত:
অপারেশন
|
ফলাফল
|
নোট
|
|---|---|---|
x or y |
যদি x মিথ্যা হয়, তবে y , অন্যথায় এক্স
|
(1)
|
x and y |
যদি x মিথ্যা হয় তবে x , অন্যথায় y y
|
(2)
|
not x |
যদি এক্স মিথ্যা
True, অন্যথায়False |
(3)
|
নোট:
- এটি একটি শর্ট সার্কিট অপারেটর, সুতরাং এটি প্রথম যুক্তিটি ভুল হলে কেবলমাত্র দ্বিতীয় যুক্তির মূল্যায়ন করে।
- এটি একটি শর্ট সার্কিট অপারেটর, সুতরাং এটি যদি প্রথম যুক্তিটি সত্য হয় তবে এটি কেবল দ্বিতীয় যুক্তির মূল্যায়ন করে।
notনন-বুলিয়ান অপারেটরগুলির চেয়ে কম অগ্রাধিকার রয়েছে, সুতরাং এটি ব্যাখ্যা করা হয় এবং এটি একটি সিনট্যাক্স ত্রুটি।not a == bnot (a == b)a == not b
তুলনা
পাইথনে আটটি তুলনা অপারেশন রয়েছে। তাদের সবার একই অগ্রাধিকার রয়েছে (যা বুলিয়ান অপারেশনগুলির চেয়ে বেশি)। তুলনাগুলি নির্বিচারে বেঁধে রাখা যেতে পারে; উদাহরণস্বরূপ, এর সমতুল্য , বাদে কেবল y একবার মূল্যায়ন করা হয় (তবে উভয় ক্ষেত্রে z মিথ্যা বলে প্রমাণিত হওয়ার পরে মোটেও মূল্যায়ন করা হয় না )।
x < y <= zx < y and y <= zx < y
এই সারণি তুলনা অপারেশন সংক্ষিপ্তসার:
অপারেশন
|
অর্থ
|
|---|---|
< |
কঠোরভাবে কম
|
<= |
কম বা সমান
|
> |
এর চেয়ে কঠোরতর
|
>= |
বৃহত্তর অথবা সমান
|
== |
সমান
|
!= |
সমান না
|
is |
বস্তু পরিচয়
|
is not |
অবহেলিত বস্তুর পরিচয়
|
বিভিন্ন সংখ্যার প্রকার বাদে বিভিন্ন ধরণের অবজেক্টগুলি কখনই সমান তুলনা করে না।
==অপারেটর সবসময় সংজ্ঞায়িত করা হয় কিন্তু কিছু বস্তু ধরনের জন্য (উদাহরণস্বরূপ, বর্গ বস্তু) সমতূল্য is। <, <=, >এবং >= অপারেটরদের শুধুমাত্র সংজ্ঞায়িত করা হয় যেখানে তারা জানার জন্য; উদাহরণস্বরূপ, TypeErrorযুক্তিগুলির একটি জটিল সংখ্যা হলে তারা একটি ব্যতিক্রম উত্থাপন করে।
শ্রেণীর অ-অভিন্ন উদাহরণগুলি সাধারণত শ্রেণীর
__eq__()পদ্ধতিটি সংজ্ঞায়িত না করে অ-সমমান হিসাবে তুলনা করে ।
একটি বর্গ দৃষ্টান্ত, একই ক্লাসের অন্য দৃষ্টান্ত, বা বস্তুর অন্যান্য ধরনের সম্মান সঙ্গে আদেশ করা যাবে না যদি না বর্গ পদ্ধতি যথেষ্ট সংজ্ঞায়িত
__lt__(), __le__(), __gt__(), এবং __ge__()(সাধারণভাবে __lt__()এবং __eq__()যথেষ্ট, যদি আপনি প্রচলিত অর্থ চান তুলনা অপারেটর)।
আচরণকে
isএবং অপারেটরদের কাস্টমাইজড করা যায় না; এগুলি যে কোনও দুটি বস্তুর জন্য প্রয়োগ করা যেতে পারে এবং কখনও ব্যতিক্রম বাড়াতে পারে না।is not
একই সিনট্যাকটিক অগ্রাধিকার সহ আরও দুটি অপারেশন
inএবং এমন পদ্ধতিগুলি দ্বারা সমর্থন করা হয় যা পুনরাবৃত্তিযোগ্য বা পদ্ধতিটি কার্যকর করে ।not in__contains__()
সাংখ্যিক প্রকারভেদ - int, float, complex
তিনটি স্বতন্ত্র সংখ্যার প্রকার রয়েছে: পূর্ণসংখ্যা , ভাসমান পয়েন্ট সংখ্যা এবং জটিল সংখ্যা । এছাড়াও, বুলিয়ানগুলি একটি পূর্ণসংখ্যার উপ-প্রকার। পূর্ণসংখ্যার সীমাহীন নির্ভুলতা রয়েছে। ফ্লোটিং পয়েন্ট নম্বরগুলি সাধারণত
doubleসি ব্যবহার করে প্রয়োগ করা হয়; আপনার প্রোগ্রামটি যে মেশিনে চলছে সেটির জন্য ভাসমান পয়েন্ট সংখ্যাগুলির যথাযথতা এবং অভ্যন্তরীণ উপস্থাপনা সম্পর্কে তথ্য পাওয়া যায় sys.float_info। জটিল সংখ্যার একটি আসল এবং কল্পিত অংশ থাকে যা প্রতিটি ভাসমান পয়েন্ট সংখ্যা। একটি জটিল সংখ্যা z থেকে এই অংশগুলি নিষ্কাশন করতে , ব্যবহার করুন z.realএবং z.imag। (স্ট্যান্ডার্ড লাইব্রেরিতে অতিরিক্ত সংখ্যার ধরণের fractions.Fractionযুক্তি রয়েছে, এবং মূল কারণগুলির জন্য anddecimal.Decimal, ব্যবহারকারী-নির্ভুল নির্ভুলতার সাথে ভাসমান-পয়েন্ট সংখ্যাগুলির জন্য))
সংখ্যাগুলি সংখ্যাযুক্ত আক্ষরিক দ্বারা বা অন্তর্নির্মিত ফাংশন এবং অপারেটরগুলির ফলাফল হিসাবে তৈরি করা হয়। অবিকৃত পূর্ণসংখ্যার আক্ষরিক (হেক্স, অক্টাল এবং বাইনারি সংখ্যা সহ) ফলাফল দেয় gers দশমিক বিন্দু বা এক্সপোনেন্ট সাইন ফলক ভাসমান পয়েন্ট সংখ্যা সহ সংখ্যাযুক্ত আক্ষরিক। সংযোজন
'j'বা 'J'একটি সাংখ্যিক আক্ষরিক উৎপাদনের একটি কাল্পনিক নম্বর (একটি শূন্য বাস্তব অংশ সঙ্গে একটি জটিল সংখ্যা) আপনি একটি পূর্ণসংখ্যা যোগ করুন বা ভাসা করতে পারে বাস্তব এবং কল্পিত অংশের সঙ্গে একটি জটিল নম্বর পেতে।
পাইথন সম্পূর্ণরূপে মিশ্র গাণিতিক সমর্থন করে: যখন একটি বাইনারি গাণিতিক অপারেটর বিভিন্ন সংখ্যার ধরণের অপারেন্ড করে থাকে, তখন "সংকীর্ণ" টাইপযুক্ত অপারেন্ডটি অন্যটির সাথে প্রস্থে বিস্তৃত হয়, যেখানে পূর্ণসংখ্যার ভাসমান বিন্দু থেকে সংকীর্ণ হয়, যা জটিল থেকে সংকীর্ণ হয়। মিশ্র সংখ্যার সংখ্যার মধ্যে তুলনা একই নিয়ম ব্যবহার করে। 2 কনস্ট্রাক্টর
int(), float()এবং complex()নির্দিষ্ট ধরণের সংখ্যা উত্পাদন করতে ব্যবহার করা যেতে পারে।
সমস্ত সংখ্যার ধরণের (জটিল ব্যতীত) নিম্নলিখিত ক্রিয়াকলাপগুলি সমর্থন করে (ক্রিয়াকলাপগুলির অগ্রাধিকারের জন্য অপারেটর অগ্রাধিকার দেখুন ):
অপারেশন
|
ফলাফল
|
নোট
|
সম্পূর্ণ ডকুমেন্টেশন
|
|---|---|---|---|
x + y |
x এবং y এর যোগফল
| ||
x - y |
x এবং y এর পার্থক্য
| ||
x * y |
এক্স এবং y এর পণ্য
| ||
x / y |
x এবং y এর ভাগফল
| ||
x // y |
x এবং y এর মেঝেফলক
|
(1)
| |
x % y |
বাকি
x / y |
(2)
| |
-x |
এক্স অবহেলিত
| ||
+x |
এক্স অপরিবর্তিত
| ||
abs(x) |
x এর নিখুঁত মান বা পরিমাণ magn
| ||
int(x) |
x পূর্ণসংখ্যায় রূপান্তরিত
|
(3) (6)
| |
float(x) |
এক্স ফ্লোটিং পয়েন্টে রূপান্তরিত
|
(4) (6)
| |
complex(re, im) |
বাস্তব অংশ পুনরায় , কল্পিত অংশ im সহ একটি জটিল সংখ্যা । আমি শূন্য থেকে ডিফল্ট।
|
(6)
| |
c.conjugate() |
জটিল সংখ্যার সংমিশ্রণ গ
| ||
divmod(x, y) |
জোড়া
(x // y, x % y) |
(2)
| |
pow(x, y) |
x থেকে পাওয়ার y
|
(5)
| |
x ** y |
x থেকে পাওয়ার y
|
(5)
|
নোট:
- পূর্ণসংখ্যা বিভাগ হিসাবেও উল্লেখ করা হয়। ফলাফলের মানটি একটি সম্পূর্ণ পূর্ণসংখ্যা, যদিও ফলাফলের ধরণটি প্রয়োজনীয়ভাবে অন্তর্ভুক্ত হয় না। ফলাফলের সবসময় বিয়োগ অনন্ত প্রতি বৃত্তাকার হয়:
1//2হয়0,(-1)//2হয়-1,1//(-2)হয়-1, এবং(-1)//(-2)হয়0। - ভাসমান বিন্দু থেকে পূর্ণসংখ্যায় রূপান্তর সি হিসাবে যেমন গোল বা কাটা যেতে পারে; ফাংশন
math.floor()এবংmath.ceil()ভাল সংজ্ঞায়িত রূপান্তরগুলির জন্য দেখুন। - নোট নম্বরের (এনএএন) এবং ধনাত্মক বা নেতিবাচক অনন্তের জন্য "নান" এবং "ইনফ" বিকল্পগুলি উপসর্গ "+" বা "-" সহ স্ট্রিংটিও ভাসমান গ্রহণ করে।
- পাইথন সংজ্ঞা দেয় এবং হওয়া যেমন প্রোগ্রামিং ভাষার জন্য সাধারণ।
pow(0, 0)0 ** 01 - সাংখ্যিক গৃহীত লিটারেল ডিজিটের অন্তর্ভুক্ত
0করার9বা কোন ইউনিকোড সমতুল্য (মাধ্যমে কোডের পয়েন্টNdসম্পত্তি)।সম্পত্তির সাথে কোড পয়েন্টের একটি সম্পূর্ণ তালিকার জন্য http://www.unicode.org/Public/12.1.0/ucd/extected/DerivedNumericType.txt দেখুনNd।
অপারেশন
|
ফলাফল
|
|---|---|
এক্স কেটে গেছে
Integral | |
এক্স বৃত্তাকার এন সংখ্যা, এমনকি অর্ধেক প্রকাশ করে। যদি n বাদ দেওয়া হয় তবে এটি 0 এ ডিফল্ট হয়।
| |
পূর্ণসংখ্যার প্রকারভেদে বিটওয়াইজ অপারেশনস
বিটওয়াইজ অপারেশনগুলি কেবল পূর্ণসংখ্যার জন্য অর্থবোধ করে। বিটওয়াইজ অপারেশনের ফলাফলটি গণনা করা হয় যেমন অসীম সংখ্যার সাইন বিট সহ দু'জনের পরিপূরক হিসাবে সম্পাদিত হয়।
বাইনারি বিটওয়াইজ অপারেশনগুলির অগ্রাধিকারগুলি সমস্ত সংখ্যার ক্রিয়াকলাপের তুলনায় কম এবং তুলনার তুলনায় বেশি;
~অন্যান্য unary সংখ্যাসূচক অপারেশন ( +এবং -) এর মতোই ইউনিারি অপারেশনের একই অগ্রাধিকার রয়েছে ।
এই টেবিলটি আরোহী অগ্রাধিকার অনুসারে বাটওয়াইড অপারেশনগুলি তালিকাভুক্ত করে:
অপারেশন
|
ফলাফল
|
নোট
|
|---|---|---|
x | y |
bitwise বা এর এক্স এবং ওয়াই
|
(4)
|
x ^ y |
bitwise একচেটিয়া বা এর এক্স এবং ওয়াই
|
(4)
|
x & y |
bitwise এবং এর এক্স এবং ওয়াই
|
(4)
|
x << n |
এক্স দ্বারা বাম হাতে চলে এন বিট
|
(1) (2)
|
x >> n |
এক্স দ্বারা অধিকার স্থানান্তরিত এন বিট
|
(1) (3)
|
~x |
এক্স বিট বিপরীত
|
নোট:
- এন বিট দ্বারা একটি বাম শিফট ওভারফ্লো চেক ছাড়াই গুণ দ্বারা সমান ।
pow(2, n) - এন বিট দ্বারা একটি ডান শিফট ওভারফ্লো চেক ছাড়াই বিভাজনের সমান ।
pow(2, n) - সীমাবদ্ধ দুইয়ের পরিপূরক উপস্থাপনা (কম বা আরও একটি কাজের বিট-প্রস্থ ) কমপক্ষে একটি অতিরিক্ত সাইন এক্সটেনশন বিট সহ এই গণনাগুলি সম্পাদন করা একই ফলাফল পেতে যথেষ্ট যেমন সাইন বিটগুলির অসীম সংখ্যা রয়েছে।
1 + max(x.bit_length(), y.bit_length())
পূর্ণসংখ্যার প্রকারের অতিরিক্ত পদ্ধতি
ইন্ট টাইপ বিমূর্ত বেস শ্রেণি প্রয়োগ করে । এছাড়াও, এটি আরও কয়েকটি পদ্ধতি সরবরাহ করে:
numbers.Integralint.bit_length( )- বাইনারিতে পূর্ণসংখ্যা উপস্থাপনের জন্য প্রয়োজনীয় বিটের সংখ্যাটি ফিরিয়ে দিন, সাইন এবং শীর্ষস্থানীয় শূন্যগুলি বাদ দিয়ে:
আরও স্পষ্টভাবে, যদিxননজারো হয় তবে এরকমx.bit_length()অনন্য ধনাত্মক পূর্ণসংখ্যা । সমানভাবে, যখন সঠিকভাবে বৃত্তাকার লোগারিদম থাকার জন্য যথেষ্ট ছোট । যদি শূন্য হয়, তবে ফিরে আসবে ।k2**(k-1) <= abs(x) < 2**kabs(x)k = 1 + int(log(abs(x), 2))xx.bit_length()0সমতুল্য:৩.১ সংস্করণে নতুন।
int.to_bytes( দৈর্ঘ্য , বাইটর্ডার , * , স্বাক্ষরিত = মিথ্যা )- একটি পূর্ণসংখ্যার প্রতিনিধিত্ব করে বাইটগুলির একটি অ্যারে ফেরত দিন।দৈর্ঘ্য বাইট ব্যবহার করে পূর্ণসংখ্যাটি উপস্থাপিত হয় । একটি
OverflowErrorউত্থাপিত হয় যদি প্রদত্ত সংখ্যক বাইটের সাথে পূর্ণসংখ্যার প্রতিনিধিত্বযোগ্য না হয়।Byteorder যুক্তি বাইট পূর্ণসংখ্যা প্রতিনিধিত্ব করতে ব্যবহৃত অর্ডার নির্ধারণ করে। যদি বাইটর্ডার হয়"big"তবে সর্বাধিক উল্লেখযোগ্য বাইটটি বাইট অ্যারের শুরুতে of বাইটর্ডারটি যদি হয়"little"তবে সর্বাধিক উল্লেখযোগ্য বাইটটি বাইট অ্যারের শেষে হয়। হোস্ট সিস্টেমের নেটিভ বাইট ক্রমের অনুরোধ জানাতে,sys.byteorderবাইট অর্ডার মান হিসাবে ব্যবহার করুন ।সাইন ইন যুক্তি নির্ধারণ করে দুই এর সম্পূরক পূর্ণসংখ্যা প্রতিনিধিত্ব করতে ব্যবহৃত হয় কিনা। যদি স্বাক্ষরিত হয়Falseএবং একটি নেতিবাচক পূর্ণসংখ্যা দেওয়া হয় তবে একটিOverflowErrorউত্থাপিত হয়। জন্য ডিফল্ট মান স্বাক্ষরিত হয়False।সংস্করণে নতুন 3.2।
- শ্রেণিবদ্ধ
int.from_bytes( বাইটস , বাইটর্ডার , * , স্বাক্ষরিত = মিথ্যা ) - প্রদত্ত বাইটের অ্যারে দ্বারা উপস্থাপিত পূর্ণসংখ্যা ফেরত দিন।Byteorder যুক্তি বাইট পূর্ণসংখ্যা প্রতিনিধিত্ব করতে ব্যবহৃত অর্ডার নির্ধারণ করে। যদি বাইটর্ডার হয়
"big"তবে সর্বাধিক উল্লেখযোগ্য বাইটটি বাইট অ্যারের শুরুতে of বাইটর্ডারটি যদি হয়"little"তবে সর্বাধিক উল্লেখযোগ্য বাইটটি বাইট অ্যারের শেষে হয়। হোস্ট সিস্টেমের নেটিভ বাইট ক্রমের অনুরোধ জানাতে,sys.byteorderবাইট অর্ডার মান হিসাবে ব্যবহার করুন ।সাইন ইন যুক্তি ইঙ্গিত দুই এর সম্পূরক পূর্ণসংখ্যা প্রতিনিধিত্ব করতে ব্যবহৃত হয় কিনা।সংস্করণে নতুন 3.2।
int.as_integer_ratio( )- একটি সংখ্যক পূর্ণসংখ্যা প্রত্যাবর্তন করুন যার অনুপাত মূল সংখ্যার সমান এবং ধনাত্মক ডিনোমিনেটরের সাথে সমান। পূর্ণসংখ্যার পূর্ণসংখ্যার অনুপাত (পুরো সংখ্যা) সর্বদা সংখ্যার
1হিসাবে এবং ডিনোমিনেটরের হিসাবে পূর্ণসংখ্যা হয় ।সংস্করণে নতুন 3.8।
ভাসমান উপর অতিরিক্ত পদ্ধতি
ভাসমান প্রকারটি বিমূর্ত বেস শ্রেণি প্রয়োগ করে । ভাসমান এছাড়াও নিম্নলিখিত অতিরিক্ত পদ্ধতি রয়েছে।
numbers.Realfloat.as_integer_ratio( )- একটি সংখ্যক পূর্ণসংখ্যা ফেরত দিন যার অনুপাতটি মূল ভাসমানের সমান এবং ধনাত্মক ডিনোমিনেটরের সাথে সমান। ইনফিনিটিগুলি
OverflowErrorএবং একটিValueErrorএনএএন- তে উত্থাপন করে ।
float.is_integer( )- রিটার্ন
Trueযদি ভাসা উদাহরণস্বরূপ অবিচ্ছেদ্য মান, এবং সসীম হয়Falseঅন্যথায়:
দুটি পদ্ধতি হেক্সাডেসিমাল স্ট্রিংগুলিতে এবং থেকে রূপান্তরকে সমর্থন করে। যেহেতু পাইথনের ফ্লোটগুলি বাইনারি সংখ্যা হিসাবে অভ্যন্তরীণভাবে সঞ্চিত থাকে, তাই একটি ফ্লোটকে দশমিক স্ট্রিংয়ে বা ডেসিমাল স্ট্রিং থেকে রূপান্তরকরণে একটি ছোট গোলাকার ত্রুটি থাকে। বিপরীতে, হেক্সাডেসিমাল স্ট্রিং সঠিক প্রতিনিধিত্ব এবং ভাসমান-পয়েন্ট সংখ্যাগুলির বিশদকরণের অনুমতি দেয়। এটি ডিবাগ করার সময় এবং সংখ্যাগত কাজে কার্যকর হতে পারে।
float.hex( )- হেক্সাডেসিমাল স্ট্রিং হিসাবে ভাসমান-পয়েন্ট সংখ্যাটির উপস্থাপনা ফিরিয়ে দিন। সীমাবদ্ধ ভাসমান-পয়েন্ট সংখ্যাগুলির জন্য, এই উপস্থাপনায় সর্বদা একটি শীর্ষস্থানীয়
0xএবং একটি অনুবর্তনকারীpএবং ঘনিষ্টর অন্তর্ভুক্ত থাকবে।
- শ্রেণীবদ্ধ
float.fromhex( গুলি ) - ক্লাস পদ্ধতি ভাসা একটি স্ট্রিং হেক্সাডেসিমেল দ্বারা প্রতিনিধিত্ব ফিরে যাওয়ার গুলি । স্ট্রিং গুলি সামনের এবং হোয়াইটস্পেস trailing থাকতে পারে।
একটি হেক্সাডেসিমাল স্ট্রিং ফর্মটি গ্রহণ করে:
যেখানে
signeither চ্ছিক উভয় দ্বারা +বা -, integer এবং fractionহেক্সাডেসিমাল অঙ্কগুলির স্ট্রিং হতে পারে এবং exponent এটি একটি leadingচ্ছিক শীর্ষস্থানীয় চিহ্ন সহ দশমিক পূর্ণসংখ্যা। কেসটি তাত্পর্যপূর্ণ নয় এবং পূর্ণসংখ্যার বা ভগ্নাংশের মধ্যে কমপক্ষে একটি হেক্সাডেসিমাল সংখ্যা থাকতে হবে। এই সিনট্যাক্সটি সি 99 এর সেকশন 6.4.4.2 বিভাগে উল্লিখিত বাক্য গঠন এবং জাভা 1.5 এর পরে ব্যবহৃত সিনট্যাক্সের অনুরূপ। বিশেষত, এর আউটপুট float.hex()সি বা জাভা কোডে হেক্সাডেসিমাল ভাসমান-পয়েন্ট আক্ষরিক হিসাবে ব্যবহারযোগ্য এবং সি এর %aফর্ম্যাট অক্ষর বা জাভা দ্বারা উত্পাদিত হেক্সাডেসিমাল স্ট্রিং Double.toHexStringগ্রহণ করে float.fromhex()।
দ্রষ্টব্য যে এক্সপোনেন্টটি হেক্সাডেসিমালের চেয়ে দশমিক লিখিত হয়েছে এবং এটি 2 এর শক্তি দেয় যার মাধ্যমে সহগকে গুণ করে। উদাহরণস্বরূপ, হেক্সাডেসিমাল স্ট্রিং
0x3.a7p10ভাসমান-পয়েন্ট সংখ্যাটি উপস্থাপন করে বা :(3 + 10./16 + 7./16**2) * 2.0**103740.0
বিপরীত রূপান্তরটি প্রয়োগ করা
3740.0একই সংখ্যার প্রতিনিধিত্ব করে একটি ভিন্ন হেক্সাডেসিমাল স্ট্রিং দেয়:সাংখ্যিক ধরনের হ্যাশ
সংখ্যার জন্য
xএবং yসম্ভবত বিভিন্ন ধরণের, এটি একটি প্রয়োজন যে যখনই ( আরও তথ্যের জন্য পদ্ধতি ডকুমেন্টেশন দেখুন)। সাংখ্যিক ধরনের বিভিন্ন জুড়ে বাস্তবায়ন ও দক্ষতা কর্মের সুবিধার জন্য (তত্সহ , , এবং ) সাংখ্যিক ধরনের জন্য পাইথন এর হ্যাশ একটি একক গাণিতিক ফাংশন যে কোনো যুক্তিসঙ্গত সংখ্যার জন্য নির্ধারিত, এবং অত: পর উপর ভিত্তি করে তৈরি সমস্ত উদাহরণ প্রযোজ্য এবং , এবং সমস্ত সসীম দৃষ্টান্ত এর এবং । মূলত, এই ফাংশনটি একটি নির্দিষ্ট প্রধানের জন্য হ্রাস মডুলোর দ্বারা দেওয়া হয় । এর বৈশিষ্ট্য হিসাবে পাইথনের কাছে এর মান উপলব্ধ করা হয় ।hash(x) == hash(y)x == y__hash__()intfloatdecimal.Decimalfractions.Fractionintfractions.Fractionfloatdecimal.DecimalPPPmodulussys.hash_info
সিপথন বাস্তবায়নের বিশদ: বর্তমানে, প্রধান ব্যবহৃতটি 32-বিট সি লম্বাযুক্ত মেশিনগুলিতে এবং 64-বিট সি লম্বা মেশিনগুলিতে ব্যবহৃত হয়।
P = 2**31 - 1P = 2**61 - 1
এখানে নিয়মগুলি বিস্তারিতভাবে দেওয়া হল:
- যদি নন-নেগেটিভ মূলদ সংখ্যা এবং দ্বারা বিভাজ্য নয় , নির্ধারণ যেমন , যেখানে বিপরীত দেয় মডিউল ।
x = m / nnPhash(x)m * invmod(n, P) % Pinvmod(n, P)nP - যদি একটি অলিগ্রেটিভ যুক্তিযুক্ত সংখ্যা হয় এবং এটি দ্বারা বিভাজ্য হয় (তবে তা নয়) তবে কোনও বিপরীতমূলক মডুলো নেই এবং উপরের বিধিটি প্রযোজ্য নয়; এক্ষেত্রে ধ্রুবক মান হিসাবে সংজ্ঞায়িত করুন ।
x = m / nnPmnPhash(x)sys.hash_info.inf - যদি একটি নেতিবাচক যুক্তিসঙ্গত সংখ্যা হিসাবে সংজ্ঞায়িত করা হয় । যদি ফলাফল হ্যাশ হয় তবে এটির সাথে প্রতিস্থাপন করুন ।
x = m / nhash(x)-hash(-x)-1-2 - বিশেষ মান
sys.hash_info.inf,-sys.hash_info.infএবংsys.hash_info.nanNans (যথাক্রমে) ইতিবাচক অনন্ত জন্য হ্যাশ মূল্যবোধ, নেতিবাচক অনন্ত, অথবা ব্যবহার করা হয়। (সমস্ত হ্যাশেবল ন্যানের একই হ্যাশ মান রয়েছে)) - একটি
complexসংখ্যার জন্যz, আসল এবং কল্পিত অংশগুলির হ্যাশ মানগুলি কম্পিউটিং , মডিউলগুলি হ্রাস করে একত্রিত করা হয় যাতে এটি অন্তর্ভুক্ত থাকে । আবার, ফলাফল যদি হয় , এটি দিয়ে প্রতিস্থাপিত হয় ।hash(z.real) + sys.hash_info.imag * hash(z.imag)2**sys.hash_info.widthrange(-2**(sys.hash_info.width - 1), 2**(sys.hash_info.width - 1))-1-2
উপরে বিধি নির্মল করার জন্য, এখানে কিছু উদাহরণ পাইথন কোড, সমতূল্য এর বিল্ট-ইন হ্যাশ, একটি মূলদ সংখ্যা হ্যাশ কম্পিউটিং জন্য
float, অথবা complex:Iterator প্রকার
পাইথন কনটেইনারগুলির মাধ্যমে পুনরাবৃত্তির একটি ধারণা সমর্থন করে। এটি দুটি স্বতন্ত্র পদ্ধতি ব্যবহার করে প্রয়োগ করা হয়; এগুলি ব্যবহারকারীর দ্বারা সংজ্ঞায়িত শ্রেণীর পুনরাবৃত্তি সমর্থন করার জন্য ব্যবহৃত হয়। আরও বিশদে নীচে বর্ণিত সিকোয়েন্সগুলি সর্বদা পুনরাবৃত্তির পদ্ধতিগুলিকে সমর্থন করে।
পুনরাবৃত্তি সমর্থন সরবরাহ করার জন্য ধারক বস্তুর জন্য একটি পদ্ধতি সংজ্ঞায়িত করা দরকার:
container.__iter__( )- একটি পুনরুক্তিযোগ্য বস্তুটি ফেরত দিন। নীচে বর্ণিত পুনরায় প্রোটোকলটি সমর্থন করার জন্য অবজেক্টটির প্রয়োজন। যদি কোনও ধারক বিভিন্ন ধরণের পুনরাবৃত্তি সমর্থন করে তবে সেই পদ্ধতিগুলির পুনরাবৃত্তির জন্য বিশেষভাবে পুনরাবৃত্তিগুলির জন্য অনুরোধ করার জন্য অতিরিক্ত পদ্ধতি সরবরাহ করা যেতে পারে। (পুনরাবৃত্তির একাধিক রূপকে সমর্থন করে এমন একটি বস্তুর উদাহরণ একটি গাছের কাঠামো যা উভয় প্রস্থ এবং গভীরতা-প্রথম ট্র্যাভারসাল উভয়কেই সমর্থন করে))
tp_iterপাইথন / সি এপিআইতে পাইথন অবজেক্টের জন্য টাইপ স্ট্রাকচারের স্লটটির সাথে এই পদ্ধতিটি মিলছে ।
পুনরুক্তিকারী অবজেক্টগুলিকে নিজেরাই নিম্নলিখিত দুটি পদ্ধতির সমর্থন করতে হবে যা একসাথে পুনরায় প্রোটোকল গঠন করে :
iterator.__iter__( )
iterator.__next__( )- ধারক থেকে পরবর্তী আইটেমটি ফেরত দিন। যদি আর কোনও আইটেম না থাকে তবে
StopIterationব্যতিক্রমটি বাড়ান । এই পদ্ধতিটিtp_iternextপাইথন / সি এপিআইতে পাইথন অবজেক্টের জন্য ধরণের কাঠামোর স্লটের সাথে মিল রাখে।
পাইথন সাধারণ এবং নির্দিষ্ট সিকোয়েন্স প্রকার, অভিধান এবং অন্যান্য আরও বিশেষায়িত ফর্মগুলির মাধ্যমে পুনরাবৃত্তিকে সমর্থন করার জন্য বেশ কয়েকটি পুনরুক্তিকারী অবজেক্টকে সংজ্ঞায়িত করে। নির্দিষ্ট প্রকারগুলি তাদের পুনরাবৃত্তকারী প্রোটোকল প্রয়োগের বাইরে গুরুত্বপূর্ণ নয়।
একবার যদি কোনও পুনরুক্তির
__next__()পদ্ধতি উত্থাপিত হয় StopIteration, অবশ্যই পরবর্তী কলগুলিতে এটি করা চালিয়ে যেতে হবে। এই সম্পত্তিটি মান্য না এমন বাস্তবায়নগুলি ভাঙ্গা বলে গণ্য।জেনারেটর প্রকার
পাইথনের জেনারেটর পুনরাবৃত্তকারী প্রোটোকলটি কার্যকর করার একটি সুবিধাজনক উপায় সরবরাহ করে। যদি কোনও ধারক অবজেক্টের
__iter__()পদ্ধতিটি জেনারেটর হিসাবে প্রয়োগ করা হয়, তবে এটি স্বয়ংক্রিয়ভাবে একটি পুনরুদ্ধারকারী বস্তু (প্রযুক্তিগতভাবে, একটি জেনারেটর অবজেক্ট) সরবরাহ করবে __iter__()এবং __next__() পদ্ধতিগুলি সরবরাহ করে । জেনারেটর সম্পর্কে আরও তথ্য ফলন প্রকাশের ডকুমেন্টেশনে পাওয়া যাবে ।
সিকোয়েন্স প্রকারভেদ - list, tuple, range
তিনটি মৌলিক সিকোয়েন্স টাইপ রয়েছে: তালিকা, টিপলস এবং রেঞ্জ অবজেক্ট। বাইনারি ডেটা এবং পাঠ্য স্ট্রিংগুলির প্রক্রিয়াকরণের জন্য উপযুক্ত অতিরিক্ত ক্রমের ধরণগুলি ডেডিকেটেড বিভাগগুলিতে বর্ণিত হয়েছে।
সাধারণ সিকোয়েন্স অপারেশনস
নিম্নলিখিত সারণির ক্রিয়াকলাপগুলি বেশিরভাগ সিকোয়েন্স প্রকারগুলি দ্বারা সমর্থিত, উভয় পরিবর্তনীয় এবং পরিবর্তনীয়।
collections.abc.Sequenceএবিসি সহজে সঠিকভাবে কাস্টম ক্রম ধরনের এই ক্রিয়াকলাপগুলি বাস্তবায়ন করতে প্রদান করা হয়।
এই টেবিলটি আরোহণ অগ্রাধিকার অনুসারে বাছাই করা ক্রম ক্রিয়াকলাপগুলি তালিকাভুক্ত করে। সারণীতে, গুলি এবং টি একই ধরণের ক্রম, এন , আই , জে এবং কে পূর্ণসংখ্যা এবং এক্স একটি স্বেচ্ছাচারিত বস্তু যা এস দ্বারা আরোপিত যে কোনও ধরণের এবং মান সীমাবদ্ধতার সাথে মিলিত হয় ।
inএবং অপারেশন তুলনা অপারেশন হিসাবে একই অগ্রাধিকার আছে। (সংযুক্তকরণের) এবং (পুনরাবৃত্তি) অপারেশন সংশ্লিষ্ট সাংখ্যিক অপারেশন হিসাবে একই অগ্রাধিকার আছে। 3not in+*
অপারেশন
|
ফলাফল
|
নোট
|
|---|---|---|
x in s | Trueএকটি আইটেম যদি গুলি সমান এক্স , অন্যFalse |
(1)
|
x not in s | Falseএকটি আইটেম যদি গুলি সমান এক্স , অন্যTrue |
(1)
|
s + t |
এস এবং টি এর উপসংহার
|
(6) (7)
|
s * n অথবা n * s |
যোগ সমতূল্য গুলি নিজেই এন বার
|
(2) (7)
|
s[i] |
আমি এর ম আইটেমটি গুলি , উৎপত্তি 0
|
(3)
|
s[i:j] |
ফালি গুলি থেকে আমি করতে ঞ
|
(3) (4)
|
s[i:j:k] |
ফালি গুলি থেকে আমি করতে ঞ ধাপ ট
|
(3) (5)
|
len(s) |
দৈর্ঘ্য গুলি
| |
min(s) |
s এর ক্ষুদ্রতম আইটেম
| |
max(s) |
বৃহত্তম আইটেমটি গুলি
| |
s.index(x[, i[, j]]) |
প্রথম ঘটনার সূচক এক্স মধ্যে গুলি (বা সূচক পর আমি এবং সূচক সামনে ঞ )
|
(8)
|
s.count(x) |
এর ঘটনার মোট সংখ্যা এক্স মধ্যে গুলি
|
একই ধরণের সিকোয়েন্সগুলি তুলনাগুলিও সমর্থন করে। বিশেষত, টিপলস এবং তালিকাগুলি সম্পর্কিত উপাদানগুলির সাথে তুলনা করে অভিধানিকের তুলনা করা হয়। এর অর্থ সমান তুলনা করতে প্রতিটি উপাদানকে সমান তুলনা করতে হবে এবং দুটি ক্রম অবশ্যই একই ধরণের এবং একই দৈর্ঘ্য থাকতে হবে। (সম্পূর্ণ তথ্যের জন্য ভাষা রেফারেন্সে তুলনা দেখুন ))
নোট:
- সাধারণত
inএবং সাধারণ ক্রিয়াকলাপগুলিতে কেবল সাধারণ ধারন পরীক্ষার জন্য এবং অপারেশনগুলি ব্যবহৃত হয়, কিছু বিশেষ ক্রমিক (যেমন , এবং ) পরবর্তী উপাখণ্ডের জন্য এগুলি ব্যবহার করে:not instrbytesbytearray
- এর মান এন কম
0হিসাবে গণ্য করা হয়0(যা হিসাবে একই ধরণের একটি খালি ক্রম উৎপাদ গুলি )। উল্লেখ্য ক্রমানুসারে যে আইটেম গুলি কপি করা হয় না; এগুলি একাধিকবার উল্লেখ করা হয়। এটি প্রায়শই নতুন পাইথন প্রোগ্রামারদের হান্ট করে; বিবেচনা:
যা ঘটেছে তা হ'ল এটি[[]]একটি উপাদানগুলির তালিকা যা খালি তালিকা রয়েছে, সুতরাং তিনটি উপাদানই এই একক খালি তালিকার উল্লেখ। উপাদানগুলির যে কোনও একটিতে এই একক তালিকাকে সংশোধন করে। আপনি বিভিন্ন তালিকার একটি তালিকা এভাবে তৈরি করতে পারেন:[[]] * 3lists
- যদি i বা j negative ণাত্মক হয় তবে সূচকটি সিকোয়েন্স এর শেষের সাথে সম্পর্কিত : বা প্রতিস্থাপিত হয়। তবে নোট করুন যে এখনও আছে ।
len(s) + ilen(s) + j-00 - ফালি গুলি থেকে আমি করতে ঞ সূচক আইটেম ক্রম হিসাবে সংজ্ঞায়িত করা হয় ট যেমন যে । তাহলে আমি বা ঞ চেয়ে বেশী , ব্যবহার । তাহলে আমি বাদ দেওয়া হয় অথবা , ব্যবহার । যদি জ বাদ দেওয়া হয় বা ব্যবহার করা হয় । তাহলে আমি এর চেয়ে বড় বা সমান ঞ , ফালি খালি।
i <= k < jlen(s)len(s)None0Nonelen(s) - ফালি গুলি থেকে আমি করতে ঞ ধাপ ট সূচক আইটেম ক্রম হিসাবে সংজ্ঞায়িত করা হয় যেমন যে । অন্য কথায়, সূচকের হয় , , , এবং তাই, বাঁধন যখন ঞ উপনিত (কিন্তু কখনোই সহ ঞ )। যখন কে ধনাত্মক হয়, i এবং j এর চেয়ে বেশি হলে হ্রাস করা হয়। যখন কে নেতিবাচক হয়, i এবং j এর চেয়ে বেশি হলে হ্রাস করা হয়। তাহলে আমি বা ঞ বাদ দেওয়া হয়েছে বা
x = i + n*k0 <= n < (j-i)/kii+ki+2*ki+3*klen(s)len(s) - 1None, তারা হয়ে "শেষ" মান (যা শেষ চিহ্ন উপর নির্ভর করে ট )। দ্রষ্টব্য, কে শূন্য হতে পারে না। যদি কে হয় তবেNoneএটির মতো ব্যবহার করা হয়1। - অপরিবর্তনীয় ক্রমগুলি প্রতিযোগিতা সর্বদা একটি নতুন অবজেক্টে ফলাফল করে। এর অর্থ হ'ল বারবার সংক্ষেপণের মাধ্যমে একটি সিক্যুয়েন্স তৈরির মোট ক্রম দৈর্ঘ্যের চতুর্ভুজ রানটাইম ব্যয় হবে। রৈখিক রানটাইম ব্যয় পেতে আপনার নীচের বিকল্পগুলির মধ্যে একটিতে যেতে হবে:
- যদি কনটেন্টেটিং
strঅবজেক্টস, আপনি একটি তালিকা তৈরি করতে পারেন এবংstr.join()শেষে ব্যবহার করতে পারেন বা অন্যথায় একটিio.StringIOউদাহরণে লিখতে পারেন এবং সম্পূর্ণ হওয়ার পরে এর মান পুনরুদ্ধার করতে পারেন - যদি কনটেনেটিং
bytesঅবজেক্টস, আপনি একইভাবে ব্যবহার করতে পারেনbytes.join()বাio.BytesIO, বা আপনি কোনওbytearrayবস্তুর সাথে স্থান-নির্ধারণী কনটেনটেশন করতে পারেন ।bytearrayঅবজেক্টগুলি পরিবর্তনীয় এবং একটি দক্ষ সামগ্রিককরণ প্রক্রিয়া রয়েছে - অন্যান্য ধরণের জন্য, প্রাসঙ্গিক শ্রেণীর ডকুমেন্টেশন তদন্ত করুন
- কিছু সিকোয়েন্স প্রকার (যেমন
range) কেবল নির্দিষ্ট আইটেমগুলিকে অনুসরণ করে যা নির্দিষ্ট নিদর্শনগুলি অনুসরণ করে এবং তাই সিক্যুয়েন্স কনকেন্টেশন বা পুনরাবৃত্তি সমর্থন করে না। indexউত্থাপনValueErrorযখন এক্স পাওয়া যায় না গুলি । সমস্ত বাস্তবায়ন i এবং j অতিরিক্ত তর্কগুলি পাস করার পক্ষে সমর্থন করে না । এই যুক্তিগুলি অনুক্রমের সাব-বিভাগগুলি দক্ষ অনুসন্ধানের অনুমতি দেয়। অতিরিক্ত যুক্তিগুলি পাস করা মোটামুটি ব্যবহারের সমতুল্যs[i:j].index(x), কেবল কোনও তথ্য অনুলিপি না করে এবং ফেরত সূচকটি স্লাইস শুরুর চেয়ে ক্রম শুরু করার সাথে সম্পর্কিত start
অপরিবর্তনীয় সিকোয়েন্স প্রকারগুলি
একমাত্র অপারেশন যা অপরিবর্তনীয় সিকোয়েন্স টাইপগুলি সাধারণত প্রয়োগ করে যা পরিবর্তনীয় সিকোয়েন্স প্রকারগুলি দ্বারা প্রয়োগ করা হয় না তা
hash() অন্তর্নির্মিতদের জন্য সমর্থন ।
এই সমর্থনটি অপরিবর্তনীয় ক্রমগুলি যেমন
tupleদৃষ্টান্তগুলিকে dictকী হিসাবে ব্যবহার করতে এবং স্টোর setএবং frozenset ইনস্টেন্সগুলিতে অনুমতি দেয়।
একটি অপরিবর্তনীয় ক্রম হ্যাশ করার চেষ্টা করার ফলে অনিবার্য মান রয়েছে
TypeError।পরিবর্তনীয় সিকোয়েন্স প্রকারগুলি
নিম্নলিখিত টেবিলের ক্রিয়াকলাপগুলি পরিবর্তনীয় সিকোয়েন্স প্রকারভেদে সংজ্ঞায়িত করা হয়েছে।
collections.abc.MutableSequenceএবিসি সহজে সঠিকভাবে কাস্টম ক্রম ধরনের এই ক্রিয়াকলাপগুলি বাস্তবায়ন করতে প্রদান করা হয়।
টেবিল গুলি একটি চপল ক্রম ধরনের একটি দৃষ্টান্ত হল, টি কোন iterable অবজেক্ট এবং এক্স একটি অবাধ বস্তু দ্বারা আরোপিত কোনো ধরনের এবং মান বিধিনিষেধ পূরণ গুলি (উদাহরণস্বরূপ,
bytearrayশুধুমাত্র পূর্ণসংখ্যার যে মান সীমাবদ্ধতা পূরণ গ্রহণ )।0 <= x <= 255
অপারেশন
|
ফলাফল
|
নোট
|
|---|---|---|
s[i] = x |
আইটেমটি আমি এর গুলি দ্বারা প্রতিস্থাপিত হয় এক্স
| |
s[i:j] = t |
ফালি গুলি থেকে আমি করতে ঞ iterable বিষয়বস্তু দ্বারা প্রতিস্থাপিত হয় টি
| |
del s[i:j] |
একই রকম
s[i:j] = [] | |
s[i:j:k] = t |
এর উপাদানগুলি টি
s[i:j:k] দ্বারা প্রতিস্থাপিত হয় |
(1)
|
del s[i:j:k] | s[i:j:k]তালিকা থেকে উপাদানগুলি সরিয়ে দেয় | |
s.append(x) |
ক্রমের শেষে x যুক্ত করে (একই )
s[len(s):len(s)] = [x] | |
s.clear() |
গুলি থেকে সমস্ত আইটেম সরান (একই )
del s[:] |
(5)
|
s.copy() |
একটি অগভীর কপি তৈরি করে গুলি (হিসাবে একই
s[:]) |
(5)
|
s.extend(t) অথবা s += t |
প্রসারিত গুলি লিখিত সামগ্রীর টি (অধিকাংশ অংশ জন্য হিসাবে একই )
s[len(s):len(s)] = t | |
s *= n |
আপডেট গুলি এটির সামগ্রীগুলি সঙ্গে পুনরাবৃত্তি এন বার
|
(6)
|
s.insert(i, x) |
টিপে x মধ্যে গুলি কর্তৃক প্রদত্ত সূচিতে আমি (হিসাবে একই )
s[i:i] = [x] | |
s.pop([i]) |
আইটেম আহরণ আমি এবং থেকে সরিয়ে ফেলা হবে গুলি
|
(2)
|
s.remove(x) |
থেকে প্রথম আইটেম অপসারণ গুলি যেখানে
s[i]সমান এক্স |
(3)
|
s.reverse() |
আইটেম reverses গুলি জায়গায়
|
(4)
|
নোট:
- টি যে স্লাইসটি প্রতিস্থাপন করছে তার সমান দৈর্ঘ্য থাকতে হবে।
- Defচ্ছিক যুক্তিটি আমি ডিফল্ট করেছিলাম
-1, যাতে ডিফল্টরূপে শেষ আইটেমটি সরানো হয় এবং ফিরে আসে। reverse()পদ্ধতি যখন বৃহৎ ক্রম reversing স্থান অর্থনীতিতে জায়গায় ক্রম পরিবর্তন। ব্যবহারকারীদের মনে করিয়ে দিতে যে এটি পার্শ্ব প্রতিক্রিয়া দ্বারা পরিচালিত হয়, এটি বিপরীত ক্রমটি ফিরে আসে না।clear()এবংcopy()এমন পরিবর্তনীয় পাত্রে ইন্টারফেসের সাথে ধারাবাহিকতার জন্য অন্তর্ভুক্ত রয়েছে যা স্লাইসিং অপারেশনগুলি সমর্থন করে না (যেমনdictএবংset)। এবিসিরcopy()অংশ নয়collections.abc.MutableSequence, তবে বেশিরভাগ কংক্রিট পরিবর্তনীয় সিকোয়েন্স ক্লাসগুলি এটি সরবরাহ করে।সংস্করণ 3.3:clear()এবংcopy()পদ্ধতিতে নতুন।- মান n হল একটি পূর্ণসংখ্যা বা কোনও অবজেক্ট বাস্তবায়নকারী
__index__()। N এর শূন্য এবং নেতিবাচক মানগুলি ক্রমটি সাফ করে। ক্রমের আইটেমগুলি অনুলিপি করা হয় না; এগুলি একাধিকবার রেফারেন্স করা হয়, যেমন সাধারণ সিকোয়েন্স অপারেশনগুলির আওতায় ব্যাখ্যা করা হয়েছে ।s * n
তালিকা
তালিকাগুলি পরিবর্তনীয় ক্রমগুলি হয়, সাধারণত একজাতীয় আইটেম সংগ্রহ করতে ব্যবহৃত হয় (যেখানে নির্দিষ্টতার সাথে মিলের সুনির্দিষ্ট ডিগ্রি প্রয়োগের দ্বারা পৃথক হবে)।
- বর্গ
list( [ iterable ] ) - তালিকা বিভিন্ন উপায়ে নির্মিত হতে পারে:
- খালি তালিকে বোঝাতে এক জোড়া স্কোয়ার ব্র্যাকেট ব্যবহার করা:
[] - বর্গাকার বন্ধনী ব্যবহার করে, কমা দিয়ে আইটেম পৃথক:
[a],[a, b, c] - একটি তালিকা বোধগম্যতা ব্যবহার করে:
[x for x in iterable] - টাইপ কনস্ট্রাক্টর:
list()বা ব্যবহার করেlist(iterable)
কনস্ট্রাক্টর একটি তালিকা তৈরি করে যার আইটেমগুলি একই এবং একই ক্রমে পুনরাবৃত্তীয় আইটেমগুলির মতো। পুনরাবৃত্ত হতে পারে হয় একটি অনুক্রম, একটি ধারক যা পুনরাবৃত্তি সমর্থন করে, বা একটি পুনরাবৃত্তি বস্তু হতে পারে। যদি পুনরাবৃত্তিযোগ্য ইতিমধ্যে একটি তালিকা থাকে তবে একটি অনুলিপি তৈরি করা হবে এবং তার মতোই ফিরে আসবেiterable[:]। উদাহরণস্বরূপ, জন্যlist('abc')আয় এবং আয় । যদি কোনও যুক্তি না দেওয়া হয় তবে কনস্ট্রাক্টর একটি নতুন খালি তালিকা তৈরি করে ।['a', 'b', 'c']list( (1, 2, 3) )[1, 2, 3][]সমস্ত সাধারণ এবং মিউটেটেবল সিকোয়েন্স ক্রিয়াকলাপকে তালিকাভুক্ত করে। তালিকাগুলি নিম্নলিখিত অতিরিক্ত পদ্ধতি সরবরাহ করে:sort( * , কী = কোনওটি নয় , বিপরীত = মিথ্যা )- এই পদ্ধতিটি
<আইটেমগুলির মধ্যে কেবল তুলনা ব্যবহার করে তালিকাকে তালিকায় বাছাই করে । ব্যতিক্রমগুলি দমন করা হয় না - যদি কোনও তুলনা ক্রিয়াকলাপ ব্যর্থ হয় তবে পুরো সাজানোর ক্রিয়াকলাপটি ব্যর্থ হবে (এবং তালিকাটি সম্ভবত আংশিক পরিবর্তিত অবস্থায় রেখে যাবে)।sort()দুটি মূল যুক্তি গ্রহণ করে যা কেবলমাত্র কীওয়ার্ড ( কীওয়ার্ড-কেবলমাত্র যুক্তি ) দ্বারা পাস করা যেতে পারে :কীটি একটি আর্গুমেন্টের একটি ফাংশন নির্দিষ্ট করে যা প্রতিটি তালিকার উপাদান থেকে একটি তুলনা কী বের করতে ব্যবহৃত হয় (উদাহরণস্বরূপ,key=str.lower)। তালিকার প্রতিটি আইটেমের সাথে সম্পর্কিত কী একবার গণনা করা হয় এবং তারপরে পুরো বাছাইয়ের প্রক্রিয়ার জন্য ব্যবহৃত হয়। এর ডিফল্ট মানNoneমানে তালিকার আইটেমগুলি পৃথক কী মান গণনা না করে সরাসরি বাছাই করা হয়।বিপরীত একটি বুলিয়ান মান। যদি সেট করা থাকেTrue, তারপরে তালিকার উপাদানগুলি সাজানো হয় যেন প্রতিটি তুলনা বিপরীত হয়।একটি বৃহত ক্রম বাছাই করার সময় এই পদ্ধতিটি স্থানের অর্থনীতির জন্য স্থানে ক্রমটি পরিবর্তন করে। ব্যবহারকারীদের মনে করিয়ে দেওয়ার জন্য যে এটি পার্শ্ব প্রতিক্রিয়া দ্বারা পরিচালিত হয়, এটি সাজানো ক্রমটি ফিরিয়ে দেয় না (sorted()স্পষ্টভাবে একটি নতুন সাজানো তালিকার অনুরোধের জন্য ব্যবহার করুন )।sort()পদ্ধতি স্থিতিশীল হতে নিশ্চিত করা হয়। একটি বাছাই স্থিতিশীল হয় যদি এটি সমান তুলনাকারী উপাদানের আপেক্ষিক ক্রমটি পরিবর্তন না করার গ্যারান্টি দেয় - এটি একাধিক পাসে বাছাইয়ের জন্য সহায়ক (উদাহরণস্বরূপ, বিভাগ দ্বারা সাজান, তারপরে বেতন গ্রেড দ্বারা)।সিপথন বাস্তবায়নের বিশদ: একটি তালিকা বাছাই করার সময়, পরিবর্তন করতে বা এমনকি পরিদর্শন করার চেষ্টা করার প্রভাবটি তালিকাটি অপরিবর্তিত। পাইথনের সি প্রয়োগের ফলে তালিকাটি সময়কালের জন্য খালি প্রদর্শিত হয় এবং উত্থাপন করেValueErrorযদি এটি সনাক্ত করতে পারে যে তালিকাটি সাজানোর সময় পরিবর্তন করা হয়েছে।
টিপলস
টিউপসগুলি হ'ল অপরিবর্তনীয় ক্রম, সাধারণত বৈজাতীয় তথ্য সংগ্রহের জন্য ব্যবহৃত হয় (যেমন
enumerate() বিল্ট-ইন দ্বারা উত্পাদিত 2-টিপলস )। সমজাতীয় ডেটার একটি অপরিবর্তনীয় ক্রম প্রয়োজন (যেমন কোনও setবা dictউদাহরণস্বরূপ স্টোরেজকে অনুমতি দেওয়া) ক্ষেত্রেও টিপলস ব্যবহৃত হয় ।- বর্গ
tuple( [ iterable ] ) - টিপলগুলি বিভিন্ন উপায়ে নির্মিত হতে পারে:
- খালি টিপল বোঝাতে একজোড়া বন্ধনী ব্যবহার করা:
() - একটি সিঙ্গলটন টিপল জন্য একটি ট্রেলিং কমা ব্যবহার:
a,বা(a,) - কমা দিয়ে আইটেমগুলি পৃথক: বা
a, b, c(a, b, c)
কনস্ট্রাক্টর একটি টুপল তৈরি করেন যার আইটেমগুলি একই এবং একই ক্রমে পুনরাবৃত্তীয় আইটেমগুলির মতো। পুনরাবৃত্ত হতে পারে হয় একটি অনুক্রম, একটি ধারক যা পুনরাবৃত্তি সমর্থন করে, বা একটি পুনরাবৃত্তি বস্তু হতে পারে। যদি পুনরাবৃত্তিযোগ্য ইতিমধ্যে একটি টিপল হয়, এটি অপরিবর্তিত ফেরত দেওয়া হয়। উদাহরণস্বরূপ, জন্যtuple('abc')আয় এবং আয় । যদি কোনও যুক্তি না দেওয়া হয় তবে কনস্ট্রাক্টর একটি নতুন ফাঁকা টিপল তৈরি করে ।('a', 'b', 'c')tuple( [1, 2, 3] )(1, 2, 3)()দ্রষ্টব্য যে এটি আসলে কমা যা একটি কৌতুক তৈরি করে, প্রথম বন্ধনী নয়। বন্ধনীগুলি alচ্ছিক, খালি টিউপল কেস ব্যতীত বা যখন সিনট্যাকটিক অস্পষ্টতা এড়াতে তাদের প্রয়োজন হয়। উদাহরণস্বরূপ, তিনটি আর্গুমেন্ট সহ একটি ফাংশন কল, যখন একক আর্গুমেন্ট হিসাবে 3-টিপলযুক্ত একটি ফাংশন কল।f(a, b, c)f((a, b, c))
তথ্যের ভিন্নধর্মী সংগ্রহের জন্য যেখানে সূচকের মাধ্যমে অ্যাক্সেসের চেয়ে নাম দ্বারা অ্যাক্সেস আরও স্পষ্ট,
collections.namedtuple()সাধারণ টিউপল অবজেক্টের চেয়ে আরও উপযুক্ত পছন্দ হতে পারে।ব্যাপ্তি
rangeসংখ্যাগুলি টাইপ একজন অপরিবর্তনীয় ক্রম প্রতিনিধিত্ব করে এবং সাধারণত মধ্যে সময়ের একটি নির্দিষ্ট নম্বর লুপিং জন্য ব্যবহার করা হয় for লুপ।- ক্লাস
range( স্টপ ) - বর্গ
range( শুরু করুন , থামুন [ , পদক্ষেপ ] ) - পরিসীমা নির্মাণকারীর পক্ষে যুক্তিগুলি অবশ্যই পূর্ণসংখ্যা হতে হবে (হয় অন্তর্নির্মিত
intবা যে কোনও বস্তু যা__index__বিশেষ পদ্ধতি প্রয়োগ করে )। যদি পদক্ষেপের যুক্তি বাদ দেওয়া হয় তবে এটি ডিফল্ট হয়1। যদি সূচনা যুক্তি বাদ দেওয়া হয় তবে এটি ডিফল্ট হয়0। তাহলে ধাপে শূন্য হয়,ValueErrorউত্থাপিত হয়।ধনাত্মক পদক্ষেপের জন্য , কোনও পরিসরের বিষয়বস্তু কোথায় এবং কোথায়rতা সূত্র দ্বারা নির্ধারিত হয় ।r[i] = start + step*ii >= 0r[i] < stopনেতিবাচক পদক্ষেপের জন্য , ব্যাপ্তির বিষয়বস্তুগুলি সূত্রের দ্বারা এখনও নির্ধারিত হয় তবে সীমাবদ্ধতাগুলি হ'ল এবং ।r[i] = start + step*ii >= 0r[i] > stopr[0]মান সীমাবদ্ধতা পূরণ না করলে একটি ব্যাপ্তি অবজেক্ট খালি হবে । ব্যাপ্তিগুলি নেতিবাচক সূচকে সমর্থন করে তবে এগুলি ইতিবাচক সূচকগুলি দ্বারা নির্ধারিত ক্রমের শেষে থেকে সূচক হিসাবে ব্যাখ্যা করা হয়।sys.maxsizeঅনুমতি ব্যতীত নিখুঁত মান সমেত রেঞ্জগুলি কিছু বৈশিষ্ট্য (যেমনlen()) উত্থাপন করতে পারেOverflowError।ব্যাপ্তি উদাহরণ:
পরিসীমাগুলি কনটেনটেশন এবং পুনরাবৃত্তি ব্যতীত সমস্ত সাধারণ সিকোয়েন্স ক্রিয়াকলাপ বাস্তবায়ন করে (এই কারণে যে পরিসীমা অবজেক্টগুলি কেবল এমন ক্রমগুলি উপস্থাপন করতে পারে যা একটি কঠোর প্যাটার্ন অনুসরণ করে এবং পুনরাবৃত্তি এবং কনটেনটেশন সাধারণত সেই প্যাটার্নটি লঙ্ঘন করে)।-
start- প্রারম্ভিক প্যারামিটারের মান (বা
0যদি প্যারামিটার সরবরাহ না করা হত)
stop- স্টপ প্যারামিটারের মান
step- পদক্ষেপের প্যারামিটারের মান (বা
1যদি প্যারামিটার সরবরাহ না করা থাকে)
rangeএকটি নিয়মিতlistবা এই জাতীয় ধরণের সুবিধাটিtupleহ'ল কোনওrangeবস্তু সর্বদা সমান (ছোট) পরিমাণ পরিমাণ মেমরি গ্রহণ করবে, এটি যে আকারের প্রতিনিধিত্ব করে তার আকার নির্ধারণ করে না (যেমন এটি কেবলমাত্র এবং মানগুলি সঞ্চয় করেstart, পৃথক আইটেম এবং সাব্রেনজগুলি গণনা করে প্রয়োজন)।stopstepরেঞ্জ অবজেক্টসcollections.abc.Sequenceএবিসি বাস্তবায়ন করে , এবং ধারনকারী পরীক্ষা, উপাদান সূচি প্রদর্শন, স্লাইসিং এবং নেতিবাচক সূচকের জন্য সমর্থন হিসাবে বৈশিষ্ট্যগুলি সরবরাহ করে ( সিকোয়েন্স প্রকারগুলি - তালিকা, টিপল, সীমা দেখুন ):টেস্টিং পরিসর সমতার জন্য বস্তু==এবং!=তাদের ক্রম হিসাবে তুলনা করা হয়। এটি হ'ল দুটি পরিসরের বস্তু সমান হিসাবে বিবেচিত হবে যদি তারা মানগুলির একই ক্রমকে উপস্থাপন করে। (নোট যে দুটি পরিসর যে বস্তু সমান তুলনা বিভিন্ন থাকতে পারেstart,stopএবংstepবৈশিষ্ট্যাবলী, উদাহরণস্বরূপ বা ।)range(0) == range(2, 1, 3)range(0, 3, 2) == range(0, 4, 2)সংস্করণ 3.2 এ পরিবর্তিত হয়েছে: সিকোয়েন্স এবিসি বাস্তবায়ন করুন। কাটা এবং নেতিবাচক সূচকগুলি সমর্থন করুন।intসমস্ত আইটেমের মাধ্যমে পুনরাবৃত্তির পরিবর্তে স্থির সময়ে সদস্যতার জন্য অবজেক্টগুলি পরীক্ষা করুন ।সংস্করণ ৩.৩ এ পরিবর্তিত হয়েছে: '==' এবং '! =' সংজ্ঞায়িত মানগুলির ক্রম অনুসারে (বস্তুর পরিচয়ের ভিত্তিতে তুলনা করার পরিবর্তে) রেঞ্জ অবজেক্টগুলির তুলনা করতে।আরো দেখুন- Linspace রেসিপি দেখায় কিভাবে ফ্লোটিং পয়েন্ট অ্যাপ্লিকেশনের জন্য উপযুক্ত পরিসীমা একটি অলস সংস্করণ বাস্তবায়ন।
পাঠ্যক্রমের ধরণের প্রকার -
strপাইথনে পাঠ্য ডেটাstrঅবজেক্টস বা স্ট্রিং দিয়ে পরিচালনা করা হয় । স্ট্রিংগুলি ইউনিকোড কোড পয়েন্টের অপরিবর্তনীয় ক্রম । স্ট্রিং লিটারেল বিভিন্ন উপায়ে রচিত:- একক উদ্ধৃতি:
'allows embedded "double" quotes' - ডবল কোট: ।
"allows embedded 'single' quotes" - ট্রিপল উদ্ধৃত: ,
'''Three single quotes'''"""Three double quotes"""
ট্রিপল কোট করা স্ট্রিংগুলি একাধিক লাইন বিস্তৃত হতে পারে - সমস্ত সম্পর্কিত হোয়াইটস্পেস স্ট্রিং আক্ষরিক মধ্যে অন্তর্ভুক্ত করা হবে।স্ট্রিং লিটারেলগুলি যা একটি একক অভিব্যক্তির অংশ এবং তাদের মধ্যে কেবল সাদা স্থান রয়েছে তা স্পষ্টতই একক স্ট্রিং লিটারে রূপান্তরিত হবে। যে ,।("spam " "eggs") == "spam eggs"সমর্থিত এস্কেপ সিকোয়েন্স সহ স্ট্রিং আক্ষরিক বিভিন্ন ধরণের সম্পর্কে আরও জানতে স্ট্রিং এবং বাইটস আক্ষরিক দেখুন এবংr("কাঁচা") উপসর্গ যা সর্বাধিক অব্যাহতি সিকোয়েন্স প্রক্রিয়াজাতকরণ অক্ষম করে।strকনস্ট্রাক্টর ব্যবহার করে স্ট্রিংগুলি অন্যান্য অবজেক্ট থেকেও তৈরি করা যেতে পারে ।যেহেতু কোন পৃথক "চরিত্র" টাইপ, একটি স্ট্রিং সূচিবদ্ধ দৈর্ঘ্য 1. যেমন, একটি অ খালি স্ট্রিং জন্য স্ট্রিং উত্পাদন করে গুলি , ।s[0] == s[0:1]কোনও পরিবর্তনীয় স্ট্রিংয়ের ধরণও নেই, তবে একাধিক টুকরো থেকে দক্ষতার সাথে স্ট্রিং তৈরি করতেstr.join()বাio.StringIOব্যবহার করা যেতে পারে।সংস্করণ 3.3 এ পরিবর্তিত হয়েছে: পাইথন 2 সিরিজের সাথে পিছনের সামঞ্জস্যের জন্য,uউপসর্গটি আবার স্ট্রিং লিটারালগুলিতে অনুমোদিত। স্ট্রিং আক্ষরিক অর্থের উপর এটির কোনও প্রভাব নেই এবং এটিrউপসর্গের সাথে একত্রিত হতে পারে না ।- শ্রেণি
str( অবজেক্ট = '' ) - শ্রেণি
str( অবজেক্ট = বি '' , এনকোডিং = 'utf-8' , ত্রুটিগুলি = 'কঠোর' ) - বস্তুর একটি স্ট্রিং সংস্করণ ফিরিয়ে দিন । যদি অবজেক্টটি সরবরাহ করা না হয় তবে খালি স্ট্রিংটি প্রদান করে। অন্যথায়, এর কোডটি এনকোডিং বা ত্রুটিগুলি নীচে দেওয়া
str()হয়েছে কিনা তার উপর নির্ভর করে ।যদি এনকোডিং বা ত্রুটি না দেওয়া হয়, তবেstr(object)রিটার্নobject.__str__(), যা "অনানুষ্ঠানিক" বা অবজেক্টের সুন্দরভাবে মুদ্রণযোগ্য স্ট্রিং প্রতিনিধিত্ব । স্ট্রিং অবজেক্টের জন্য এটি নিজেই স্ট্রিং। যদি অবজেক্টের কোনও__str__()পদ্ধতি না থাকে , তবেstr()ফিরে আসার পিছনে পড়ে যায়repr(object)।যদি কমপক্ষে একটি এনকোডিং বা ত্রুটি দেওয়া থাকে তবে অবজেক্টটি বাইটস-এর মতো বস্তু হওয়া উচিত (যেমনbytesবাbytearray)। এই ক্ষেত্রে, যদি বস্তুটি একটিbytes(বাbytearray) অবজেক্ট হয় তবে তার সমান । অন্যথায়, বাফার অবজেক্টের অন্তর্নিহিত বাইটস বস্তু কল করার আগে পাওয়া যায় । দেখুন বাইট, bytearray, memoryview - বাইনারি সিকোয়েন্স প্রকারভেদ এবং বাফার প্রোটোকল বাফার বস্তুর উপর তথ্যের জন্য।str(bytes, encoding, errors)bytes.decode(encoding, errors)bytes.decode()এনকোডিং বা ত্রুটি যুক্তি ছাড়াই কোনওbytesবস্তু পাস করা অনানুষ্ঠানিক স্ট্রিং প্রতিনিধিত্ব ফিরিয়ে দেওয়ার প্রথম ক্ষেত্রে ( পাইথনের কমান্ড-লাইন বিকল্পটিও দেখুন) under উদাহরণ স্বরূপ:str()-b
strশ্রেণি এবং এর পদ্ধতিগুলি সম্পর্কে আরও তথ্যের জন্য , পাঠ্য সিকোয়েন্স প্রকার - str এবং নীচে স্ট্রিং পদ্ধতি বিভাগটি দেখুন। বিন্যাসিত স্ট্রিংগুলি আউটপুট করতে, বিন্যাসিত স্ট্রিং লিটারেল এবং ফর্ম্যাট স্ট্রিং সিনট্যাক্স বিভাগগুলি দেখুন। এছাড়াও, পাঠ্য প্রক্রিয়াকরণ পরিষেবাদি বিভাগটি দেখুন।
স্ট্রিং পদ্ধতি
স্ট্রিংগুলি নীচে বর্ণিত অতিরিক্ত পদ্ধতিগুলির সাথে সাথে সমস্ত সাধারণ ক্রম ক্রিয়াকলাপ বাস্তবায়ন করে।স্ট্রিংগুলি স্ট্রিং ফর্ম্যাটিংয়ের দুটি স্টাইলকে সমর্থন করে, একটি স্বাচ্ছন্দ্য এবং কাস্টমাইজেশনের একটি বৃহত্তর ডিগ্রি সরবরাহ করে (দেখুনstr.format(), ফর্ম্যাট স্ট্রিং সিনট্যাক্স এবং কাস্টম স্ট্রিং ফর্ম্যাটিং ) এবং অন্যটি সিprintfস্টাইল বিন্যাসের উপর ভিত্তি করে যা বিভিন্ন ধরণের সংকীর্ণ পরিসর পরিচালনা করে এবং ব্যবহার করা কিছুটা শক্ত সঠিকভাবে, তবে এটি হ্যান্ডেল করতে পারে এমন ক্ষেত্রেগুলির জন্য প্রায় দ্রুত ( প্রিন্টফাইলে স্ট্রিং ফরম্যাটিং ) isটেক্সট প্রসেসিং সার্ভিস মান লাইব্রেরির অধ্যায় অন্যান্য মডিউল যা (ইন রেগুলার এক্সপ্রেশন সমর্থন সহ বিভিন্ন ধরনের পাঠ্য সম্পর্কিত ইউটিলিটি প্রদান একটি নম্বর জুড়েreমডিউল)।str.capitalize( )- স্ট্রিংয়ের একটি অনুলিপিটি তার প্রথম অক্ষরের সাথে মূলধন এবং বাকীটি নিম্নের সাথে ফিরে আসুন।সংস্করণ ৩.৮ এ পরিবর্তিত হয়েছে: প্রথম চরিত্রটি এখন বড় হাতের চেয়ে টাইটেলকেসে রাখা হয়েছে। এর অর্থ হ'ল ডিগ্রাফগুলির মতো অক্ষরগুলি সম্পূর্ণ অক্ষরের পরিবর্তে কেবলমাত্র তাদের প্রথম অক্ষরের মূলধন হবে।
str.casefold( )- স্ট্রিংয়ের কেসফোল্ডড কপিটি ফিরিয়ে দিন। কেসফোল্ডড স্ট্রিংগুলি কেসলেস ম্যাচের জন্য ব্যবহার করা যেতে পারে।কেসফোল্ডিং হ্রাস করা একই রকম তবে আরও আক্রমণাত্মক কারণ এটি স্ট্রিংয়ের ক্ষেত্রে সমস্ত ক্ষেত্রে পার্থক্যগুলি সরিয়ে ফেলার উদ্দেশ্যে is উদাহরণস্বরূপ, জার্মান ছোট হাতের অক্ষর
'ß'সমান"ss"। যেহেতু এটি ইতিমধ্যে ছোট হাতের অক্ষর,lower()তাই কিছুই করবে না'ß';casefold()এটি রূপান্তরিত"ss"।কেসফোল্ডিং অ্যালগরিদমটি ইউনিকোড স্ট্যান্ডার্ডের ৩.১৩ অনুচ্ছেদে বর্ণিত হয়েছে।৩.৩ সংস্করণে নতুন।
str.center( প্রস্থ [ , fillchar ] )- দৈর্ঘ্যের প্রস্থের একটি স্ট্রিংকে কেন্দ্র করে ফিরে আসুন । প্যাডিং নির্দিষ্ট ফিলচার (ডিফল্ট একটি ASCII স্পেস) ব্যবহার করে সম্পন্ন করা হয় । প্রস্থটি এর চেয়ে কম বা সমান হলে মূল স্ট্রিংটি ফেরত দেওয়া হয়
len(s)।
str.count( সাব [ , শুরু [ , শেষ ] ] )- পরিসরে সাবস্ট্রিং সাব -অ-ওভারল্যাপিং সংঘটনগুলির সংখ্যা [ প্রারম্ভিক , সমাপ্তি ] ফিরিয়ে দিন । ঐচ্ছিক আর্গুমেন্ট শুরু এবং শেষ ফালি স্বরলিপি হিসেবে ব্যাখ্যা করা হয়।
str.encode( এনকোডিং = "utf-8" , ত্রুটিগুলি = "কঠোর" )- বাইটস অবজেক্ট হিসাবে স্ট্রিংয়ের একটি এনকোডড সংস্করণ ফেরান। ডিফল্ট এনকোডিং হয়
'utf-8'। ত্রুটিগুলি একটি ভিন্ন ত্রুটি পরিচালনার স্কিম সেট করতে দেওয়া যেতে পারে। ত্রুটির জন্য ডিফল্ট হ'ল'strict'অর্থ এনকোডিং ত্রুটিগুলি উত্থাপন করেUnicodeError। অন্যান্য সম্ভাব্য মান হয়'ignore','replace','xmlcharrefreplace','backslashreplace'এবং অন্য কোন নাম মাধ্যমে নিবন্ধিতcodecs.register_error()দেখুন অধ্যায় ত্রুটি হ্যান্ডলার । সম্ভাব্য এনকোডিংগুলির তালিকার জন্য বিভাগ স্ট্যান্ডার্ড এনকোডিংগুলি দেখুন ।সংস্করণ 3.1 এ পরিবর্তিত হয়েছে: কীওয়ার্ড আর্গুমেন্টগুলির জন্য সমর্থন যোগ করা হয়েছে।
str.endswith( প্রত্যয় [ , শুরু [ , শেষ ] ] )Trueস্ট্রিংটি নির্দিষ্ট প্রত্যয় দিয়ে শেষ হলে ফিরে আসুন , অন্যথায় ফিরে আসুনFalse। প্রত্যয়টি সন্ধানের জন্য প্রত্যয়গুলির একটি দ্বিগুণ হতে পারে। Alচ্ছিক শুরু করার সাথে , পরীক্ষাটি সেই অবস্থানে শুরু করুন। Endচ্ছিক শেষের সাথে, সেই অবস্থানের সাথে তুলনা করা বন্ধ করুন।
str.expandtabs( ট্যাবসাইজ = 8 )- বর্তমান কলাম এবং প্রদত্ত ট্যাব আকারের উপর নির্ভর করে স্ট্রিংয়ের একটি অনুলিপি যেখানে সমস্ত ট্যাব অক্ষরকে এক বা একাধিক স্পেস দ্বারা প্রতিস্থাপন করা হবে Return ট্যাব অবস্থানগুলি প্রতিটি ট্যাবসাইজ অক্ষরে ঘটে (ডিফল্ট 8 হয়, 0, 8, 16 এবং কলামে ট্যাব অবস্থান প্রদান করে)। স্ট্রিংটি প্রসারিত করতে, বর্তমান কলামটি শূন্যে সেট করা হয়েছে এবং স্ট্রিংটি অক্ষর দ্বারা অক্ষর পরীক্ষা করা হয়। যদি অক্ষরটি একটি ট্যাব হয় (
\t), বর্তমান কলামটি পরবর্তী ট্যাব অবস্থানের সমান না হওয়া পর্যন্ত এক বা একাধিক স্পেস অক্ষর ফলাফলটিতে সন্নিবেশ করা হয়। (ট্যাব অক্ষরটি নিজেই অনুলিপি করা হয়নি)) অক্ষরটি যদি একটি নতুন লাইন হয় (\n) বা ফিরে আসে (\r), এটি অনুলিপি করা হয়েছে এবং বর্তমান কলামটি শূন্যে পুনরায় সেট করা হয়েছে। অন্য কোনও অক্ষর অপরিবর্তিতভাবে অনুলিপি করা হয় এবং মুদ্রণের সময় চরিত্রটি কীভাবে উপস্থাপন করা হয় তা নির্বিশেষে বর্তমান কলামটি একটি দ্বারা বাড়ানো হয়।
str.find( সাব [ , শুরু [ , শেষ ] ] )- স্ট্রিংয়ের মধ্যে সর্বনিম্ন সূচকটি ফিরে আসুন যেখানে স্লাইসের মধ্যে সাবস্ট্রিং সাব পাওয়া যায়
s[start:end]। ঐচ্ছিক আর্গুমেন্ট শুরু এবং শেষ ফালি স্বরলিপি হিসেবে ব্যাখ্যা করা হয়। সাব না পাওয়া-1গেলে ফিরে আসুন ।
str.format( * আরগস , ** কোয়ার্গস )- একটি স্ট্রিং ফর্ম্যাটিং অপারেশন সম্পাদন করুন। এই পদ্ধতিটিকে যে স্ট্রিং বলা হয় সেটিতে ধনুর্বন্ধনী দ্বারা সীমাবদ্ধ আক্ষরিক পাঠ্য বা প্রতিস্থাপন ক্ষেত্র থাকতে পারে
{}। প্রতিটি প্রতিস্থাপন ক্ষেত্রটি হয় স্থিতিগত আর্গুমেন্টের সাংখ্যিক সূচক, বা কোনও কীওয়ার্ড আর্গুমেন্টের নাম। স্ট্রিংয়ের অনুলিপি প্রদান করে যেখানে প্রতিটি প্রতিস্থাপন ক্ষেত্রটি সম্পর্কিত আর্গুমেন্টের স্ট্রিংয়ের মান দিয়ে প্রতিস্থাপিত হয়।ফর্ম্যাট স্ট্রিংগুলিতে নির্দিষ্ট করা যেতে পারে এমন বিভিন্ন ফর্ম্যাটিং বিকল্পগুলির বিবরণের জন্য ফর্ম্যাট স্ট্রিং সিনট্যাক্সটি দেখুন ।বিঃদ্রঃ
যখন একটি নম্বর বিন্যাস (int,float,complex,decimal.Decimalএবং উপশ্রেণী) সঙ্গেnটাইপ (উদা:'{:n}'.format(1234)), ফাংশন সাময়িকভাবে সেট করেLC_CTYPEলোকেল করতেLC_NUMERICডিকোড করতে লোকেলdecimal_pointএবংthousands_sepক্ষেত্রlocaleconv()যদি তারা নন- ASCII বা তারও বেশি সময় নেই 1 বাইট, এবংLC_NUMERICলোকেল ভিন্নLC_CTYPEলোকেলের চেয়ে এই অস্থায়ী পরিবর্তনটি অন্যান্য থ্রেডগুলিকে প্রভাবিত করে।সংস্করণ ৩.7-এ পরিবর্তিত হয়েছে:nপ্রকারের সাথে একটি সংখ্যা বিন্যাস করার সময় , ফাংশনটি কিছু ক্ষেত্রেLC_CTYPEলোকালকে অস্থায়ীভাবে স্থানীয়ভাবে সেট করেLC_NUMERIC।
str.format_map( ম্যাপিং )- এর মতো
str.format(**mapping), এটিmappingসরাসরি ব্যবহার করা হয় এবং এ-তে অনুলিপি করা হয়dict। উদাহরণস্বরূপmappingএকটি ডিক সাবক্লাস হলে এটি কার্যকর হয় :সংস্করণে নতুন 3.2।
str.index( সাব [ , শুরু [ , শেষ ] ] )
str.isalnum( )- স্ট্রিংয়ের সমস্ত অক্ষর বর্ণানুক্রমিক এবং কমপক্ষে একটি অক্ষর থাকলে অন্যথায় মিথ্যা হলে সত্যটি প্রত্যাবর্তন করুন। একটি চরিত্র
cআলফানিউমেরিক নিম্নলিখিত আয় এক যদিTrue:c.isalpha(),c.isdecimal(),c.isdigit(), অথবাc.isnumeric()।
str.isalpha( )- স্ট্রিংয়ের সমস্ত অক্ষর বর্ণানুক্রমিক এবং কমপক্ষে একটি অক্ষর থাকলে অন্যথায় মিথ্যা হলে সত্যটি প্রত্যাবর্তন করুন। বর্ণমালা অক্ষর হ'ল ইউনিকোড অক্ষর ডাটাবেসে "অক্ষর" হিসাবে সংজ্ঞায়িত সেই অক্ষরগুলি, অর্থাত্, সাধারণ বিভাগের সম্পত্তি যাদের "এলএম", "লেটি", "লু", "এলএল" বা "লো" এর মধ্যে অন্যতম। নোট করুন যে এটি ইউনিকোড স্ট্যান্ডার্ডে সংজ্ঞায়িত "বর্ণমালার" বৈশিষ্ট্য থেকে পৃথক।
str.isascii( )- স্ট্রিংটি ফাঁকা থাকলে বা স্ট্রিংয়ের সমস্ত অক্ষর ASCII, অন্যথায় মিথ্যা হলে সত্যটি প্রত্যাবর্তন করুন। এএসসিআইআই অক্ষরের U + 0000-U + 007F পরিসীমাতে কোড পয়েন্ট রয়েছে।সংস্করণে নতুন 7.।।
str.isdecimal( )- যদি স্ট্রিংয়ের সমস্ত অক্ষর দশমিক অক্ষর হয় এবং কমপক্ষে একটি অক্ষর থাকে তবে অন্যথায় মিথ্যা হয় Return দশমিক অক্ষরগুলি হ'ল 10 বেস হিসাবে সংখ্যা গঠনের জন্য ব্যবহার করা যেতে পারে, যেমন ইউ + 0660, আরবিক-ইন্ডিক ডিজিট জিরো। সাধারণত একটি দশমিক অক্ষর ইউনিকোড সাধারণ বিভাগ "এনডি" এর একটি চরিত্র।
str.isdigit( )- যদি স্ট্রিংয়ের সমস্ত অক্ষর অঙ্ক হয় এবং কমপক্ষে একটি অক্ষর থাকে তবে অন্যথায় মিথ্যা হয় Return অঙ্কগুলিতে দশমিক অক্ষর এবং অঙ্কগুলি অন্তর্ভুক্ত থাকে যার জন্য বিশেষ হ্যান্ডলিংয়ের দরকার হয়, যেমন সামঞ্জস্য সুপারিশ স্ক্রিপ্ট অঙ্কগুলি। এটি এমন অঙ্কগুলি কভার করে যা খারাস্থি সংখ্যাগুলির মতো বেস 10 তে সংখ্যা তৈরি করতে ব্যবহার করা যায় না। সাধারণত, একটি ডিজিট এমন একটি অক্ষর যা বৈশিষ্ট্যযুক্ত মান সংখ্যাগত_ টাইপ = ডিজিট বা সংখ্যাবাচক টাইপ = দশমিক।
str.isidentifier( )- ভাষার সংজ্ঞা, বিভাগ শনাক্তকারী এবং কীওয়ার্ড অনুসারে স্ট্রিংটি বৈধ সনাক্তকারী হলে সত্যটি প্রত্যাবর্তন করুন ।
keyword.iskeyword()স্ট্রিংsকোনও সংরক্ষিত শনাক্তকারী, যেমনdefএবং এর জন্য পরীক্ষা করার জন্য কল করুনclass।উদাহরণ:
str.islower( )- যদি স্ট্রিংয়ের 4 টি কেসযুক্ত অক্ষর ছোট হাতের হয় এবং কমপক্ষে একটি কেসড অক্ষর থাকে তবে অন্যথায় মিথ্যা হয় Return
str.isnumeric( )- স্ট্রিংয়ের সমস্ত অক্ষর যদি সংখ্যাসূচক অক্ষর হয় এবং সত্য হয় তা প্রত্যাবর্তন করুন অন্যথায় মিথ্যা। সংখ্যাসূচক অক্ষরগুলিতে অঙ্কের অক্ষর এবং সমস্ত অক্ষরগুলির মধ্যে ইউনিকোডের সংখ্যাসূচক মানের বৈশিষ্ট্য থাকে, যেমন U + 2155, VULGAR FRACTION वन ফিফথ। সাধারণত, সংখ্যার অক্ষরগুলি হ'ল সংখ্যাসূচক বৈশিষ্ট্যগুলি হ'ল সংখ্যাসূচক টাইপ = ডিজিট, সংখ্যাসূচক টাইপ = দশমিক বা সংখ্যাসূচক টাইপ = সংখ্যাযুক্ত।
str.isprintable( )- স্ট্রিংয়ের সমস্ত অক্ষর মুদ্রণযোগ্য বা স্ট্রিং খালি, অন্যথায় মিথ্যা হলে সত্যটি প্রত্যাবর্তন করুন। অ-প্রিন্টেবল অক্ষরগুলি হ'ল অক্ষরগুলি হ'ল ইউনিকোড অক্ষর ডাটাবেসে "অন্যান্য" বা "বিভাজক" হিসাবে সংজ্ঞায়িত, ASCII স্থান বাদে (0x20) যা মুদ্রণযোগ্য বলে বিবেচিত হয়। (দ্রষ্টব্য যে এই প্রসঙ্গে মুদ্রণযোগ্য অক্ষরগুলি সেগুলি যা
repr()কোনও স্ট্রিংয়ে ডাকা হওয়ার সময় এড়ানো উচিত নয় tosys.stdoutবা এতে লেখা স্ট্রিংগুলি পরিচালনা করার ক্ষেত্রে এর কোনও প্রভাব নেইsys.stderr))
str.isspace( )- যদি স্ট্রিংয়ে কেবল শ্বেতক্ষেত্রের অক্ষর থাকে এবং কমপক্ষে একটি অক্ষর থাকে তবে অন্যথায় মিথ্যা হলে সত্যটি প্রত্যাবর্তন করুন।একটি চরিত্র হোয়াইটস্পেস ইউনিকোড অক্ষর ডাটাবেসের মধ্যে যদি (দেখুন
unicodedata), নয়তো তার সাধারণ বিভাগ নেইZs( "বিভাজক, স্থান"), অথবা তার দ্বিমুখী বর্গ একWS,BঅথবাS।
str.istitle( )- সত্যটি প্রত্যাবর্তন করুন যদি স্ট্রিংটি শিরোনামযুক্ত স্ট্রিং হয় এবং সেখানে কমপক্ষে একটি অক্ষর থাকে তবে উদাহরণস্বরূপ বড় হাতের অক্ষরগুলি কেবল অবরুদ্ধ অক্ষর এবং ছোট হাতের অক্ষরগুলি অনুসরণ করতে পারে যা কেবলমাত্র অক্ষরযুক্ত থাকে। অন্যথায় মিথ্যা ফিরে।
str.isupper( )- সত্যটিতে প্রত্যাবর্তন করুন যদি স্ট্রিংয়ের 4 টি কেসযুক্ত অক্ষরগুলি বড় হাতের হয় এবং কমপক্ষে একটি কেসড অক্ষর থাকে, অন্যথায় মিথ্যা।
str.join( পুনরাবৃত্তিযোগ্য )
str.ljust( প্রস্থ [ , fillchar ] )- স্ট্রিং দৈর্ঘ্য এর একটি স্ট্রিং সমর্থনযোগ্য বাম ফিরুন প্রস্থ । প্যাডিং নির্দিষ্ট ফিলচার (ডিফল্ট একটি ASCII স্পেস) ব্যবহার করে সম্পন্ন করা হয় । প্রস্থটি এর চেয়ে কম বা সমান হলে মূল স্ট্রিংটি ফেরত দেওয়া হয়
len(s)।
str.lower( )-
ব্যবহৃত লোয়ারকেসিং অ্যালগরিদমটি ইউনিকোড স্ট্যান্ডার্ডের ৩.১৩ অনুচ্ছেদে বর্ণিত হয়েছে।
str.lstrip( [ চরস ] )- মুখ্য অক্ষরগুলি সরানো সহ স্ট্রিংয়ের একটি অনুলিপি ফেরান। অক্ষর যুক্তি স্ট্রিং অক্ষরের সেট নির্দিষ্ট অপসারণ করা হয়। যদি বাদ দেওয়া হয় বা
None, চরগুলি আর্গুমেন্ট সাদা করার স্থানটি ডিফল্ট করে। অক্ষর যুক্তি উপসর্গ নয়; বরং এর মানগুলির সমস্ত সংমিশ্রণগুলি ছিনিয়ে নেওয়া হয়:
- স্থির
str.maketrans( x [ , y [ , z ] ] ) -
যদি কেবল একটি যুক্তি থাকে তবে এটি অবশ্যই ইউনিকোড অর্ডিনালগুলি (পূর্ণসংখ্যার) বা অক্ষর (1 দৈর্ঘ্যের স্ট্রিং) থেকে ইউনিকোড অর্ডিনাল, স্ট্রিং (স্বেচ্ছা দৈর্ঘ্যের) বা ম্যাপিং করতে হবে
None। অক্ষর কীগুলি তখন অর্ডিনালে রূপান্তরিত হবে।যদি দুটি আর্গুমেন্ট থাকে তবে সেগুলি অবশ্যই সমান দৈর্ঘ্যের স্ট্রিং হওয়া উচিত এবং ফলস্বরূপ অভিধানে x এর প্রতিটি অক্ষর y অক্ষরে অক্ষরে ম্যাপ করা হবে। যদি কোনও তৃতীয় যুক্তি থাকে, তবে এটি অবশ্যই একটি স্ট্রিং হতে হবে, যার চরিত্রগুলিকে ফলাফলটিতে ম্যাপ করা হবেNone।
str.partition( sep )- প্রথম সংঘটন এ স্ট্রিং বিভক্ত সেপ্টেম্বর , এবং একটি 3-tuple বিভাজক, বিভাজক নিজেই, এবং বিভাজক পর অংশ এর আগের অংশ ধারণকারী ফিরে যান। বিভাজকটি পাওয়া না গেলে, দুটি খালি স্ট্রিংয়ের পরে স্ট্রিং যুক্ত একটি 3-টুপল ফিরে করুন return
str.replace( পুরানো , নতুন [ , গণনা ] )- নতুন দ্বারা প্রতিস্থাপিত পুরানো স্ট্রিংয়ের সমস্ত উপস্থিতি সহ স্ট্রিংয়ের একটি অনুলিপি ফেরান । যদি alচ্ছিক আর্গুমেন্ট গণনা দেওয়া হয় তবে কেবল প্রথম গণনার উপস্থিতি প্রতিস্থাপন করা হবে।
str.rfind( সাব [ , শুরু [ , শেষ ] ] )- স্ট্রিং যেখানে সাবস্ট্রিং সর্বোচ্চ সূচক ফিরুন সাব পাওয়া যায়, যেমন যে সাব মধ্যে অন্তর্ভুক্ত করা হয়
s[start:end]। ঐচ্ছিক আর্গুমেন্ট শুরু এবং শেষ ফালি স্বরলিপি হিসেবে ব্যাখ্যা করা হয়।-1ব্যর্থতা ফিরে ।
str.rindex( সাব [ , শুরু [ , শেষ ] ] )
str.rjust( প্রস্থ [ , fillchar ] )- দৈর্ঘ্যের প্রস্থের স্ট্রিংয়ে ন্যায়সঙ্গত স্ট্রিংটি ফিরিয়ে দিন । প্যাডিং নির্দিষ্ট ফিলচার (ডিফল্ট একটি ASCII স্পেস) ব্যবহার করে সম্পন্ন করা হয় । প্রস্থটি এর চেয়ে কম বা সমান হলে মূল স্ট্রিংটি ফেরত দেওয়া হয়
len(s)।
str.rpartition( sep )- শেষ সংঘটন এ স্ট্রিং বিভক্ত সেপ্টেম্বর , এবং একটি 3-tuple বিভাজক, বিভাজক নিজেই, এবং বিভাজক পর অংশ এর আগের অংশ ধারণকারী ফিরে যান। বিভাজকটি পাওয়া না গেলে, দুটি খালি স্ট্রিং যুক্ত একটি 3-টুপল ফিরে আসুন, তারপরে নিজেই স্ট্রিংটি দিন।
str.rsplit( সেপ = কোনওটি নয় , ম্যাক্সস্প্লিট = -1 )- ডিলিমিটার স্ট্রিং হিসাবে সেপ ব্যবহার করে স্ট্রিংয়ের শব্দের একটি তালিকা ফেরত দিন । তাহলে maxsplit সর্বাধিক দেওয়া হয় maxsplit টুকরা করা হয়, ডানদিকে অবস্থিত বেশী। যদি সেপ নির্দিষ্ট না করা হয় বা
None, কোনও সাদা স্থান স্ট্রিং একটি বিভাজক। ডান থেকে বিভাজন ব্যতীত নীচে বিশদে বর্ণিতrsplit()মত আচরণsplit()করে।
str.rstrip( [ চরস ] )- পেছনের অক্ষরগুলি সরিয়ে স্ট্রিংয়ের একটি অনুলিপি ফেরান। অক্ষর যুক্তি স্ট্রিং অক্ষরের সেট নির্দিষ্ট অপসারণ করা হয়। যদি বাদ দেওয়া হয় বা
None, চরগুলি আর্গুমেন্ট সাদা করার স্থানটি ডিফল্ট করে। অক্ষর যুক্তি প্রত্যয় নয়; বরং এর মানগুলির সমস্ত সংমিশ্রণগুলি ছিনিয়ে নেওয়া হয়:
str.split( সেপ = কোনওটি নয় , ম্যাক্সস্প্লিট = -1 )- ডিলিমিটার স্ট্রিং হিসাবে সেপ ব্যবহার করে স্ট্রিংয়ের শব্দের একটি তালিকা ফেরত দিন । যদি ম্যাক্সস্প্লিট দেওয়া হয়, সর্বাধিক ম্যাক্সপ্লিট স্প্লিট হয় (সুতরাং, তালিকায় বেশিরভাগ
maxsplit+1উপাদান থাকবে)। যদি ম্যাক্সস্প্লিট নির্দিষ্ট না করা হয় বা-1, তবে বিভাজনের সংখ্যার কোনও সীমা নেই (সমস্ত সম্ভাব্য বিভাজন তৈরি করা হয়)।যদি সেপ দেওয়া হয়, একটানা প্রেরণকারীদের একত্রে গোষ্ঠী করা হয় না এবং খালি স্ট্রিংগুলি সীমিত করা হিসাবে ধরা হয় (উদাহরণস্বরূপ,'1,,2'.split(',')প্রত্যাবর্তন )। সেপ্টেম্বর যুক্তি একাধিক অক্ষর (উদাহরণস্বরূপ, গঠিত হতে পারে আয় )। একটি নির্দিষ্ট বিভাজক ফেরতের সাথে একটি খালি স্ট্রিং বিভক্ত করা ।['1', '', '2']'1<>2<>3'.split('<>')['1', '2', '3']['']উদাহরণ স্বরূপ:
যদি সেপটি নির্দিষ্ট না করা হয় বা হয় তবেNoneএকটি পৃথক বিভাজনযুক্ত অ্যালগরিদম প্রয়োগ করা হয়: একটানা হোয়াইটস্পেসের রানগুলি একক বিভাজক হিসাবে বিবেচিত হয়, এবং স্ট্রিংটির নেতৃত্বাধীন বা পেছনের সাদা অংশ থাকলে ফলাফলের শুরু বা শেষের কোনও খালি স্ট্রিং থাকবে না। ফলস্বরূপ, খালি স্ট্রিং বা একটি পৃথক পৃথকNoneফেরতের সাথে কেবল শ্বেত স্পেস সমন্বিত একটি স্ট্রিং বিভক্ত করা[]।উদাহরণ স্বরূপ:
str.splitlines( [ রক্ষণাবেক্ষণ ] )- লাইনের সীমানা ভেঙে স্ট্রিংয়ের লাইনের একটি তালিকা ফেরত দিন। লাইফ ব্রেকগুলি ফলাফলের তালিকায় অন্তর্ভুক্ত করা হয় না যদি না রক্ষণাবেক্ষণ দেওয়া হয় এবং সত্য হয়।এই পদ্ধতিটি নিম্নলিখিত রেখার সীমানায় বিভক্ত হয়। বিশেষত, সীমানা সর্বজনীন নিউলাইনগুলির একটি সুপারস্টার ।প্রতিনিধিত্ববিবরণ
\nলাইন ফিড\rগাড়ি ফেরত\r\nক্যারেজ রিটার্ন + লাইন ফিড\vঅথবা\x0bলাইন ট্যাবুলেশন\fঅথবা\x0cফর্ম ফিড\x1cফাইল বিভাজক\x1dগ্রুপ বিভাজনকারী\x1eরেকর্ড বিভাজক\x85পরবর্তী লাইন (C1 নিয়ন্ত্রণ কোড)\u2028লাইন বিভাজক\u2029অনুচ্ছেদ বিভাজকসংস্করণ 3.2 এ পরিবর্তিত হয়েছে:\vএবং\fলাইন সীমানার তালিকায় যুক্ত হয়েছে।উদাহরণ স্বরূপ:
split()যখন একটি ডিলিমিটার স্ট্রিং সেপ দেওয়া হয় তার বিপরীতে , এই পদ্ধতিটি খালি স্ট্রিংয়ের জন্য একটি খালি তালিকা দেয় এবং একটি টার্মিনাল লাইন বিরতি অতিরিক্ত লাইনের ফল দেয় না:
তুলনার জন্য,split('\n')দেয়:
str.startswith( প্রিফিক্স [ , শুরু [ , শেষ ] ] )Trueস্ট্রিং উপসর্গ দিয়ে শুরু হলে ফিরে যান, অন্যথায় ফিরে আসুনFalse। উপসর্গটি সন্ধানের জন্য উপসর্গগুলির একটি দ্বিগুণও হতে পারে। Alচ্ছিক শুরু করার সাথে , টেস্ট স্ট্রিংটি সেই অবস্থানে শুরু হয়। Endচ্ছিক শেষের সাথে, স্ট্রিংটির সেই অবস্থানে তুলনা করা বন্ধ করুন।
str.strip( [ চরস ] )- নেতৃস্থানীয় এবং অনুসরণযোগ্য অক্ষর মুছে ফেলা স্ট্রিংয়ের একটি অনুলিপি ফেরান। অক্ষর যুক্তি স্ট্রিং অক্ষরের সেট নির্দিষ্ট অপসারণ করা হয়। যদি বাদ দেওয়া হয় বা
None, চরগুলি আর্গুমেন্ট সাদা করার স্থানটি ডিফল্ট করে। অক্ষর যুক্তি উপসর্গ বা প্রত্যয় নয়; বরং এর মানগুলির সমস্ত সংমিশ্রণগুলি ছিনিয়ে নেওয়া হয়:
বহিরাগতের শীর্ষস্থানীয় এবং পিছনের অক্ষর যুক্তিগুলির মানগুলি স্ট্রিং থেকে ছিনিয়ে নেওয়া হয়। অক্ষর একটি স্ট্রিং চরিত্র চরিত্রদের সেট অন্তর্ভুক্ত করা হয় না পৌঁছনো পর্যন্ত নেতৃস্থানীয় শেষ থেকে সরিয়ে ফেলা হয় অক্ষর । একই ধরণের ক্রিয়া শেষের দিকে ঘটে। উদাহরণ স্বরূপ:
str.swapcase( )- ছোট হাতের অক্ষরে এবং বিপরীতে রূপান্তরিত করে বড় হাতের অক্ষর দিয়ে স্ট্রিংয়ের একটি অনুলিপি ফেরান। মনে রাখবেন যে এটি অগত্যা সত্য নয় ।
s.swapcase().swapcase() == s
str.title( )- স্ট্রিংয়ের একটি শিরোনামযুক্ত সংস্করণটি ফেরত করুন যেখানে শব্দগুলি বড় হাতের অক্ষর দিয়ে শুরু হয় এবং বাকী অক্ষরগুলি ছোট হাতের অক্ষরে থাকে।উদাহরণ স্বরূপ:
অ্যালগরিদম একটানা অক্ষরের গ্রুপ হিসাবে শব্দের একটি সহজ ভাষা-স্বতন্ত্র সংজ্ঞা ব্যবহার করে। সংজ্ঞাটি অনেক প্রসঙ্গে কাজ করে তবে এর অর্থ হ'ল সংকোচনগুলিতে অ্যাড্রোফেসগুলি শব্দের সীমানা গঠন করে, যা পছন্দসই ফলাফল নাও হতে পারে:
নিয়মিত এক্সপ্রেশন ব্যবহার করে অ্যাডোস্ট্রোফের জন্য একটি কাজের ভিত্তি তৈরি করা যেতে পারে:
str.translate( টেবিল )- প্রদত্ত অনুবাদ টেবিলের মাধ্যমে প্রতিটি অক্ষর ম্যাপ করা হয়েছে এমন স্ট্রিংয়ের একটি অনুলিপি ফেরান। টেবিলটি অবশ্যই এমন একটি অবজেক্ট হতে হবে যা
__getitem__()সাধারণত ম্যাপিং বা ক্রমগুলির মাধ্যমে সূচীকরণ প্রয়োগ করে । যখন কোনও ইউনিকোড অর্ডিনাল (কোনও পূর্ণসংখ্যার) দ্বারা সূচকযুক্ত হয়, সারণী অবজেক্ট নীচের যে কোনও একটিটি করতে পারে: একটি বা একাধিক অন্যান্য অক্ষরগুলিতে অক্ষরটি মানচিত্র করতে একটি ইউনিকোড অর্ডিনাল বা একটি স্ট্রিং ফিরিয়ে দিন; রিটার্নNoneস্ট্রিং থেকে অক্ষর মুছতে; বা একটিLookupErrorব্যতিক্রম বাড়াতে , চরিত্রটি নিজেই মানচিত্র করতে।আপনিstr.maketrans()বিভিন্ন বিন্যাসে অক্ষর থেকে অক্ষর ম্যাপিং থেকে অনুবাদ মানচিত্র তৈরি করতে ব্যবহার করতে পারেন ।
str.upper( )- স্ট্রিংয়ের একটি অনুলিপি সমস্ত কেসযুক্ত অক্ষর 4 দিয়ে বড়হাতে রূপান্তরিত করুন। লক্ষ্য করুন
s.upper().isupper()হতে পারেFalseযদিsuncased অক্ষর বা থাকে ফলে অক্ষর (গুলি) এর ইউনিকোড বিভাগ "লু" (লেটার, বড় হাতের), কিন্তু যেমন "লে" (লেটার, titlecase) নয়।ব্যবহৃত বড় বড় অ্যালগরিদমটি ইউনিকোড স্ট্যান্ডার্ডের ৩.১৩ অনুচ্ছেদে বর্ণিত হয়েছে।
str.zfill( প্রস্থ )'0'দৈর্ঘ্যের প্রস্থের একটি স্ট্রিং তৈরি করতে ASCII অঙ্কগুলিতে ভরা স্ট্রিংয়ের একটি অনুলিপি ফেরান । একটি অগ্রণী চিহ্ন উপসর্গ ('+'/'-') আগে পরিবর্তে সাইন অক্ষরের পরে প্যাডিং byোকানো দ্বারা পরিচালিত হয় । প্রস্থটি এর চেয়ে কম বা সমান হলে মূল স্ট্রিংটি ফেরত দেওয়া হয়len(s)।উদাহরণ স্বরূপ:
printfস্টাইল স্ট্রিং ফর্ম্যাটিংবিঃদ্রঃ
এখানে বর্ণিত ফর্ম্যাটিং ক্রিয়াকলাপগুলি বিভিন্ন ধরণের স্পিকারগুলি প্রদর্শন করে যা বেশ কয়েকটি সাধারণ ত্রুটি বাড়ে (যেমন টিউপস এবং অভিধান সঠিকভাবে প্রদর্শন করতে ব্যর্থ হয়)। আরও নতুন ফর্ম্যাটেড স্ট্রিং লিটারেলস ,str.format()ইন্টারফেস বা টেম্পলেট স্ট্রিংগুলি এই ত্রুটিগুলি এড়াতে সহায়তা করতে পারে। এই বিকল্পগুলির প্রত্যেকটি তাদের নিজস্ব বাণিজ্য-অফস এবং সরলতা, নমনীয়তা এবং / অথবা এক্সটেনসিবিলিটির সুবিধা দেয়।স্ট্রিং অবজেক্টগুলির একটি বিল্ট-ইন অপারেশন রয়েছে:%অপারেটর (মডুলো)। এটি স্ট্রিং ফর্ম্যাটিং বা ইন্টারপোলেশন অপারেটর হিসাবেও পরিচিত । প্রদত্ত (যেখানে বিন্যাসটি একটি স্ট্রিং), বিন্যাসে রূপান্তর স্পেসিফিকেশনগুলি শূন্য বা মানগুলির আরও উপাদানগুলির সাথে প্রতিস্থাপিত হয় । প্রভাবটি সি ভাষার ক্ষেত্রে ব্যবহারের মতো ।format % values%sprintf()যদি ফর্ম্যাটের জন্য একটি একক আর্গুমেন্টের প্রয়োজন হয় তবে মানগুলি একক নন-টিপল অবজেক্ট হতে পারে। 5 অন্যথায়, মানগুলি অবশ্যই ফর্ম্যাট স্ট্রিং দ্বারা নির্দিষ্ট আইটেমের সংখ্যাসূচক বা একটি একক ম্যাপিং অবজেক্টের (উদাহরণস্বরূপ, একটি অভিধান) একটি দ্বিগুণ হতে হবে।কোনও রূপান্তর স্পেসিফায়ারে দুটি বা ততোধিক অক্ষর থাকে এবং নিম্নলিখিত উপাদানগুলি থাকে, যা অবশ্যই এই ক্রমে ঘটে:'%'চরিত্র, যা চিহ্ন সুনির্দিষ্টভাবে উল্লেখ করা শুরু।- ম্যাপিং কী (alচ্ছিক), অক্ষরের একটি প্রথম বন্ধনযুক্ত ক্রম সমন্বিত (উদাহরণস্বরূপ
(somename))। - রূপান্তর পতাকা (alচ্ছিক), যা কিছু রূপান্তর প্রকারের ফলাফলকে প্রভাবিত করে।
- সর্বনিম্ন ক্ষেত্রের প্রস্থ (alচ্ছিক)। যদি
'*'(অ্যাসিটার্ক) হিসাবে নির্দিষ্ট করা থাকে তবে প্রকৃত প্রস্থটি টিউলের পরবর্তী উপাদানগুলি থেকে মানগুলিতে পড়ে এবং রূপান্তর করার জন্য অবজেক্টটি ন্যূনতম ক্ষেত্রের প্রস্থ এবং alচ্ছিক নির্ভুলতার পরে আসে। '.'যথার্থতা (al চ্ছিক), যথাযথভাবে অনুসরণ করে (ডট) হিসাবে দেওয়া হয় । যদি'*'(অ্যাসিটার্ক) হিসাবে নির্দিষ্ট করা থাকে তবে প্রকৃত যথার্থতা টিউলের পরবর্তী উপাদানগুলি থেকে মানগুলিতে পড়ে এবং রূপান্তর করার মানটি নির্ভুলতার পরে আসে।- দৈর্ঘ্য সংশোধক (alচ্ছিক)।
- রূপান্তর প্রকার।
যখন ডান আর্গুমেন্ট একটি অভিধান (বা অন্য ম্যাপিংয়ের ধরণ) হয়, তারপরে স্ট্রিংয়ের ফর্ম্যাটগুলিতে অক্ষরের পরে অবিলম্বে dictionaryোকানো সেই অভিধানটিতে একটি প্রথম বন্ধনীযুক্ত ম্যাপিং কী অন্তর্ভুক্ত করা উচিত'%'। ম্যাপিং কীটি ম্যাপিং থেকে ফর্ম্যাট করার মানটি নির্বাচন করে। উদাহরণ স্বরূপ:এক্ষেত্রে কোনও*নির্দিষ্টকারক বিন্যাসে উপস্থিত নাও হতে পারে (যেহেতু তাদের অনুক্রমের পরামিতি তালিকার প্রয়োজন)।রূপান্তর পতাকার অক্ষরগুলি হ'ল:পতাকাঅর্থ'#'মান রূপান্তরটি "বিকল্প ফর্ম" (যেখানে নীচে সংজ্ঞায়িত হয়েছে) ব্যবহার করবে।'0'রূপান্তরটি সংখ্যার মানগুলির জন্য শূন্য প্যাডযুক্ত হবে।'-'রূপান্তরিত মানটি সামঞ্জস্য করা হয়েছে ('0'উভয় দেওয়া থাকলে রূপান্তরটি ওভাররাইড করে )।' '(একটি স্থান) একটি স্বাক্ষরিত রূপান্তর দ্বারা উত্পাদিত ধনাত্মক সংখ্যা (বা খালি স্ট্রিং) এর আগে একটি ফাঁকা ছেড়ে যাওয়া উচিত।'+'একটি সাইন অক্ষর ('+'বা'-') রূপান্তর হওয়ার আগে (একটি "স্পেস" পতাকাটিকে ওভাররাইড করে) willএকটি দৈর্ঘ্য সংশোধক (h,,lবাL) উপস্থিত থাকতে পারে তবে পাইথনের জন্য এটি প্রয়োজনীয় নয় বলে এড়ানো হবে - সুতরাং উদাহরণটি%ldঅভিন্ন%d।রূপান্তর প্রকারগুলি হ'ল:পরিবর্তনঅর্থনোট'd'দশমিক দশমিক'i'দশমিক দশমিক'o'স্বাক্ষরিত অষ্টাল মান।(1)'u'অপ্রচলিত ধরণ - এটি এর অনুরূপ'd'।(6)'x'স্বাক্ষরিত হেক্সাডেসিমাল (ছোট হাতের অক্ষর)।(2)'X'স্বাক্ষরিত হেক্সাডেসিমাল (বড় হাতের অক্ষর)।(2)'e'ভাসমান পয়েন্ট সূচকীয় বিন্যাস (ছোট হাতের অক্ষর)।(3)'E'ফ্লোটিং পয়েন্ট এক্সফোনেনিয়াল ফর্ম্যাট (বড় হাতের অক্ষর)।(3)'f'ভাসমান পয়েন্ট দশমিক ফর্ম্যাট।(3)'F'ভাসমান পয়েন্ট দশমিক ফর্ম্যাট।(3)'g'ভাসমান পয়েন্ট বিন্যাস। ক্ষতিকারক -4 এর চেয়ে কম বা নির্ভুলতার চেয়ে কম না হলে, দশমিক বিন্যাস অন্যথায় লোয়ারকেস সূচকীয় ফর্ম্যাট ব্যবহার করে।(4)'G'ভাসমান পয়েন্ট বিন্যাস। ক্ষুদ্রতর -4 এর চেয়ে কম বা নির্ভুলতার চেয়ে কম না হলে, দশমিক বিন্যাসটি অন্যথায় বড় হাতের অক্ষর বিন্যাস ব্যবহার করে।(4)'c'একক অক্ষর (পূর্ণসংখ্যা বা একক অক্ষরের স্ট্রিং গ্রহণ করে)।'r'(5)'s'(5)'a'(5)'%'কোনও যুক্তি রূপান্তরিত হয় না, ফলস্বরূপ একটি'%'চরিত্রের ফলাফল হয়।নোট:- বিকল্প ফর্মটি
'0o'প্রথম অঙ্কের আগে একটি শীর্ষস্থানীয় অক্টাল স্পেসিফায়ার ( ) সন্নিবেশ করায়। - বিকল্প ফর্মটি প্রথম অঙ্কের আগে একটি নেতৃস্থানীয়
'0x'বা'0X'('x'বা'X'ফর্ম্যাটটি ব্যবহৃত হয়েছিল কিনা তার উপর নির্ভর করে ) সন্নিবেশ করায়। - কোনও বিকল্প এটি অনুসরণ না করে এমনকি বিকল্প ফর্মের ফলে ফলাফলকে সর্বদা দশমিক পয়েন্ট থাকে।যথার্থতা দশমিক বিন্দুর পরে অঙ্কের সংখ্যা নির্ধারণ করে এবং 6 এ ডিফল্ট হয়।
- বিকল্প ফর্মের ফলে ফলাফলটি সর্বদা দশমিক বিন্দুতে থাকে এবং পিছনে জেরোগুলি অন্যথায় যেমন হয় তেমনভাবে সরানো হয় না।নির্ভুলতা দশমিক বিন্দুর আগে এবং পরে উল্লেখযোগ্য সংখ্যার সংখ্যা নির্ধারণ করে এবং 6 এ ডিফল্ট হয়।
- যদি নির্ভুলতা হয়
Nতবে আউটপুটটিNঅক্ষরগুলিতে ছিন্ন হয়ে যায় ।
পাইথনের স্ট্রিংগুলির একটি সুস্পষ্ট দৈর্ঘ্য রয়েছে বলে%sরূপান্তরগুলি'\0'স্ট্রিংয়ের সমাপ্তি বলে ধরে নিবে না।সংস্করণ ৩.১ এ পরিবর্তিত হয়েছে: এমন%fসংখ্যার জন্য রূপান্তর যাগুলির নিখুঁত মান 1e50 এর বেশি,%gরূপান্তরগুলি আর স্থানান্তরিত হয় না ।
বাইনারি সিকোয়েন্স প্রকারভেদ -
bytes,bytearray,memoryviewকোর বাইনারি ডেটা সাধিত জন্য বিল্ট ইন ধরনের হয়bytesএবংbytearray। তারা সমর্থিতmemoryviewযার দ্বারা অনুলিপি তৈরি করার প্রয়োজন ছাড়াই অন্যান্য বাইনারি বস্তুর মেমরি অ্যাক্সেস করতে বাফার প্রোটোকল ব্যবহার করে ।arrayমডিউল 32-বিট ইন্টিজার এবং IEEE754 ডাবল স্পষ্টতা ভাসমান মান মত প্রাথমিক তথ্য ধরনের দক্ষ স্টোরেজ সমর্থন করে।
বাইটস অবজেক্টস
বাইটস অবজেক্টস হ'ল একক বাইটের অপরিবর্তনীয় ক্রম। যেহেতু অনেকগুলি প্রধান বাইনারি প্রোটোকল ASCII পাঠ্য এনকোডিংয়ের উপর ভিত্তি করে, বাইটস অবজেক্টগুলি এমন বেশ কয়েকটি পদ্ধতি সরবরাহ করে যা কেবলমাত্র ASCII সামঞ্জস্যপূর্ণ ডেটার সাথে কাজ করার সময় বৈধ এবং বিভিন্ন উপায়ে স্ট্রিং অবজেক্টগুলির সাথে ঘনিষ্ঠভাবে সম্পর্কিত।- শ্রেণি
bytes( [ উত্স [ , এনকোডিং [ , ত্রুটি ] ] ] ) - প্রথমত, বাইটস লিটারালসের সিনট্যাক্সটি মূলত স্ট্রিং লিটারালগুলির সমান, একটি
bউপসর্গ যোগ করা ব্যতীত :- একক উদ্ধৃতি:
b'still allows embedded "double" quotes' - ডবল কোট: ।
b"still allows embedded 'single' quotes" - ট্রিপল উদ্ধৃত: ,
b'''3 single quotes'''b"""3 double quotes"""
কেবলমাত্র ASCII টি অক্ষরই বাইট লিটারেলে অনুমোদিত (ঘোষিত উত্স কোড এনকোডিং নির্বিশেষে)। 127 এর বেশি কোনও বাইনারি মান যথাযথ পালানোর ক্রম ব্যবহার করে বাইট লিটারালগুলিতে প্রবেশ করতে হবে।স্ট্রিং লিটারালগুলির মতো, বাইটস লিটারালগুলিওrএস্কেপ সিকোয়েন্সগুলির প্রক্রিয়াকরণ অক্ষম করতে একটি উপসর্গ ব্যবহার করতে পারে । দেখুন STRING এবং বাইট লিটারেল বাইট আক্ষরিক বিভিন্ন ধরনের, সমর্থিত পালাবার ক্রম সহ সম্পর্কে আরো জানার জন্য।বাইটস আক্ষরিক এবং উপস্থাপনাগুলি ASCII পাঠ্যের উপর ভিত্তি করে বাইটস অবজেক্টগুলি প্রকৃতপক্ষে পূর্ণসংখ্যার অপরিবর্তনীয় ক্রমগুলির মতো আচরণ করে, সিক্যুয়েন্সের প্রতিটি মান যেমন সীমাবদ্ধ থাকে (এই সীমাবদ্ধতা লঙ্ঘনের প্রচেষ্টা ট্রিগার করবে )। এটি ইচ্ছাকৃতভাবে জোর দেওয়ার জন্য করা হয় যে যখন অনেক বাইনারি ফর্ম্যাটগুলিতে ASCII ভিত্তিক উপাদান অন্তর্ভুক্ত থাকে এবং কিছু পাঠ্য-ভিত্তিক অ্যালগরিদমগুলি কার্যকরভাবে ব্যবহার করা যায় তবে এটি সাধারণত স্বেচ্ছাচারী বাইনারি ডেটার ক্ষেত্রে হয় না (বাইনারি ডেটা ফর্ম্যাটগুলিতে অন্ধভাবে টেক্সট প্রসেসিং অ্যালগরিদম প্রয়োগ করে যা নয় ASCII সামঞ্জস্যপূর্ণ সাধারণত ডেটা দুর্নীতিতে পরিচালিত করবে)।0 <= x < 256ValueErrorআক্ষরিক রূপ ছাড়াও, বাইটস অবজেক্টগুলি বিভিন্ন উপায়ে তৈরি করা যেতে পারে:- একটি নির্দিষ্ট দৈর্ঘ্যের শূন্য-পূর্ণ বাইট অবজেক্ট:
bytes(10) - পূর্ণসংখ্যার পুনরাবৃত্তিযোগ্য থেকে:
bytes(range(20)) - বাফার প্রোটোকলের মাধ্যমে বিদ্যমান বাইনারি ডেটা অনুলিপি করা হচ্ছে:
bytes(obj)
যেহেতু 2 হেক্সাডেসিমাল ডিজিটগুলি একক বাইটের সাথে যথাযথভাবে মিলে যায় তাই হেক্সাডেসিমাল সংখ্যাগুলি বাইনারি ডেটা বর্ণনা করার জন্য একটি সাধারণভাবে ব্যবহৃত ফর্ম্যাট। তদনুসারে, বাইট টাইপটিতে সেই বিন্যাসে ডেটা পড়তে অতিরিক্ত শ্রেণি পদ্ধতি রয়েছে:- শ্রেণিবদ্ধ
fromhex( স্ট্রিং ) - এই
bytesশ্রেণি পদ্ধতিটি প্রদত্ত স্ট্রিং অবজেক্টটি ডিকোড করে একটি বাইট অবজেক্ট দেয়। স্ট্রিংটিতে অবশ্যই বাইট প্রতি দুটি হেক্সাডেসিমাল অঙ্ক থাকতে হবে, সাথে ASCII সাদা স্থান উপেক্ষা করা হবে।সংস্করণ 3.7 এ পরিবর্তিত হয়েছে:bytes.fromhex()এখন কেবল ফাঁকা স্থান নয় স্ট্রিংয়ের সমস্ত ASCII সাদা স্থান ছেড়ে যায় ips
বাইটস অবজেক্টটিকে তার হেক্সাডেসিমাল উপস্থাপনায় রূপান্তর করতে একটি বিপরীত রূপান্তর ফাংশন বিদ্যমান।hex( )- দৃষ্টান্তে প্রতিটি বাইটের জন্য দুটি হেক্সাডেসিমাল অঙ্কযুক্ত একটি স্ট্রিং অবজেক্ট ফেরত দিন।আপনি যদি হেক্স স্ট্রিং পড়তে সহজ করতে চান তবে আউটপুটটিতে অন্তর্ভুক্ত করতে আপনি একটি একক অক্ষর বিভাজক সেপ পরামিতি নির্দিষ্ট করতে পারেন । প্রতিটি বাইটের মধ্যে ডিফল্টরূপে। একটি দ্বিতীয় alচ্ছিক বাইটস_পার_সেসপ পরামিতি ব্যবধানটিকে নিয়ন্ত্রণ করে। ধনাত্মক মানগুলি ডান থেকে বিভাজক অবস্থান এবং বাম থেকে নেতিবাচক মান গণনা করে।3.5 সংস্করণে নতুন।সংস্করণ 3.8 পরিবর্তন:
bytes.hex()এখন ঐচ্ছিক সমর্থন সেপ্টেম্বর এবং bytes_per_sep হেক্স আউটপুটে বাইট মধ্যে বিভাজক সন্নিবেশ করতে প্যারামিটার।
যেহেতু বাইটস অবজেক্টগুলি পূর্ণসংখ্যার ক্রম (একটি টুপলের সমতুল্য), বাইট অবজেক্ট বি এর জন্য ,b[0]একটি পূর্ণসংখ্যাb[0:1]হবে এবং দৈর্ঘ্য 1 এর বাইট অবজেক্ট হবে ( দৈর্ঘ্যের স্ট্রিং 1)বাইট অবজেক্টের উপস্থাপনা আক্ষরিক বিন্যাস (b'...') ব্যবহার করে যেহেতু এটি প্রায়শই উদাহরণের চেয়ে বেশি কার্যকর । আপনি বাইটস অবজেক্টটি সর্বদা ব্যবহার করে পূর্ণসংখ্যার তালিকায় রূপান্তর করতে পারেন ।bytes([46, 46, 46])list(b)বিঃদ্রঃ
পাইথন ২.x ব্যবহারকারীদের জন্য: পাইথন ২.x সিরিজে, ৮-বিট স্ট্রিং (নিকটতম জিনিস ২.x একটি অন্তর্নির্মিত বাইনারি ডেটা টাইপের প্রস্তাব দেয়) এবং ইউনিকোড স্ট্রিংয়ের মধ্যে বিভিন্ন ধরণের রূপান্তর রূপান্তর অনুমোদিত। পাইথন মূলত 8-বিট পাঠ্যকেই সমর্থন করেছিল এবং ইউনিকোড পাঠ্যটি পরবর্তীকালে সংযোজন ছিল এই বিষয়টি বিবেচনার জন্য এটি একটি পিছনের সামঞ্জস্যতার কাজ। পাইথন ৩.x এ, এই অন্তর্নিহিত রূপান্তরগুলি শেষ হয়ে গেছে - ৮-বিট বাইনারি ডেটা এবং ইউনিকোড পাঠ্যের মধ্যে রূপান্তরগুলি অবশ্যই স্পষ্ট হওয়া উচিত এবং বাইটস এবং স্ট্রিং অবজেক্ট সর্বদা অসম তুলনা করবে।
বাইটেরে অবজেক্টস
- শ্রেণি
bytearray( [ উত্স [ , এনকোডিং [ , ত্রুটি ] ] ] ) - বাইটায়ারে অবজেক্টগুলির জন্য কোনও উত্সর্গীকৃত আক্ষরিক সিনট্যাক্স নেই, পরিবর্তে সেগুলি সবসময় কনস্ট্রাক্টরকে কল করে তৈরি করা হয়:
- একটি খালি উদাহরণ তৈরি করা:
bytearray() - প্রদত্ত দৈর্ঘ্যের সাথে শূন্য-ভরা ইনস্ট্যান্স তৈরি করা:
bytearray(10) - পূর্ণসংখ্যার পুনরাবৃত্তিযোগ্য থেকে:
bytearray(range(20)) - বাফার প্রোটোকলের মাধ্যমে বিদ্যমান বাইনারি ডেটা অনুলিপি করা হচ্ছে:
bytearray(b'Hi!')
হিসাবে bytearray বস্তু চপল, তারা সমর্থন চপল সাধারণ বাইট এবং bytearray অপারেশন বর্ণিত ছাড়াও ক্রম অপারেশন বাইট এবং Bytearray অপারেশনস ।যেহেতু 2 হেক্সাডেসিমাল ডিজিটগুলি একক বাইটের সাথে যথাযথভাবে মিলে যায় তাই হেক্সাডেসিমাল সংখ্যাগুলি বাইনারি ডেটা বর্ণনা করার জন্য একটি সাধারণভাবে ব্যবহৃত ফর্ম্যাট। তদনুসারে, বাইটারে টাইপের সেই বিন্যাসে ডেটা পড়ার জন্য একটি অতিরিক্ত শ্রেণি পদ্ধতি রয়েছে:- শ্রেণিবদ্ধ
fromhex( স্ট্রিং ) - এই
bytearrayশ্রেণি পদ্ধতিটি প্রদত্ত স্ট্রিং অবজেক্টটি ডিকোড করে বাইটায়ারে অবজেক্ট দেয় returns স্ট্রিংটিতে অবশ্যই বাইট প্রতি দুটি হেক্সাডেসিমাল অঙ্ক থাকতে হবে, সাথে ASCII সাদা স্থান উপেক্ষা করা হবে।সংস্করণ 3.7 এ পরিবর্তিত হয়েছে:bytearray.fromhex()এখন কেবল ফাঁকা স্থান নয় স্ট্রিংয়ের সমস্ত ASCII সাদা স্থান ছেড়ে যায় ips
বাইটায়রাই অবজেক্টটিকে তার হেক্সাডেসিমাল উপস্থাপনায় রূপান্তর করতে একটি বিপরীত রূপান্তর ফাংশন বিদ্যমান।hex( )- দৃষ্টান্তে প্রতিটি বাইটের জন্য দুটি হেক্সাডেসিমাল অঙ্কযুক্ত একটি স্ট্রিং অবজেক্ট ফেরত দিন।3.5 সংস্করণে নতুন।
যেহেতু bytearray বস্তু পূর্ণসংখ্যার ক্রমের (ক লিস্টে সদৃশ), একটি bytearray বস্তুর জন্য হয় খ ,b[0], একটি পূর্ণসংখ্যা হতে হবে যখনb[0:1]দৈর্ঘ্য 1. একটি bytearray বস্তু (টেক্সট স্ট্রিং সঙ্গে এই বৈপরীত্য, যেখানে উভয় ইন্ডেক্স এবং slicing একটি উত্পাদন করা হবে হবে দৈর্ঘ্যের স্ট্রিং 1)বাইটেরে অবজেক্টের উপস্থাপনা বাইটস আক্ষরিক বিন্যাস (bytearray(b'...')) ব্যবহার করে যেহেতু এটি প্রায়শই উদাহরণস্বরূপের চেয়ে বেশি কার্যকর । আপনি সর্বদা বাইটেরে অবজেক্ট ব্যবহার করে পূর্ণসংখ্যার তালিকায় রূপান্তর করতে পারেন ।bytearray([46, 46, 46])list(b)
বাইটস এবং বাইটেরে অপারেশনস
বাইটস এবং বাইটারি উভয় অবজেক্টই সাধারণ সিকোয়েন্স অপারেশনগুলিকে সমর্থন করে । তারা কেবল একই ধরণের অপারেটরগুলির সাথেই নয়, কোনও বাইট-জাতীয় বস্তুর সাথেও আন্তঃসংযোগ স্থাপন করে । এই নমনীয়তার কারণে এগুলি ত্রুটি সৃষ্টি না করেই অবাধে ক্রিয়াকলাপে মিশ্রিত হতে পারে। যাইহোক, ফলাফলের রিটার্নের ধরণটি অপারেন্ডগুলির ক্রমের উপর নির্ভর করে।বিঃদ্রঃ
বাইটস এবং বাইটেরে অবজেক্টগুলির পদ্ধতিগুলি যেমন স্ট্রিংগুলিতে বাইটসকে তাদের আর্গুমেন্ট হিসাবে স্বীকার করে না তেমনি স্ট্রিংগুলিতে তার আর্গুমেন্ট হিসাবে স্ট্রিংকে গ্রহণ করে না। উদাহরণস্বরূপ, আপনাকে লিখতে হবে:এবং:কিছু বাইটস এবং বাইটেরে অপারেশনগুলি ASCII সামঞ্জস্যপূর্ণ বাইনারি ফর্ম্যাটগুলির ব্যবহার ধরে নেয় এবং তাই স্বেচ্ছাসেবী বাইনারি ডেটার সাথে কাজ করার সময় এড়ানো উচিত। এই বিধিনিষেধগুলি নীচে আচ্ছাদিত।বিঃদ্রঃ
ASCII ভিত্তিক ফর্ম্যাটে সংরক্ষিত নয় এমন বাইনারি ডেটা ম্যানিপুলেট করতে এই ASCII ভিত্তিক ক্রিয়াকলাপগুলি ডেটা দুর্নীতি হতে পারে।বাইটস এবং বাইটেরে অবজেক্টগুলির জন্য নিম্নলিখিত পদ্ধতিগুলি স্বেচ্ছাসেবী বাইনারি ডেটা ব্যবহার করা যেতে পারে।bytes.count( সাব [ , শুরু [ , শেষ ] ] )bytearray.count( সাব [ , শুরু [ , শেষ ] ] )- পরিসীমা [ সূচনা , শেষ ] এর উপ - উপ সাব -ওভারল্যাপিং সংক্রমণের সংখ্যাটি ফিরিয়ে দিন । ঐচ্ছিক আর্গুমেন্ট শুরু এবং শেষ ফালি স্বরলিপি হিসেবে ব্যাখ্যা করা হয়।অনুসন্ধানের পরবর্তী অংশটি কোনও বাইটের মতো অবজেক্ট বা 0 থেকে 255 এর সীমাতে কোনও পূর্ণসংখ্যা হতে পারে ।সংস্করণ ৩.৩-তে পরিবর্তিত হয়েছে: 0 থেকে 255 এর পরিসরে একটি পূর্ণসংখ্যাটিকে পরের অংশ হিসাবে গ্রহণ করুন।
bytes.decode( এনকোডিং = "utf-8" , ত্রুটিগুলি = "কঠোর" )bytearray.decode( এনকোডিং = "utf-8" , ত্রুটিগুলি = "কঠোর" )- প্রদত্ত বাইটগুলি থেকে ডিকোড করা একটি স্ট্রিং ফিরিয়ে দিন। ডিফল্ট এনকোডিং হয়
'utf-8'। ত্রুটিগুলি একটি ভিন্ন ত্রুটি পরিচালনার স্কিম সেট করতে দেওয়া যেতে পারে। ত্রুটির জন্য ডিফল্ট হ'ল'strict'অর্থ এনকোডিং ত্রুটিগুলি উত্থাপন করেUnicodeError। অন্যান্য সম্ভাব্য মান হয়'ignore','replace'এবং এর মাধ্যমে নিবন্ধিত অন্য কোন নামেরcodecs.register_error()দেখুন অধ্যায় ত্রুটি হ্যান্ডলার । সম্ভাব্য এনকোডিংগুলির তালিকার জন্য বিভাগ স্ট্যান্ডার্ড এনকোডিংগুলি দেখুন ।বিঃদ্রঃ
অস্থায়ী বাইটস বা বাইটেরে অবজেক্টটি তৈরি করার দরকার ছাড়াই সরাসরি কোনও বাইট-অনুরূপ অবজেক্টটি ডিকোডিংয়ের জন্য এনকোডিং আর্গুমেন্টটি পাস করা ।strসংস্করণ ৩.১ এ পরিবর্তিত হয়েছে: কীওয়ার্ড আর্গুমেন্টগুলির জন্য সমর্থন যোগ করা হয়েছে।
bytes.endswith( প্রত্যয় [ , শুরু [ , শেষ ] ] )bytearray.endswith( প্রত্যয় [ , শুরু [ , শেষ ] ] )Trueবাইনারি ডেটা নির্দিষ্ট প্রত্যয় দিয়ে শেষ হলে ফিরে আসুন , অন্যথায় ফিরে আসুনFalse। প্রত্যয়টি সন্ধানের জন্য প্রত্যয়গুলির একটি দ্বিগুণ হতে পারে। Alচ্ছিক শুরু করার সাথে , পরীক্ষাটি সেই অবস্থানে শুরু করুন। Endচ্ছিক শেষের সাথে, সেই অবস্থানের সাথে তুলনা করা বন্ধ করুন।
bytes.find( সাব [ , শুরু [ , শেষ ] ] )bytearray.find( সাব [ , শুরু [ , শেষ ] ] )- তথ্য যেখানে subsequence মধ্যে এটা সর্বনিম্ন সূচক ফিরুন সাব পাওয়া যায়, যেমন যে সাব ফালি মধ্যে অন্তর্ভুক্ত করা হয়
s[start:end]। ঐচ্ছিক আর্গুমেন্ট শুরু এবং শেষ ফালি স্বরলিপি হিসেবে ব্যাখ্যা করা হয়। সাব না পাওয়া-1গেলে ফিরে আসুন ।অনুসন্ধানের পরবর্তী অংশটি কোনও বাইটের মতো অবজেক্ট বা 0 থেকে 255 এর সীমাতে কোনও পূর্ণসংখ্যা হতে পারে ।বিঃদ্রঃ
find()পদ্ধতিটি কেবল ব্যবহার করা উচিত যদি তোমরা অবস্থান জানা প্রয়োজন সাব । সাব একটি সাবস্ট্রিং কিনা তা পরীক্ষা করতেinঅপারেটরটি ব্যবহার করুন :
সংস্করণ ৩.৩-তে পরিবর্তিত হয়েছে: 0 থেকে 255 এর পরিসরে একটি পূর্ণসংখ্যাটিকে পরের অংশ হিসাবে গ্রহণ করুন।
bytes.index( সাব [ , শুরু [ , শেষ ] ] )bytearray.index( সাব [ , শুরু [ , শেষ ] ] )-
অনুসন্ধানের পরবর্তী অংশটি কোনও বাইটের মতো অবজেক্ট বা 0 থেকে 255 এর সীমাতে কোনও পূর্ণসংখ্যা হতে পারে ।সংস্করণ ৩.৩-তে পরিবর্তিত হয়েছে: 0 থেকে 255 এর পরিসরে একটি পূর্ণসংখ্যাটিকে পরের অংশ হিসাবে গ্রহণ করুন।
bytes.join( পুনরাবৃত্তিযোগ্য )bytearray.join( পুনরাবৃত্তিযোগ্য )- একটি বাইট বা bytearray বস্তুর যা বাইনারি ডেটা ক্রম সংযুক্তকরণের হয় ফিরে যাও iterable । পুনরাবৃত্তের এমন
TypeErrorকোনও মান রয়েছে যা অবজেক্ট সহ বাইট-জাতীয় বস্তু নয় A উপাদানগুলির মধ্যে বিভাজক হ'ল এই পদ্ধতিটি সরবরাহ করে বাইটস বা বাইটেরে অবজেক্টের সামগ্রী।str
- স্থির
bytes.maketrans( থেকে , থেকে ) - স্থির
bytearray.maketrans( থেকে , থেকে ) - এই স্ট্যাটিক পদ্ধতির জন্য একটি অনুবাদ টেবিল ব্যবহারযোগ্য ফেরৎ
bytes.translate()যে প্রতিটি অক্ষর ম্যাপ করবে থেকে একই অবস্থানে চরিত্র মধ্যে থেকে ; থেকে এবং করতে হবে উভয়ই হতে বস্তু বাইট মত এবং একই দৈর্ঘ্য আছে।৩.১ সংস্করণে নতুন।
bytes.partition( sep )bytearray.partition( sep )- প্রথম সংঘটন এ ক্রম বিভক্ত সেপ্টেম্বর , এবং একটি 3-tuple অংশ ধারণকারী বিভাজক নিজেই বা তার bytearray কপি, এবং বিভাজক পর অংশ আসতে বিভাজক সামনে। যদি বিভাজকটি পাওয়া যায় না, তবে দুটি খালি বাইট বা বাইটেরে অবজেক্টের পরে মূল সিকোয়েন্সের একটি অনুলিপিযুক্ত একটি 3-টুপল ফিরে করুন।
bytes.replace( পুরানো , নতুন [ , গণনা ] )bytearray.replace( পুরানো , নতুন [ , গণনা ] )- নতুন দ্বারা প্রতিস্থাপিত পুরানো সমস্ত ঘটনাগুলির সাথে ক্রমটির একটি অনুলিপি ফেরত দিন । যদি alচ্ছিক আর্গুমেন্ট গণনা দেওয়া হয় তবে কেবল প্রথম গণনার উপস্থিতি প্রতিস্থাপন করা হবে।বিঃদ্রঃ
এই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.rfind( সাব [ , শুরু [ , শেষ ] ] )bytearray.rfind( সাব [ , শুরু [ , শেষ ] ] )- ক্রমানুসারে সর্বোচ্চ সূচক দেখান subsequence সাব পাওয়া যায়, যেমন যে সাব মধ্যে অন্তর্ভুক্ত করা হয়
s[start:end]। ঐচ্ছিক আর্গুমেন্ট শুরু এবং শেষ ফালি স্বরলিপি হিসেবে ব্যাখ্যা করা হয়।-1ব্যর্থতা ফিরে ।অনুসন্ধানের পরবর্তী অংশটি কোনও বাইটের মতো অবজেক্ট বা 0 থেকে 255 এর সীমাতে কোনও পূর্ণসংখ্যা হতে পারে ।সংস্করণ ৩.৩-তে পরিবর্তিত হয়েছে: 0 থেকে 255 এর পরিসরে একটি পূর্ণসংখ্যাটিকে পরের অংশ হিসাবে গ্রহণ করুন।
bytes.rindex( সাব [ , শুরু [ , শেষ ] ] )bytearray.rindex( সাব [ , শুরু [ , শেষ ] ] )-
অনুসন্ধানের পরবর্তী অংশটি কোনও বাইটের মতো অবজেক্ট বা 0 থেকে 255 এর সীমাতে কোনও পূর্ণসংখ্যা হতে পারে ।সংস্করণ ৩.৩-তে পরিবর্তিত হয়েছে: 0 থেকে 255 এর পরিসরে একটি পূর্ণসংখ্যাটিকে পরের অংশ হিসাবে গ্রহণ করুন।
bytes.rpartition( sep )bytearray.rpartition( sep )- শেষ সংঘটন এ ক্রম বিভক্ত সেপ্টেম্বর , এবং একটি 3-tuple অংশ ধারণকারী বিভাজক নিজেই বা তার bytearray কপি, এবং বিভাজক পর অংশ আসতে বিভাজক সামনে। যদি বিভাজকটি পাওয়া যায় না, তবে দুটি খালি বাইট বা বাইটায়ারে অবজেক্টযুক্ত একটি 3-টুপল ফিরে আসুন, তারপরে আসল ক্রমের একটি অনুলিপি করুন।
bytes.startswith( প্রিফিক্স [ , শুরু [ , শেষ ] ] )bytearray.startswith( প্রিফিক্স [ , শুরু [ , শেষ ] ] )- রিটার্ন
Trueযদি নির্দিষ্ট করা সঙ্গে বাইনারি ডেটা শুরু উপসর্গ , অন্যথায় আসতেFalse। উপসর্গটি সন্ধানের জন্য উপসর্গগুলির একটি দ্বিগুণও হতে পারে। Alচ্ছিক শুরু করার সাথে , পরীক্ষাটি সেই অবস্থানে শুরু করুন। Endচ্ছিক শেষের সাথে, সেই অবস্থানের সাথে তুলনা করা বন্ধ করুন।
bytes.translate( টেবিল , / , মোছা = বি '' )bytearray.translate( টেবিল , / , মোছা = বি '' )- Argumentচ্ছিক আর্গুমেন্ট মুছতে সমস্ত বাইটগুলি সরিয়ে ফেলা হয় এবং বাকী বাক্যগুলি প্রদত্ত অনুবাদ টেবিলের মাধ্যমে ম্যাপ করা হয়েছে, যা অবশ্যই 256 দৈর্ঘ্যের বাইট অবজেক্ট হতে হবে।
bytes.maketrans()অনুবাদ টেবিল তৈরি করতে আপনি পদ্ধতিটি ব্যবহার করতে পারেন ।অনুবাদগুলির জন্য সারণী যুক্তি সেট করুনNoneযা কেবল অক্ষর মুছে দেয়:
সংস্করণ 3.6 এ পরিবর্তিত হয়েছে: মুছুন এখন কীওয়ার্ড আর্গুমেন্ট হিসাবে সমর্থিত।
বাইটস এবং বাইটেরে অবজেক্টগুলির জন্য নিম্নলিখিত পদ্ধতিগুলির ডিফল্ট আচরণ রয়েছে যা ASCII সামঞ্জস্যপূর্ণ বাইনারি ফর্ম্যাটগুলির ব্যবহার অনুমান করে, তবে এখনও উপযুক্ত যুক্তিগুলি পাস করে নির্বিচারে বাইনারি ডেটা ব্যবহার করা যেতে পারে। লক্ষ্য করুন এই বিভাগে bytearray পদ্ধতি সব করতে না জায়গায় কাজ, এবং পরিবর্তে নতুন বস্তু উত্পাদন।bytes.center( প্রস্থ [ , fillbyte ] )bytearray.center( প্রস্থ [ , fillbyte ] )- দৈর্ঘ্যের প্রস্থের ক্রমকে কেন্দ্র করে অবজেক্টের একটি অনুলিপি প্রদান করুন । প্যাডিং নির্দিষ্ট ফিলবাইট ব্যবহার করে করা হয় (ডিফল্ট একটি এএসসিআইআই স্পেস)। জন্য
bytesবস্তু, যদি মূল ক্রম ফিরিয়ে দেওয়া হয় প্রস্থ কম বা সমানlen(s)।বিঃদ্রঃ
এই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.ljust( প্রস্থ [ , fillbyte ] )bytearray.ljust( প্রস্থ [ , fillbyte ] )- দৈর্ঘ্যের প্রস্থের অনুক্রমের ন্যায়সঙ্গত বামে থাকা অবজেক্টের একটি অনুলিপি প্রদান করুন । প্যাডিং নির্দিষ্ট ফিলবাইট ব্যবহার করে করা হয় (ডিফল্ট একটি এএসসিআইআই স্পেস)। জন্য
bytesবস্তু, যদি মূল ক্রম ফিরিয়ে দেওয়া হয় প্রস্থ কম বা সমানlen(s)।বিঃদ্রঃ
এই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
bytes.lstrip( [ চরস ] )bytearray.lstrip( [ চরস ] )- সীমাবদ্ধতার একটি অনুলিপি নির্দিষ্ট লিডিং বাইটগুলি সরানো সহ ফিরিয়ে দিন। অক্ষর নাম আসলে এই পদ্ধতি সাধারণত ASCII অক্ষর দিয়ে ব্যবহার করা হয় উল্লেখ করে - যুক্তি বাইনারি বাইট মূল্যবোধের সেট উল্লেখ ক্রম সরানো হতে হয়। বাদ দেওয়া হলে বা
None, অক্ষর হওয়া ASCII হোয়াইটস্পেস সরানোর আর্গুমেন্ট প্রাপ্ত করতে অক্ষমতা। অক্ষর যুক্তি উপসর্গ নয়; বরং এর মানগুলির সমস্ত সংমিশ্রণগুলি ছিনিয়ে নেওয়া হয়:
বিঃদ্রঃ
এই পদ্ধতির বাইটারি সংস্করণটি স্থানে কাজ করে না - এটি কোনও পরিবর্তন না করা হলেও সর্বদা একটি নতুন অবজেক্ট তৈরি করে।
-
0 comments:
Post a Comment