Python chuyển đổi thành chuỗi

Python, giống như nhiều ngôn ngữ lập trình khác, hỗ trợ 'typecasting' hoặc chuyển đổi một đối tượng từ kiểu dữ liệu này sang kiểu dữ liệu khác. Bây giờ, chuyển đổi này có thể là Tiềm ẩn và Rõ ràng. Mặc dù Trình thông dịch Python tự động xử lý các Chuyển đổi ngầm định, nhưng các Chuyển đổi rõ ràng được thực hiện bởi người dùng với sự trợ giúp của các hàm dựng sẵn

Chuỗi là một phần tích hợp và quan trọng của bất kỳ ngôn ngữ lập trình nào. Do đó, có những lúc nhu cầu đánh máy các loại dữ liệu khác thành chuỗi phát sinh. Trước khi tiếp tục, hãy lướt qua chuỗi trong Python

Chuỗi trong Python là gì?

Một chuỗi được định nghĩa là một dãy ký tự, được đặt trong dấu ngoặc kép. Những ký tự này bao gồm mọi thứ. bảng chữ cái viết thường từ a-z, bảng chữ cái in hoa từ A-Z, số 0-9, tất cả các ký tự đặc biệt như #, $, & và khoảng trắng. Không giống như các ngôn ngữ lập trình khác, Python cho phép bạn sử dụng dấu ngoặc đơn (' ') hoặc dấu ngoặc kép (" ") để đặt chuỗi

Nhìn vào mã bên dưới để phân biệt giữa chuỗi và các loại dữ liệu khác (ở đây là các đối tượng)

#Strings in Python

a = 'Favtutor'
b = "1"
c = 4
print(a," ", type(a))
print(b, " ", type(b))
print(c, " ", type(c))

 

Phương thức type() hiển thị kiểu đối tượng được tạo

đầu ra

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>

 

Notice how the type() returns for "1" while for 4. This happened because 1 was enclosed within (" "), which made "1" to be a string even though it's a number.

tostring() trong Python là gì?

tostring() là một phương thức để chuyển đổi các loại dữ liệu khác thành chuỗi. Nó trả về biểu diễn chuỗi của bất kỳ đối tượng nào. Chuỗi là các tính năng phổ biến và mỗi ngôn ngữ có cách xử lý riêng với chúng. Phương pháp này được cung cấp bởi các ngôn ngữ lập trình như Java.  

Python không có phương thức có tên là tostring(), nhưng nó cung cấp các phương thức khác để thực hiện nhiệm vụ cho bạn. Chúng ta hãy xem xét các phương pháp này

6 Phương pháp để Chuyển đổi thành Chuỗi trong Python

Python cung cấp một số phương thức, tương đương với phương thức tostring(), để chuyển đổi các đối tượng khác thành chuỗi. Các phương pháp này đều có những ưu điểm và ứng dụng riêng. Hãy bắt đầu với danh sách dưới đây

01) Sử dụng phương thức str()

Hàm str() trong Python được coi là một phương thức thay thế cho phương thức tostring() do các ngôn ngữ lập trình khác cung cấp. Nó là một chức năng tích hợp để chuyển đổi các đối tượng thành chuỗi. Chẳng hạn, hãy xem xét một biến chứa một giá trị nguyên, chẳng hạn như 10

var1 = 10
print(type(var1))

 

Câu lệnh type() sẽ giúp chúng ta xác định biến đó là kiểu số nguyên

đầu ra

<class 'int'>

 

Bây giờ, để chuyển đổi giá trị số nguyên này thành một chuỗi, tất cả những gì bạn cần làm là chuyển biến này vào hàm str(), dưới dạng str(variableName).  

var1 = 10
print(var1, ' : ', type(var1))

# storing converted value into another variable
var = str(var1)
print(var + ' : ', type(var))
print(var1 + ' : ', type(var1))

 

Lưu ý việc sử dụng toán tử '+' với biến chuỗi. Toán tử '+' được sử dụng để nối hai chuỗi với nhau. Tôi cũng đã sử dụng toán tử '+' với biến kiểu số nguyên để mô tả lỗi. đầu ra

10  :  <class 'int'>
10 :  <class 'str'>
Traceback (most recent call last):
  File ".\temp.py", line 7, in <module>
    print(var1 + ' : ', type(var1))
TypeError: unsupported operand type(s) for +: 'int' and 'str'

 

Lưu ý rằng TypeError xảy ra do sử dụng 'int' thay vì 'str'

Áp dụng phương thức str() trên Danh sách

Phương thức str() cũng có thể được sử dụng trên Danh sách để chuyển đổi một đối tượng thành một chuỗi. Ví dụ -

# declaring a list
a = [1, 2, 3, 4]
#converting list to str()
b = str(a)

print(b, ' : ', type(str(b)))

 

đầu ra

[1, 2, 3, 4]  :  <class 'str'>

 

