همانطور که میدانید، انواع دادههای مختلف در پایتون از قبیل دادههای رشتهای، عددی و … وجود دارند. حالا فرض کنید رشتهای شامل کاراکترهای یک عددی مثل ’20’ باشد که از ورودی دریافت کردهاید. برای آنکه بتوان محاسبتان ریاضی برروی آن انجام داد، بایستی نوع آن را به عدد مورد نظر که میتواند float و int و … باشد تبدیل کرد. برای مثال:
1 2 3 4 5 6 7 8 9 10 |
age = "20"; print(type(age)) # <class 'str'> ageInt = int(age) print(ageInt) # 20 print(type(ageInt)) # <class 'int'> ageFloat = float(age) print(ageFloat) # 20.0 print(type(ageFloat)) # <class 'float'> |
20
<class ‘int’>
20.0
<class ‘float’>
بنابراین، از توابع int و float، برای تبدیل متغیر به یک نوع دیگر استفاده شده است. بدینگونه میتوان یک int را نیز با استفاده از تابع float به نوع آن تبدیل کرده و برعکس؛ که در آن صورت اعشار از بین خواهد رفت؛ و در واقع عدد اعشاری گرد خواهد شد.
نکته 1: قرار دادن در همان متغیر
طبیعتا میتوان پس از تبدیل، خروجی مقدار را در همان متغیر قرار دارد. یعنی بجای ageInt و در مثال بالا، مقادیر را در همان age بریزیم؛ چرا که پایتون یک زبان داینامیک تایپ است.
1 2 3 4 5 6 |
age = "20"; print(type(age)) # <class 'str'> age = float(age) print(age) # 20.0 print(type(age)) # <class 'float'> |
20.0
<class ‘float’>
نکته 2: تبدیل انواع دیگر
برای تبدیل به یک رشته، از تابع str و برای تبدیل یک رشته به انواع مختلف tuple , set و list نیز از توابع خودشان استفاده میشود؛ که باعث میشود تا هر کاراکتر از رشته، در یک خانه قرار گیرد:
1 2 3 4 5 6 7 8 9 10 |
s = 'FuLLKade' c = tuple(s) print (c) c = set(s) print (c) c = list(s) print (c) |
{‘F’, ‘d’, ‘L’, ‘a’, ‘u’, ‘e’, ‘K’}
[‘F’, ‘u’, ‘L’, ‘L’, ‘K’, ‘a’, ‘d’, ‘e’]
نکته 3: کاراکتر غیرمجاز
در صورتی که یک رشته شامل یک مقدار رقمی نبوده و کاراکترهای غیرمجاز داشته باشد، در هنگام تبدیل به نوع عددی، خطای ValueError رخ میدهد:
1 2 3 4 5 |
age = "H" age = float(age) print(age) # Output: |
ValueError: could not convert string to float: ‘H’
PS C:\Users\Hadi\Desktop\Python Project>
نظرات ثبت شده بدون دیدگاه