Chuỗi có thể được chuyển đổi thành số nguyên trong Python không?

Python cho phép bạn chuyển đổi chuỗi, số nguyên và số float thay thế cho nhau theo một số cách khác nhau. Cách đơn giản nhất để thực hiện việc này là sử dụng các hàm cơ bản

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
6,
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
7 và
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
8. Ngoài ra, còn có một số cách khác, chẳng hạn như hàm
>>> x = "23.4"
>>> z = int[x]
Traceback [most recent call last]:
  File "", line 1, in 
ValueError: invalid literal for int[] with base 10: '23.4'
9. Chỉ cần lưu ý rằng các hàm
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
7,
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
8 và
>>> x = "23a"
>>> z = int[x]
Traceback [most recent call last]:
  File "", line 1, in 
ValueError: invalid literal for int[] with base 10: '23a'
6 có các giới hạn của chúng và có thể đưa ra các ngoại lệ nếu chuỗi đầu vào không được định dạng chính xác như chúng mong đợi

Nếu khối

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
2 thành công, hàm trả về
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
3 và chuỗi có thể được chuyển đổi thành số nguyên

Nếu việc gọi lớp

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
4 với chuỗi không thành công, thì một
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
5 được nâng lên và hàm trả về
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
60

Sử dụng một tuyên bố

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
6 theo cách này thường được gọi là "yêu cầu sự tha thứ hơn là sự cho phép"

Chúng tôi chuyển chuỗi tới lớp

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
4 mà không biết liệu chuyển đổi có thành công hay không và nếu lỗi
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
5 xuất hiện, chúng tôi sẽ xử lý nó trong khối
>>> x = "23.4"
>>> z = int[x]
Traceback [most recent call last]:
  File "", line 1, in 
ValueError: invalid literal for int[] with base 10: '23.4'
0

Ngoài ra, bạn có thể sử dụng phương pháp

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
65

Kiểm tra xem chuỗi có thể được chuyển đổi thành Số nguyên bằng isdigit[] #

Sử dụng phương thức

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
65 để kiểm tra xem một chuỗi có thể được chuyển đổi thành một số nguyên hay không, e. g.
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
67. Nếu phương thức
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
68 trả về
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
3, thì tất cả các ký tự trong chuỗi đều là chữ số và nó có thể được chuyển đổi thành số nguyên

Chúng tôi đã sử dụng phương pháp

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
65 để kiểm tra xem một chuỗi có thể được chuyển đổi thành số nguyên một cách an toàn hay không

các str. phương thức isdigit trả về

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
3 nếu tất cả các ký tự trong chuỗi là chữ số và có ít nhất 1 ký tự, nếu không thì trả về
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
60

Phương thức kiểm tra xem tất cả các ký tự trong chuỗi có phải là chữ số hay không, vì vậy nếu chuỗi có dấu trừ hoặc số thập phân, nó sẽ trả về

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
60

Nếu chuỗi của bạn có thể là số nguyên âm, thay vào đó hãy sử dụng ví dụ

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
6 vì nó cũng bao gồm cả số nguyên âm

Nếu bạn chỉ muốn thử chuyển đổi chuỗi thành số nguyên và tắt/bỏ qua

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
5 nếu chuyển đổi không thành công, hãy sử dụng câu lệnh
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
26

Câu lệnh pass không làm gì cả và được sử dụng khi câu lệnh được yêu cầu về mặt cú pháp nhưng chương trình không yêu cầu hành động nào

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?
  • Chuyển đổi một chuỗi thành một int trong Python
  • Chuyển đổi một Int thành một chuỗi trong Python
  • Khi nào bạn cần chuyển đổi chuỗi thành số nguyên trong Python?
  • Làm cách nào để bạn chuyển đổi một số Hex thành Int trong Python?
  • Sự kết luận

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

________số 8

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

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
0

Đ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

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
1

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.
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
2Xác nhận rằng kiểu dữ liệu được trả về là một chuỗi.
>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
3

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ân

Ví 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

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
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

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
5

Thú vị…

Đ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

>>> integerFirst = 23
>>> floatFirst = 23.23
>>> complextFirst = 1 + 23j
6

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]
1

Chú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]
2

Liệ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]
3

Trì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]
4

Như 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ó

Sự 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 hàm tích hợp int[]
  • 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 thành 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

EOF bất ngờ của Python khi phân tích cú pháp. Cách khắc phục

Cách thực thi lệnh Shell trong Python [Từng bước]

Hàm Python. Làm cho mã của bạn có thể tái sử dụng

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

Tôi có thể chuyển đổi một chuỗi thành một số nguyên không?

Sử dụng số nguyên. parseInt[] để chuyển đổi chuỗi thành số nguyên . Nếu chuỗi không chứa số nguyên hợp lệ thì nó sẽ ném NumberFormatException.

Hàm nào chuyển đổi một chuỗi thành một số nguyên?

Hàm atoi[] chuyển đổi một chuỗi ký tự thành một giá trị số nguyên. Chuỗi đầu vào là một chuỗi các ký tự có thể được hiểu là một giá trị số của kiểu trả về được chỉ định.

Chủ Đề