পাইথনের কোনও স্ট্রিংয়ে আমি কীভাবে কোনও ডেটা টাইপ পরিবর্তন করতে পারি?
পাইথনের কোনও স্ট্রিংয়ে আমি কীভাবে কোনও ডেটা টাইপ পরিবর্তন করতে পারি?
উত্তর:
myvariable = 4
mystring = str(myvariable) # '4'
এছাড়াও, বিকল্পভাবে repr চেষ্টা করুন:
mystring = repr(myvariable) # '4'
পাইথনে একে "রূপান্তর" বলা হয় এবং এটি বেশ সাধারণ common
str(u'ä')কাজ করবে না। তবে repr(u'ä')কাজ করবে।
strঅবজেক্টের ডেটার একটি স্ট্রিং প্রতিনিধিত্ব উত্পাদন বোঝানো হয়। আপনি যদি নিজের ক্লাস লিখছেন এবং আপনি আপনার strপক্ষে কাজ করতে চান তবে যুক্ত করুন:
def __str__(self):
return "Some descriptive string"
print str(myObj)ডাকবে myObj.__str__()।
reprএকটি অনুরূপ পদ্ধতি, যা সাধারণত শ্রেণীর তথ্য সম্পর্কিত তথ্য উত্পাদন করে। বেশিরভাগ মূল লাইব্রেরি অবজেক্টের জন্য, reprকোণ বন্ধনীগুলির মধ্যে শ্রেণীর নাম (এবং কিছু সময়ের কিছু শ্রেণির তথ্য) উত্পাদিত হয়। reprউদাহরণস্বরূপ, ব্যবহার না করা printবা অন্য কিছু ব্যবহার না করে কেবল আপনার মিথস্ক্রিয়া ফলকে আপনার বস্তুটি টাইপ করে anything
আপনি reprনিজের পদার্থের জন্য যেমন আচরণের সংজ্ঞা দিতে পারেন তেমন আচরণের সংজ্ঞা দিতে পারেন str:
def __repr__(self):
return "Some descriptive string"
>>> myObjআপনার মিথস্ক্রিয়া ফলক বা repr(myObj), ফলস্বরূপ হবেmyObj.__repr__()
object.__repr__স্টাইল এঙ্গেল-বন্ধনীর উপস্থাপনা ফেরত দেয় তবে বেশিরভাগ সর্বাধিক ব্যবহৃত ব্যবহৃত হয় না। জন্য চলতি রীতি reprকি যে যদি এটা জ্ঞান করে তোলে, পাইথন কোড যা একই বস্তুর উত্পাদন করতে মূল্যায়ন করা যেতে পারে ফেরত দিতে যে, ঠিক str, frozenset, এবং অন্যান্য অধিকাংশ builtins না, কিন্তু যদি এটা না, কোণ-বন্ধনী ব্যবহার আপনি যা ফিরে আসবেন তা সম্ভবত কোনও মানব-পঠনযোগ্য এবং মূল্যায়নযোগ্য-হিসাবে-উত্স repr এর জন্য ভুল হতে পারে না তা নিশ্চিত করার জন্য ফর্ম করুন।
listএতে নিজেকে অন্তর্ভুক্ত করে এমন কিছু দেয় যা কেবল দেখায় না তবে মূল্যায়নযোগ্য কোড যা ভুল বিষয়টিকে মূল্যায়ন করে — তবে মূল দেবগণ কখনই সেটিকে সম্প্রসারণের লাইসেন্স হিসাবে গ্রহণ করেন নি license stdlib এর সাথে আচরণ করুন))
আমি সমস্ত উত্তর ব্যবহার করার পরামর্শ দিচ্ছি str(object)। এটি ব্যর্থ হতে পারে যদি আপনার অবজেক্টে এসকিআই অক্ষর বেশি থাকে এবং আপনি এর মতো ত্রুটি দেখতে পাবেন ordinal not in range(128)। আমি যখন ইংরেজী ব্যতীত অন্য ভাষায় স্ট্রিংয়ের তালিকার রূপান্তর করছিলাম তখন আমার ক্ষেত্রে এটি ছিল
আমি এটি ব্যবহার করে সমাধান করেছি unicode(object)
str(object) কৌতুক করবে
আপনি যদি বিষয়টিকে স্ট্রিংফাই করা হয় সেভাবে পরিবর্তন করতে চান তবে __str__(self)অবজেক্টের শ্রেণির জন্য পদ্ধতিটি নির্ধারণ করুন । এই জাতীয় পদ্ধতিতে স্ট্র বা ইউনিকোড অবজেক্টটি ফিরে আসতে হবে।
str(any_var)বাany_var.__str__()
timeitমডিউল), আপনি ব্যবহার করা উচিত str(any_var)যেহেতু এটি ক্ষেত্রে থেকে মানুষের জন্য আরো পাঠযোগ্য এবং উপকার করতে পারবেন যখন any_varসংজ্ঞায়িত __repr__()কিন্তু ফেলে না ' টি সংজ্ঞায়িত __str__()।
strঅন্তর্নির্মিতটি ব্যবহার করুন :
x = str(something)
উদাহরণ:
>>> str(1)
'1'
>>> str(1.0)
'1.0'
>>> str([])
'[]'
>>> str({})
'{}'
...
ডকুমেন্টেশন থেকে:
কোনও স্ট্রিংটি প্রত্যাবর্তন করুন যাতে কোনও বস্তুর দুর্দান্ত মুদ্রণযোগ্য উপস্থাপনা থাকে। স্ট্রিংগুলির জন্য, এটি স্ট্রিংটি নিজেই দেয়। Repr (অবজেক্ট) এর সাথে পার্থক্য হ'ল str (অবজেক্ট) সর্বদা একটি স্ট্রিং ফেরত দেওয়ার চেষ্টা করে না যা eval () এর কাছে গ্রহণযোগ্য; এর লক্ষ্য হ'ল একটি মুদ্রণযোগ্য স্ট্রিং ফিরিয়ে দেওয়া। যদি কোনও যুক্তি না দেওয়া হয়, খালি স্ট্রিংটি ফিরিয়ে দেয়, ''।
সঙ্গে str(x)। যাইহোক, প্রতিটি ডেটা টাইপ তার নিজস্ব স্ট্রিং রূপান্তর সংজ্ঞায়িত করতে পারে, তাই এটি আপনি যা চান তা নাও হতে পারে।
কেবল ব্যবহার করুন str- উদাহরণস্বরূপ:
>>> str([])
'[]'
আপনি যদি সত্যিই ডেটা ধরণের "পরিবর্তন" করতে চান তবে সাবধান হন। অন্যান্য ক্ষেত্রে (উদাহরণস্বরূপ একটি forলুপে পুনরুক্তি পরিবর্তন ) এর ফলে এটি অপ্রত্যাশিত আচরণটি সামনে আনতে পারে:
>> dct = {1:3, 2:1}
>> len(str(dct))
12
>> print(str(dct))
{1: 31, 2: 0}
>> l = ["all","colours"]
>> len(str(l))
18
str(var)? আপনি কি এটি খুঁজছেন?