در پایتون مشابه متد ()str
، متد از پیش تعریف شده دیگری به نام ()int
وجود دارد.
این متد کاربردی، به عنوان آرگومان یک رشته (String) میگیرد و خروجی به صورت یک عدد (Integer) برگردانده میشود. نمونه کد:
1 2 3 4 5 6 7 | # Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age) |
خروجی:
1 2 | 18 18 |
خروجی متد ()int
هرچند بنظر یکسان میرسد؛ اما توجه داشته باشید که خط اول یک شی از نوع رشته (String) و خط دوم یک شی از نوع عدد (Integer) هست.
توضیح بیشتر در مثال بعدی:
1 2 | age = "18" print(age + 2) |
خروجی:
1 2 3 | Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects |
خطایی که دریافت کردیم نشون میده که قبل از عملیات جمع باید شی age
رو به عدد (Integer) تغییر بدیم.
1 2 3 | age = "18" age_int = int(age) print(age_int + 2) |
خروجی:
1 | 20 |
این موارد خاص رو هم در نظر داشته باشید:
- اعداد اعشاری (floating point) اگر به عنوان آرگومان وارد شوند به نزدیکترین عدد کامل گِرد میشوند.
برای مثال خروجی print(int(7.9))
عدد 7
است. از طرفی دیگر print(int("7.9"))
موجب بروز خطا خواهد شد، به این دلیل که اعداد اعشاری در قالب رشته نمیتونن به عدد تبدیل شوند.
1 2 3 | Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '7.9' |
- کلمات و جملات هم به همین ترتیب باعث بروز خطا میشوند.
برای مثال، خروجی print(int("one"))
به این شکل خواهد بود:
1 2 3 | Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'one' |
منبع
How to Convert Strings into Integers in Python – freeCodeCamp.org