Hàm tích hợp int[] của Python chuyển đổi một chuỗi thành một số nguyên. Điều này là bắt buộc khi bạn muốn thực hiện các phép toán không thành công trên một biến kiểu chuỗi. Python cũng cung cấp hàm tích hợp str[] thực hiện chuyển đổi kiểu dữ liệu ngược lại từ int sang string
Chúng ta sẽ bắt đầu bằng cách xem cách chuyển đổi kiểu dữ liệu hoạt động bằng cách sử dụng int[] và str[]. Sau đó, chúng tôi sẽ phân tích một ví dụ thực tế yêu cầu chuyển đổi một biến từ chuỗi thành số nguyên
chúng ta đi đây
Mục lục
Làm thế nào để bạn viết một số nguyên trong Python?
Khi chúng ta nói về số nguyên, chúng ta đề cập đến các số nguyên thập phân dương hoặc âm
Ví dụ về số nguyên là -1, -3, 0 5, 136
Trong Python, bạn có thể biểu diễn các số nguyên bằng hai kiểu dữ liệu. int và chuỗi
đại diện int
>>> number = 225
>>> type[number]
biểu diễn chuỗi
>>> number = "225"
>>> type[number]
Trong cả hai trường hợp, đầu ra của hàm tích hợp kiểu cho thấy biến đầu tiên là một int và biến thứ hai là một chuỗi [str]
Kiểm tra hướng dẫn này nếu bạn muốn tìm hiểu ý nghĩa của lớp trong Python
Bây giờ chúng ta sẽ học cách chuyển đổi một chuỗi thành một số nguyên và ngược lại. Quá trình chuyển đổi kiểu dữ liệu Python sang kiểu dữ liệu khác còn được gọi là ép kiểu
Chuyển đổi một chuỗi thành một int trong Python
Bây giờ chúng ta hãy tìm hiểu sâu hơn một chút…
Để chuyển đổi một chuỗi thành một int, bạn có thể sử dụng hàm tích hợp Python int[]
>>> number = "225"
>>> int[number]
225
Xác nhận rằng kiểu dữ liệu được trả về là một số nguyên
>>> type[int[number]]
Điều đó thật dễ dàng
Và đây là điều sẽ xảy ra nếu chúng ta cố gắng chuyển đổi thành một số nguyên một chuỗi không đại diện cho một số nguyên
>>> number = "not-a-number-225"
>>> type[int[number]]
Traceback [most recent call last]:
File "", line 1, in
ValueError: invalid literal for int[] with base 10: 'not-a-number-225'
Trình thông dịch Python đưa ra một ngoại lệ ValueError vì giá trị mà chúng ta đã truyền cho hàm int[] không phải là số base10 hợp lệ
Chuyển đổi một Int thành một chuỗi trong Python
Bây giờ, hãy để tôi chỉ cho bạn cách chuyển đổi một int thành một chuỗi
Để chuyển đổi một int thành một chuỗi, bạn có thể sử dụng hàm tích hợp sẵn str[] của Python.>>> number = 225
>>> str[number]
'225'
Xác nhận rằng kiểu dữ liệu được trả về là một chuỗi. >>> type[str[number]]
Nó đã làm việc
Và đây là những gì chúng tôi nhận được nếu chúng tôi cố gắng chuyển đổi thành một chuỗi một số nguyên không ở định dạng thập phânVí dụ: hãy thử chuyển đổi một số nhị phân thành một chuỗi
Để viết một số nhị phân bằng Python, bạn phải thêm tiền tố vào 0b
>>> number = 0b010
>>> str[number]
'2'
>>> number = 0b110
>>> str[number]
'6'
>>> number = 0b100
>>> str[number]
'4'
Thật tuyệt vời, hàm str[] đủ thông minh để chuyển đổi số nhị phân thành chuỗi ở định dạng thập phân
Khi nào bạn cần chuyển đổi chuỗi thành số nguyên trong Python?
Bạn đã học cách chuyển từ chuỗi sang số nguyên và ngược lại
Nhưng, tại sao bạn lại làm điều đó trong chương trình của mình?
Ví dụ, hãy tạo một chương trình lấy một số làm đầu vào và trả về bình phương của số đó
Để đọc số từ đầu vào của người dùng, chúng tôi sẽ sử dụng hàm Python input[]
Ghi chú. trong hướng dẫn này, chúng tôi đang sử dụng Python 3
________số 8Hấp dẫn…
Đoạn mã này cho thấy rằng hàm input[] trả về một chuỗi ngay cả khi chúng ta đã cung cấp một số cho nó
Hàm input[] của Python, trong Python 3, nhận đầu vào, chuyển đổi nó thành một chuỗi và trả về chuỗi
Ok, bây giờ hãy xem tại sao việc chuyển đổi chuỗi này thành int lại quan trọng
Sau khi đọc số từ người dùng, hãy thử tính bình phương của số đó bằng toán tử số mũ Python
number = input["Insert a number: "]
square = number**2
Khi bạn thực thi mã này, bạn sẽ nhận được ngoại lệ TypeError sau
>>> number = "225"
>>> type[number]
0Đó là bởi vì chúng tôi đang cố gắng tính bình phương của kiểu dữ liệu chuỗi thay vì kiểu int
Đó là lý do tại sao chúng ta phải chuyển đổi giá trị được trả về bởi hàm input[] thành int trước
Đây là cách chúng tôi làm điều đó…
>>> number = "225"
>>> type[number]
1Chúng ta có
- Đã sử dụng hàm tích hợp int[] để chuyển đổi đầu ra của hàm input[] thành một số nguyên
- Sau đó, chúng tôi đã tính giá trị của biến bình phương bằng toán tử số mũ
- Cuối cùng, chúng ta đã sử dụng phương thức string format[] để in một thông báo chứa giá trị của biến square
>>> number = "225"
>>> type[number]
2Liệu nó có ý nghĩa?
Làm cách nào để bạn chuyển đổi một số Hex thành Int trong Python?
Trước khi hoàn thành hướng dẫn này, tôi muốn cho bạn thấy một thứ khác…
Một cách để chuyển đổi một chuỗi đại diện cho một số hex thành một int
Để viết một số hex bằng Python, bạn phải thêm tiền tố vào 0x. Hãy xem điều gì sẽ xảy ra khi chúng ta sử dụng hàm int[] để chuyển đổi chuỗi hex này thành int.>>> number = "225"
>>> type[number]
3Trình thông dịch Python đưa ra một ngoại lệ ValueError vì nó giả định rằng chuỗi mà chúng ta đang cố chuyển đổi thành int đại diện cho một số thập phân
Để nói với hàm int[] rằng chuỗi đại diện cho một số thập lục phân, chúng ta phải truyền đối số thứ hai cho hàm int[]. cơ sở. Trong trường hợp này giá trị của nó sẽ là 16
>>> number = "225"
>>> type[number]
4Như bạn có thể thấy chuỗi đã được chuyển đổi chính xác thành giá trị thập phân của nó
Phần kết luận
Và bây giờ, hãy tóm tắt lại những gì chúng ta đã trình bày trong hướng dẫn Python này
- Một số nguyên có thể được biểu diễn bằng Python bằng cách sử dụng các kiểu dữ liệu int hoặc string
- Chuyển đổi một chuỗi thành một int bằng cách sử dụng
- Chuyển đổi một int thành một chuỗi bằng cách sử dụng hàm tích hợp str[]
- Sử dụng chuyển đổi từ chuỗi sang int trong một ví dụ thực tế
- Chuyển đổi một chuỗi hex thành int
Bây giờ bạn có mọi thứ bạn cần để di chuyển giữa các kiểu dữ liệu int và string và để chuyển đổi đầu vào của người dùng thành đúng loại nếu được yêu cầu
Vì vậy, hãy thử và gửi email cho tôi theo địa chỉ hello@codefather. công nghệ nếu bạn có bất kỳ câu hỏi
Bài viết liên quan
Năng suất Python. Tạo trình tạo của bạn [Có ví dụ]
Làm cách nào để bạn lấy mọi phần tử khác từ danh sách Python?
8 điều cần biết để đếm các giá trị duy nhất trong danh sách bằng Python
Claudio Sabato
Tôi là Trưởng nhóm công nghệ, Kỹ sư phần mềm và Huấn luyện viên lập trình. Tôi muốn giúp bạn trong hành trình trở thành Nhà phát triển siêu hạng