পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করছেন?


1360

আমি পাইথনের একটি স্ট্রিতে একটি পূর্ণসংখ্যা রূপান্তর করতে চাই। আমি এটি বৃথা টাইপকাস্ট করছি:

d = 15
d.str()

আমি যখন এটিকে স্ট্রিংয়ে রূপান্তরিত করার চেষ্টা করি তখন এটি ত্রুটি দেখায় intযে কোনও বৈশিষ্ট্য বলা হয় না str

উত্তর:


2093
>>> str(10)
'10'
>>> int('10')
10

ডকুমেন্টেশনের লিঙ্কগুলি:

স্ট্রিনে রূপান্তরটি বিল্টিন str()ফাংশন দিয়ে সম্পন্ন হয় , যা মূলত __str__()এর প্যারামিটারের পদ্ধতিটিকে কল করে ।



62

পাইথনে টাইপকাস্ট নেই এবং কোনও ধরণের জবরদস্তি নেই। আপনাকে আপনার পরিবর্তনশীলকে একটি সুস্পষ্ট উপায়ে রূপান্তর করতে হবে।

স্ট্রিংয়ে কোনও বস্তুকে রূপান্তর করতে আপনি str()ফাংশনটি ব্যবহার করেন । এটি যে কোনও অবজেক্টের সাথে কাজ করে যার একটি পদ্ধতি রয়েছে যা __str__()সংজ্ঞায়িত বলে। আসলে

str(a)

সমতুল্য

a.__str__()

আপনি যদি কোনও কিছুকে ইনট, ফ্লোট ইত্যাদিতে রূপান্তর করতে চান তবে একই


এই সমাধানটি আমাকে সাহায্য করেছিল, আমি একটি বর্ণচিহ্নের স্ট্রিংটিকে একটি সংখ্যাসূচক স্ট্রিংয়ে রূপান্তর করছিলাম, অক্ষরগুলি তাদের আসকি মানগুলির সাথে প্রতিস্থাপন করছিলাম, তবে সরাসরি স্ট্র () ফাংশন ব্যবহার করে কাজ করা হয়নি, তবে __str __ () কাজ করেছিল। উদাহরণ (পাইথন 2.7); s = "14.2.2.10a2" অ-কার্যকারী কোড: মুদ্রণ "" .জাইন ([টিআর (অর্ড (সি)) যদি (সি। সিফলা ()) সি এর জন্য সি এর জন্য) কার্যকারী কোড: মুদ্রণ "" .জাইন ([অর্ড (সি) .__ স্ট্রেট __ () যদি (সি। সিফলা ()) অন্য সি এর জন্য সি]] প্রত্যাশিত আউটপুট: 14.2.2.10972
জয়ন্ত

18

অ-পূর্ণসংখ্যা ইনপুটগুলি পরিচালনা করতে:

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0

14
>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5

11

পাইথন => 3.6 এ আপনি fবিন্যাস ব্যবহার করতে পারেন :

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>

7

পাইথন ৩.6-এর জন্য আপনি স্ট্রিংতে রূপান্তর করতে এফ-স্ট্রিং নতুন বৈশিষ্ট্যটি ব্যবহার করতে পারেন এবং এটি আরআর () ফাংশনের তুলনায় দ্রুততর হয়, এটি এর মতো ব্যবহৃত হয়:

age = 45
strAge = f'{age}'

পাইথন সেই কারণে স্ট্রিং () ফাংশন সরবরাহ করে।

digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>

আরও বিস্তারিত উত্তরের জন্য আপনি এই নিবন্ধটি পরীক্ষা করতে পারেন: পাইথন ইন্টারকে স্ট্রিং এবং পাইথন স্ট্রিংকে ইনটে রূপান্তর করা


6

আমার মতে সর্বাধিক শালীন উপায় হ'ল ``

i = 32   -->    `i` == '32'

3
মনে রাখবেন এটি সমান repr(i), তাই এটি দীর্ঘকালীন জন্য অদ্ভুত হবে। (চেষ্টা করুন i = `2 ** 32`; print i)

16
এটি পাইথন 2 এ অবহেলা করা হয়েছে এবং অজগর 3 এ সম্পূর্ণ অপসারণ করা হয়েছে, সুতরাং আমি এটি আর ব্যবহার করার পরামর্শ দেব না। docs.python.org/3.0/whatsnew/3.0.html#removed-syntax
teeks99

6

ব্যবহার করতে পারেন %sবা.format

>>> "%s" % 10
'10'
>>>

(বা)

>>> '{}'.format(10)
'10'
>>>

5

নির্দিষ্ট অঙ্কে স্ট্রিং-এ স্ট্রিংয়ে রূপান্তর করতে চান এমন কারও জন্য নীচের পদ্ধতিটি প্রস্তাবিত।

month = "{0:04d}".format(localtime[1])

আরও তথ্যের জন্য, আপনি নেতৃস্থানীয় শূন্যগুলির সাথে স্ট্যাক ওভারফ্লো প্রশ্ন প্রদর্শন নম্বরটি উল্লেখ করতে পারেন ।


4

পাইথন ৩.6-এ এফ-স্ট্রিংগুলি প্রবর্তনের সাথে সাথে এটি কাজ করবে:

f'{10}' == '10'

str()পাঠযোগ্যতার ব্যয়ে এটি কল করার চেয়ে আসলে দ্রুত ।

আসলে এটি %xস্ট্রিং ফর্ম্যাটিংয়ের চেয়ে দ্রুত এবং .format()!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.