Bài học theo mô-đun (4/4)
Chuyển đổi loại
Python được gõ mạnh: nó không bao giờ thêm một chuỗi vào một số trừ khi bạn
nói vậy. Để chuyển từ kiểu này sang kiểu khác, bạn sử dụng các hàm tạo:
int(), float(), str(), bool(), list(), tuple(), set().
int("42") # 42
float("3.14") # 3.14
str(42) # '42'
list("abc") # ['a', 'b', 'c']
tuple([1, 2]) # (1, 2)
set([1, 1, 2]) # {1, 2}int() có chuỗi
int("42") hoạt động; int("42.5") tăng ValueError. Đối với chuỗi thập phân,
đi qua float trước: int(float("42.5")) → 42 (cắt ngắn, không
tròn).
int("42") # 42
int(" 42 ") # 42 (strip automatico degli spazi)
int("42.5") # ValueError
int(float("42.5")) # 42
int("ff", 16) # 255 (base esplicita)float() có chuỗi
Chấp nhận ký hiệu thập phân và khoa học.
float("3.14") # 3.14
float("1e3") # 1000.0
float("inf") # inf
float("nan") # nanstr(): chuyển đổi "thân thiện"
str(x) gọi nội bộ x.__str__() để có được đại diện "con người".
Ngoài ra còn có repr(x) cho phần trình bày "trình gỡ lỗi", thường nhiều hơn
rõ ràng (có dấu ngoặc kép cho chuỗi, v.v.).
str(3.14) # '3.14'
str([1, 2]) # '[1, 2]'
str(True) # 'True'bool() và tính trung thực
bool(x) chỉ trả về False cho các giá trị falsy của Python:
False,None- số 0:
0,0.0 - thùng chứa rỗng:
"",[],(),{},set()
Mọi thứ khác đều trung thực.
bool(0) # False
bool("") # False
bool([]) # False
bool("0") # True ! (stringa non vuota)
bool([0]) # True ! (lista non vuota, anche se contiene 0)Mẫu: phân tích cú pháp đầu vào an toàn
testo = input("età: ")
try:
eta = int(testo)
except ValueError:
print(f"non è un numero: {testo!r}")
eta = NoneĐánh giá Boolean (Tính xác thực)
Trong Python, mọi đối tượng đều có một giá trị chân lý ngầm định. Bạn có thể kiểm tra giá trị boolean của bất kỳ đối tượng nào bằng hàm bool(...). Bộ sưu tập trống (ví dụ: "", [], {}, set()) và các giá trị bằng 0 (0, 0.0) luôn có giá trị là False. Tất cả các đối tượng khác có giá trị là True.
Hãy thử nó
Cho `a = '10'` và `b = '32'` (chuỗi), hãy tính `tổng` là tổng INTEGER của chúng. Đánh giá `tổng`.
Hiển thị gợi ý
int(a) + int(b), nếu không thì bạn nối các chuỗi.
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
Cho danh sách `values = ['', 'x', 0, None, 1, []]`, xây dựng `truthy` CHỈ với các phần tử trung thực bằng cách sử dụng bool(). Đánh giá 'sự thật`.
Hiển thị gợi ý
Hiểu danh sách bằng filter bool(v) (hoặc chỉ 'if v').
Giải pháp khả dụng sau 3 lần thử
Thử thách bổ sung
Cho danh sách các chuỗi \`string_numbers = ["1", "2", "3"]\`, hãy chuyển đổi từng phần tử thành một số nguyên bằng cách sử dụng \`int()\` và tổng hợp chúng lại với nhau để thu được giá trị \`6\`. Lưu tổng vào \`sum_val\` và đánh giá nó.
Hiển thị gợi ý
Truy cập các phần tử theo chỉ mục, ví dụ: int(string_numbers[0]) và tính tổng chúng.
Giải pháp khả dụng sau 3 lần thử