ಡೇಟಾ ಟೈಪ್ ಪರಿವರ್ತನೆ (Type Conversion)
ಪೈಥಾನ್ನಲ್ಲಿ, ಟೈಪ್ ಪರಿವರ್ತನೆ (Type Conversion) ಅಥವಾ ಟೈಪ್ ಕ್ಯಾಸ್ಟಿಂಗ್ (Type Casting) ಎಂದರೆ ಒಂದು ಡೇಟಾ ಟೈಪ್ನ ಮೌಲ್ಯವನ್ನು ಮತ್ತೊಂದು ಡೇಟಾ ಟೈಪ್ಗೆ ಪರಿವರ್ತಿಸುವುದು. ಉದಾಹರಣೆಗೆ, ಒಂದು ಸ್ಟ್ರಿಂಗ್ ("10") ಅನ್ನು ಇಂಟಿಜರ್ (10) ಆಗಿ ಪರಿವರ್ತಿಸುವುದು.
ಪೈಥಾನ್ನಲ್ಲಿ ಟೈಪ್ ಪರಿವರ್ತನೆ ಮಾಡಲು ಅಂತರ್ನಿರ್ಮಿತ (built-in) ಫಂಕ್ಷನ್ಗಳಿವೆ, ಉದಾಹರಣೆಗೆ int(), float(), str(), list(), tuple(), ಇತ್ಯಾದಿ.
ಮುಖ್ಯ ಟೈಪ್ ಪರಿವರ್ತನೆ ಫಂಕ್ಷನ್ಗಳು
1. int()
ಈ ಫಂಕ್ಷನ್ ಅನ್ನು ಬಳಸಿ ಬೇರೆ ಡೇಟಾ ಟೈಪ್ಗಳನ್ನು ಇಂಟಿಜರ್ (ಪೂರ್ಣಾಂಕ) ಆಗಿ ಪರಿವರ್ತಿಸಬಹುದು.
floatನಿಂದint: ದಶಮಾಂಶ ಭಾಗವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.strನಿಂದint: ಸ್ಟ್ರಿಂಗ್ ಕೇವಲ ಪೂರ್ಣಾಂಕ ಸಂಖ್ಯೆಗಳನ್ನು ಹೊಂದಿರಬೇಕು.
float_num = 12.9
str_num = "100"
int_from_float = int(float_num)
int_from_str = int(str_num)
print(f"Float to Int: {int_from_float}") # Output: 12
print(f"String to Int: {int_from_str}") # Output: 100
# ತಪ್ಪು ಉದಾಹರಣೆ
# invalid_str = "10.5"
# int(invalid_str) # ValueError: invalid literal for int() with base 10: '10.5'
2. float()
ಈ ಫಂಕ್ಷನ್ ಅನ್ನು ಬಳಸಿ ಬೇರೆ ಡೇಟಾ ಟೈಪ್ಗಳನ್ನು ಫ್ಲೋಟ್ (ದಶಮಾಂಶ) ಆಗಿ ಪರಿವರ್ತಿಸಬಹುದು.
intನಿಂದfloat: ದಶಮಾಂಶ ಭಾಗ.0ಅನ್ನು ಸೇರಿಸುತ್ತದೆ.strನಿಂದfloat: ಸ್ಟ್ರಿಂಗ್ ಪೂರ್ಣಾಂಕ ಅಥವಾ ದಶಮಾಂಶ ಸಂಖ್ಯೆಗಳನ್ನು ಹೊಂದಿರಬಹುದು.
int_num = 50
str_num = "25.75"
float_from_int = float(int_num)
float_from_str = float(str_num)
print(f"Int to Float: {float_from_int}") # Output: 50.0
print(f"String to Float: {float_from_str}") # Output: 25.75
# ತಪ್ಪು ಉದಾಹರಣೆ
# invalid_str = "Hello"
# float(invalid_str) # ValueError: could not convert string to float: 'Hello'
3. str()
ಈ ಫಂಕ್ಷನ್ ಅನ್ನು ಬಳಸಿ ಯಾವುದೇ ಡೇಟಾ ಟೈಪ್ ಅನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸಬಹುದು.
number = 123
is_true = True
my_list = [1, 2, 3]
str_from_num = str(number)
str_from_bool = str(is_true)
str_from_list = str(my_list)
print(f"Number to String: '{str_from_num}'") # Output: '123'
print(f"Boolean to String: '{str_from_bool}'") # Output: 'True'
print(f"List to String: '{str_from_list}'") # Output: '[1, 2, 3]'
4. list(), tuple(), set()
ಈ ಫಂಕ್ಷನ್ಗಳನ್ನು ಬಳಸಿ ಒಂದು ಸೀಕ್ವೆನ್ಸ್ ಟೈಪ್ ಅನ್ನು ಮತ್ತೊಂದಕ್ಕೆ ಪರಿವರ್ತಿಸಬಹುದು.
my_tuple = (1, 2, 3, 4, 5)
my_list = ["a", "b", "c", "a"]
my_string = "hello"
# Tuple to List
list_from_tuple = list(my_tuple)
print(f"Tuple to List: {list_from_tuple}")
# List to Tuple
tuple_from_list = tuple(my_list)
print(f"List to Tuple: {tuple_from_list}")
# List to Set (ಡೂಪ್ಲಿಕೇಟ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ)
set_from_list = set(my_list)
print(f"List to Set: {set_from_list}")
# String to List
list_from_string = list(my_string)
print(f"String to List: {list_from_string}")
ಗಮನಿಸಬೇಕಾದ ಅಂಶಗಳು
ValueError: ಒಂದು ಮೌಲ್ಯವನ್ನು ಮತ್ತೊಂದು ಟೈಪ್ಗೆ ಪರಿವರ್ತಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ಈ ಎರರ್ ಬರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ,int("ಹಲೋ").- ಡೇಟಾ ನಷ್ಟ (Data Loss):
floatಅನ್ನುintಗೆ ಪರಿವರ್ತಿಸುವಾಗ ದಶಮಾಂಶ ಭಾಗವು ನಷ್ಟವಾಗುತ್ತದೆ (int(12.9)ಎಂಬುದು12ಆಗುತ್ತದೆ). - ಬೂಲಿಯನ್ ಪರಿವರ್ತನೆ (
bool()): 0,0.0,""(ಖಾಲಿ ಸ್ಟ್ರಿಂಗ್),[](ಖಾಲಿ ಲಿಸ್ಟ್),()(ಖಾಲಿ ಟ್ಯೂಪಲ್),{}(ಖಾಲಿ ಡಿಕ್ಷನರಿ), ಮತ್ತುNoneಇವುಗಳನ್ನುbool()ಗೆ ಪರಿವರ್ತಿಸಿದಾಗFalseಬರುತ್ತದೆ.- ಉಳಿದ ಎಲ್ಲಾ ಮೌಲ್ಯಗಳಿಗೆ
Trueಬರುತ್ತದೆ.
print(f"bool(0): {bool(0)}") # Output: False
print(f"bool([]): {bool([])}") # Output: False
print(f"bool('Hello'): {bool('Hello')}") # Output: True
ಟೈಪ್ ಪರಿವರ್ತನೆಯು ಡೇಟಾವನ್ನು ಸರಿಯಾದ ರೂಪದಲ್ಲಿ ಬಳಸಲು ಮತ್ತು ವಿವಿಧ ಡೇಟಾ ಟೈಪ್ಗಳ ನಡುವೆ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಡೆಸಲು ಅತ್ಯಗತ್ಯವಾಗಿದೆ.