Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Python: Chuyển đổi kiểu dữ liệu của một chuỗi sang kiểu dữ liệu khác (kiểu dữ liệu đó nằm trong một chuỗi)?

4 năm trước 1.593 lượt xem 6 bình luận 4 năm trước

Tôi có một chuỗi types = 'int' convert = '5'. cả hai đều có type là str. Vậy, làm sao để ép kiểu dữ liệu của convert sang kiểu dữ liệu nằm trong types.

 

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Cu Xin Author đã bình luận 4 năm trước

Có vẻ như bạn đang đi sai concept của lập trình, hoặc hiểu sai trong lúc thiết kế một chương trình.

Có một số cách mà bạn có thể sử dụng, trong đó là các cách như @JuffyInaba đã gợi ý. Nhưng làm theo cách đó thì nhỡ yêu cầu của bài toán nó tăng lên thành string, bool, chứ không còn mỗi int hay float nữa.

Hoặc 1 cách khác là sử dụng eval() để thực thi câu lệnh thông qua string (mình không khuyến khích làm theo cách này).

>>> text = "int('1')"
>>> type(text)
<class 'str'>
>>> b = eval(text)
>>> b
1
>>> type(b)
<class 'int'>

Bạn nên đăng toàn bộ ý tưởng về chương trình lên đây để mọi người cho bạn một cách tiếp cận hợp lý hơn. Theo như yêu cầu của bạn thì vẫn OK thôi, nhưng mind set sẽ rất tệ.

Cu Xin Author đã bình luận 4 năm trước

Có vẻ như bạn đang đi sai concept của lập trình, hoặc hiểu sai trong lúc thiết kế một chương trình.

Có một số cách mà bạn có thể sử dụng, trong đó là các cách như @JuffyInaba đã gợi ý. Nhưng làm theo cách đó thì nhỡ yêu cầu của bài toán nó tăng lên thành string, bool, chứ không còn mỗi int hay float nữa.

Bạn nên đăng toàn bộ ý tưởng về chương trình lên đây để mọi người cho bạn một cách tiếp cận hợp lý hơn. Theo như yêu cầu của bạn thì vẫn OK thội, nhưng mind set sẽ rất tệ.

JuffyInaba đã bình luận 4 năm trước
def convert_to_type(types, convert):
    if types == 'int':
        return int(convert)
    elif types == 'float':
        return float(convert)
    else:
        return None

print(convert_to_type('int', '5'))

 

VoTanDuc đã bình luận 4 năm trước

Không để chuyển được nha bạn. Bạn phải khai báo 1 biến convert rồi chuyển qua kiểu int như thế này:

convert="5"
print(int(convert))

Nếu không, nó sẽ báo lỗi:

types="int"
convert="5"
print(types(convert))
    print(types(convert))
TypeError: 'str' object is not callable

Cảm ơn bạn! Chúc bạn thành công!

Câu hỏi mới nhất