Các kiểu biến trong Python [ Python ]
Phần biến này trong hai phần : " Cú pháp Python cơ bản - [ Phần 1 ] - [ Phần 2 ] " tôi đã trình bày những cái cơ bản nhất rồi . Hôm nay ta sẽ đi tìm hiểu các kiểu dữ liệu chuẩn trong Python và các chuyển đổi dữ liệu trong Python .
A. Các kiểu dữ liệu chuẩn trong Python
Biến là các vùng chứa dữ liệu và Python hỗ trợ 5 kiểu dữ liệu chuẩn . Đó là :
- Number
- String
- Tuple
- List
- Dictionary
Với mỗi kiểu dữ liệu sẽ có cách trình bay khác nhau và sẽ được diễn giải chi tiết trong các bài viết khác .
B. Chuyển đỗi dữ liệu trong Python
Trong Python , để thỏa mãn các hàm hoặc phương thức nào đó bất kì , đôi khi ta cần phải thực hiện chuyển kiểu dữ liệu . Và đây là các phương thức [ hàm ] được dựng sẵn để thực hiện việc đó .
Và đây là các hàm cơ bản :
Trong Python , để thỏa mãn các hàm hoặc phương thức nào đó bất kì , đôi khi ta cần phải thực hiện chuyển kiểu dữ liệu . Và đây là các phương thức [ hàm ] được dựng sẵn để thực hiện việc đó .
Và đây là các hàm cơ bản :
- float(data) chuyển đổi sang kiểu số thực.
- int(data,base) chuyển đổi sang kiểu số, trong đó base là kiểu hệ số mà các bạn muốn chuyển đổi sang (tham số này có thể bỏ trống).
- str(data) chuyển đổi sang dạng chuỗi.
- complex(data) chuyển đổi sang kiểu phức hợp.
- tuple(data) chuyển đổi sang kiểu Tuple.
- dict(data) chuyển đổi sang kiểu Dictionary. Tham số data phải là một dãy các Tuple của cặp (key, value)
- hex(data) chuyển đổi sang hệ 16.
- oct(data) chuyển đổi sang hệ 8.
- chr(data) chuyển đổi sang dạng ký tự.
Và vì vậy nếu trong quá trình viết chương trình. Nếu có thông báo kiểu như là " .... Phải là Str , không được là Int ... " thì ta chỉ cần ép nó sang Str . Ex :
age = 42 ;
#ép sang chuỗi.
strAge = str(age)
print(type(strAge))
Và kết quả thu được là :
<class 'str'>Đây chỉ là các hàm chuyển đổi cơ bản . Trong quá trình học ta sẽ gặp thêm nhiều hàm khác , đơn cử như [ Thà để cái này chung với cái trên luôn nhỉ ] :
- long(x [,base] ) Chuyển đổi x thành một long int. Tham số base xác định cơ sở nếu x là một chuỗi
- repr(x) Chuyển đổi đối tượng x thành một chuỗi biểu thức
- eval(str) Ước lượng một chuỗi và trả về một đối tượng
- tuple(s) Chuyển đổi s thành một Tuple
- list(s) Chuyển đổi s thành một List
- set(s) Chuyển đổi s thành một Set
- frozenset(s) Chuyển đổi s thành một Fronzen Set
- unichr(x) Chuyển đổi một số nguyên thành một ký tự Unicode
- ord(x) Chuyển đổi một ký tự đơn thành giá trị nguyên của nó
Lưu ý là không phải với bất kì dữ liệu nào cũng có thể chuyển đổi được . Ví dụ :
- Có thể chuyển số ( Int ) sang dạng số khác ( Float , ... ) . Và chuyển số sang dạng str nhưng không thể chuyển str sang dạng số [ Đối với các Str không phải là số ] . Ví dụ :
age = 26 ;
age2 = "age";
#Chuyển age sang kiểu floatKết quả :
float_age = float(age)
print (type(float_age))
<class 'float'>
Nhưng :
#Chuyển age2 sang IntKết quả là một lỗi :
int_age2 = int(age2)
print (type(int_age2))
Traceback (most recent call last):
File "thu.py", line 4, in <module>
int_age2 = int(age2)
ValueError: invalid literal for int() with base 10: 'age'
- Còn nếu chuỗi là một số thì vẫn chuyển được :
age2 = "22";Kết quả :
#Chuyển age2 sang Int
int_age2 = int(age2)
print (type(int_age2))
<class 'int'>
OK ! DONE
[ “Có một điều mà chúng ta có thể làm được tốt hơn bất kì ai khác: chúng ta có thể là chính mình” ]