Ngoài ra, lưu ý rằng việc sử dụng trực tiếp str(a) hoặc str(var) sẽ không thay đổi loại đối tượng thành chuỗi. Hàm str() 'chuyển đổi' đối tượng thành Chuỗi và 'trả về' giá trị. Do đó, nó luôn cần một đối tượng tham chiếu để lưu trữ giá trị đó

02) Sử dụng phương pháp định dạng

Như đã thấy ở trên, mối quan tâm chính khi xử lý các chuỗi là khi in chúng. Python cung cấp một phương thức định dạng, nhận các biến và nhập chúng vào các chuỗi. Vì chúng trả về một chuỗi, nên chúng có thể được lưu trữ trong một biến hoặc được in trực tiếp bằng hàm print()

Phương thức định dạng thường được sử dụng để dễ dàng hiển thị nhiều giá trị/biến (đối tượng không phải là Chuỗi). Cú pháp cơ bản của phương thức định dạng là

"{}". định dạng (tên biến)

Hãy lấy một ví dụ để hiển thị việc sử dụng phương thức định dạng

________số 8_______

 

Tôi đã sử dụng phương thức định dạng trong khi gọi các biến (tất cả các đối tượng)

đầu ra

A list of Years is [2019, 2020, 2021, 2022].
The current year is: 2022

 

Lưu ý rằng việc sử dụng phương thức định dạng chỉ hỗ trợ khi hiển thị các chuỗi, nó không thực sự chuyển đổi một đối tượng thành một chuỗi cho đến khi nó được lưu trữ trong một biến khác. Lấy ví dụ dưới đây-

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
0

 

Dấu ngoặc '{}' biểu thị khoảng trống cho các giá trị biến được in. Hãy nhớ rằng tên biến ở định dạng() phải tuân theo chuỗi dấu ngoặc '{}'

đầu ra

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
1

 

Áp dụng phương pháp định dạng đã không thực hiện bất kỳ thay đổi nào trong biến ban đầu. Thay vào đó, phương pháp này tạo một bản sao của nó

Ngoài ra, bạn cũng có thể lập chỉ mục các biến để sử dụng lại chúng mà không cần lặp lại mã

Ví dụ

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
2

 

Lưu ý rằng tương tự như việc lập chỉ mục của danh sách và mảng, ở đây việc lập chỉ mục cũng bắt đầu bằng 0

đầu ra

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
3

 

Bạn có thể quan sát việc sử dụng lại các biến bằng cách sử dụng số chỉ mục của chúng giữa các dấu ngoặc '{}'

03) Sử dụng phương thức __str__()

Phương thức __str__() là một phương thức có sẵn trong Python để chuyển đổi kiểu dữ liệu của các đối tượng khác thành Chuỗi. Hàm str() và hàm print() gọi bên trong phương thức __str__() để thực hiện tác vụ. Phương thức này khi được gọi theo mặc định sẽ hiển thị một số thông tin về đối tượng. Hãy lấy một ví dụ

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
4

 

Tuy nhiên, phương thức __str__() mặc định không chuyển đổi đối tượng thành chuỗi và thay vào đó hiển thị thông tin đối tượng ở định dạng con người có thể đọc được

đầu ra

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
5

 

Hãy chuyển sang một ví dụ khác về việc sử dụng phương thức __str__(). Trong khi sử dụng phương thức này với lớp, chúng ta cần mô tả phương thức __str__() để nó phục vụ mục đích.  

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
6

 

Chúng ta có thể sử dụng bất kỳ phương pháp đánh máy nào khác (giả sử str(), format() , f-string() hoặc các phương thức khác) trong câu lệnh return. Điều này làm cho nó trở thành một phương thức lớp để trả về các chuỗi

đầu ra

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
7

 

04) Sử dụng f-string

chuỗi f là một dạng khác của phương thức định dạng. Chúng được các phiên bản Python mới áp dụng vì chúng dễ đọc và dễ đọc hơn phương thức định dạng. Trong phương thức định dạng, chúng tôi phải sử dụng '{}'  thay cho các giá trị biến và đặt các biến theo trình tự bắt buộc một cách nghiêm ngặt. Tuy nhiên, đối với các chuỗi dài hơn có nhiều biến, thật khó để nhớ lại trình tự của các biến. Do đó f-string ra đời. Sử dụng chuỗi f, bạn có thể trực tiếp sử dụng biến trong chuỗi bằng cách đặt chúng giữa '{}'. Do đó, không cần phải nhớ đi nhớ lại trình tự này nhiều lần

Chúng ta hãy xem cú pháp của chuỗi f.  

f' văn bản {variableName} văn bản {variableName}'

Ví dụ

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
8

 

Phương pháp này đã tăng khả năng đọc mã ở định dạng chuỗi trong Python

đầu ra

Favtutor   <class 'str'>
1   <class 'str'>
4   <class 'int'>
9

 

