আমি কিছু স্ট্রিং ম্যানিপুলেশন শুরু করছি এবং এই প্রশ্নটি পেয়েছি। আমি সম্ভবত ওপি, "স্বাভাবিক আমাকে" এর মতো কিছু করার চেষ্টা করছিলাম। পূর্ববর্তী উত্তরগুলি আমার বিভ্রান্তি পরিষ্কার করতে পারেনি, তবে এটি সম্পর্কে কিছুটা চিন্তা করার পরে অবশেষে আমি "পেয়েছি"।
যতক্ষন পর্যন্ত না a , b, c, d, এবং eমান একই, তারা একই জায়গা উল্লেখ না করেন। স্মৃতি সংরক্ষণ করা হয়। ভেরিয়েবলের বিভিন্ন মান থাকতে শুরু করার সাথে সাথেই তাদের আলাদা আলাদা রেফারেন্স পাওয়া শুরু হয়। আমার শেখার অভিজ্ঞতাটি এই কোড থেকে এসেছে:
import copy
a = 'hello'
b = str(a)
c = a[:]
d = a + ''
e = copy.copy(a)
print map( id, [ a,b,c,d,e ] )
print a, b, c, d, e
e = a + 'something'
a = 'goodbye'
print map( id, [ a,b,c,d,e ] )
print a, b, c, d, e
মুদ্রিত আউটপুট হল:
[4538504992, 4538504992, 4538504992, 4538504992, 4538504992]
hello hello hello hello hello
[6113502048, 4538504992, 4538504992, 4538504992, 5570935808]
goodbye hello hello hello hello something