Ví dụ trên hiển thị cách sử dụng cơ bản của f-string. Để chuyển đổi các đối tượng thành chuỗi, chuỗi f có thể được sử dụng như-

var1 = 10
print(type(var1))
0

 

Kiểm tra xem các loại mạo từ và số khác nhau như thế nào do chuỗi f -

đầu ra

var1 = 10
print(type(var1))
1

 

05) Sử dụng phương thức repr()

Phương thức repr() trả về một chuỗi chứa biểu diễn được in của đối tượng. Nó lấy một đối tượng làm đầu vào và trả về một chuỗi. Nó không thực sự chuyển đổi đối tượng thành một chuỗi nhưng trả về một chuỗi ở định dạng có thể in được. Cú pháp của nó rất giống với str(), như

đại diện (tên biến)

Hãy cùng xem ví dụ dưới đây

var1 = 10
print(type(var1))
2

 

Bằng cách sử dụng phương thức repr(), kiểu dữ liệu của đối tượng thực tế, được truyền dưới dạng tham số, không thay đổi

đầu ra

var1 = 10
print(type(var1))
3

 

Có rất nhiều nhầm lẫn giữa phương thức repr() và phương thức str(). Tương tự, các phương thức __repr__() và __str__() cũng khá giống nhau nhưng có một chút khác biệt. Trong khi phương thức __str__() trả về định dạng dễ đọc hơn, phương thức __repr__() trả về định dạng chuỗi thân thiện với máy hơn

06) Sử dụng '%s'

Mặc dù không được công nhận rộng rãi, cách tiếp cận này là một phương tiện đơn giản để biểu diễn (chuyển đổi) mọi thứ thành chuỗi. Nếu bạn đã quen thuộc với "%s" trong các ngôn ngữ lập trình như C và C++, thì bạn sẽ biết rằng nó được dùng để biểu diễn các chuỗi (một dòng). Nó sử dụng toán tử modulo (%) và tuân theo một cú pháp cơ bản

"%s" %tên biến

Ví dụ

var1 = 10
print(type(var1))
4

 

Tôi đã hiển thị cả hai ví dụ, tôi. e. gọi "%s" trực tiếp trong print() và lưu trữ giá trị trong một biến. Ngoài số nguyên, "%s" cũng có thể được sử dụng với danh sách

đầu ra

var1 = 10
print(type(var1))
5

 

Ngoài các biến (đối tượng số nguyên), phương thức này cũng có thể được sử dụng với các đối tượng khác, như danh sách và từ điển

var1 = 10
print(type(var1))
6

 

Đây cũng là một phương pháp dễ dàng để biểu diễn các đối tượng thành các chuỗi trong khi xử lý việc in các đối tượng.

đầu ra

var1 = 10
print(type(var1))
7

 

Ngoài ra, đây là một số phương pháp để chuyển đổi int thành chuỗi trong python

Phần kết luận

Chuỗi là một phần quan trọng của phần mềm. Có nhiều bài toán yêu cầu chuyển kiểu dữ liệu (đối tượng) thành chuỗi. Python cung cấp nhiều phương thức để chuyển đối tượng thành chuỗi. Một số trong số họ được liệt kê ở trên. Các phương thức này trả về các biểu diễn chuỗi của các đối tượng này và cung cấp phương tiện để in nhiều biến một cách dễ dàng. Một số phương thức này cũng có thể được khai báo theo người dùng. Hãy thử các phương pháp này và tìm ra phương pháp tốt nhất cho bạn

Làm cách nào để chuyển đổi đối tượng thành chuỗi trong Python?

Python hoàn toàn là về các đối tượng, do đó, các đối tượng có thể được chuyển đổi trực tiếp thành chuỗi bằng cách sử dụng các phương thức như str() và repr() . Phương thức str() được sử dụng để chuyển đổi tất cả các đối tượng tích hợp thành chuỗi. Tương tự, phương thức repr() như một phần của phương thức chuyển đổi đối tượng cũng được sử dụng để chuyển đổi một đối tượng trở lại chuỗi.

convert() trong Python là gì?

Chuyển đổi loại là việc chuyển đổi một đối tượng từ loại dữ liệu này sang loại dữ liệu khác . Chuyển đổi kiểu ngầm định được thực hiện tự động bởi trình thông dịch Python. Python tránh mất dữ liệu trong Chuyển đổi kiểu ẩn.

Làm cách nào để thay đổi int thành chuỗi Python?

Để chuyển đổi một số nguyên thành chuỗi trong Python, hãy sử dụng hàm str() . Hàm này lấy bất kỳ loại dữ liệu nào và chuyển đổi nó thành một chuỗi, bao gồm cả số nguyên. Sử dụng cú pháp print(str(INT)) để trả về int dưới dạng str hoặc chuỗi.

Điều gì không thể được chuyển đổi thành chuỗi trong Python?

Tất cả các loại có thể được chuyển đổi thành Chuỗi trong python bằng cách sử dụng str.