Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Một cách dễ dàng để đạt được điều này là thay thế một dòng mới bằng một dòng mới và 11 (11 vì 10 trong {:<10} nhưng bạn thêm một không gian bổ sung trong định dạng của mình) không gian:

B2 = B.replace('\n','\n           ')
print('{:<10} {}'.format(A, B2))

Hoặc có lẽ thanh lịch hơn:

B2 = B.replace('\n','\n'+11*' ')
print('{:<10} {}'.format(A, B2))

Chạy này trong python3:

$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> A = '[A]: '
>>> B = 'this is\na string\nwith a new line'
>>> B2 = B.replace('\n','\n           ')
>>> print('{:<10} {}'.format(A, B2))
[A]:       this is
           a string
           with a new line

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Chào mừng! Nhân vật dòng mới trong Python được sử dụng để đánh dấu phần cuối của một dòng và bắt đầu một dòng mới. Biết cách sử dụng nó là điều cần thiết nếu bạn muốn in đầu ra vào bảng điều khiển và làm việc với các tệp.The new line character in Python is used to mark the end of a line and the beginning of a new line. Knowing how to use it is essential if you want to print output to the console and work with files.

Trong bài viết này, bạn sẽ học:

  • Làm thế nào để xác định ký tự dòng mới trong Python.
  • Làm thế nào các ký tự dòng mới có thể được sử dụng trong các chuỗi và báo cáo in.
  • Cách bạn có thể viết các câu lệnh in không thêm ký tự dòng mới vào cuối chuỗi.

Hãy bắt đầu nào! ✨

🔹 Nhân vật dòng mới

Nhân vật dòng mới trong Python là:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Nó được làm bằng hai ký tự:

  • Một dấu gạch chéo ngược.
  • Thư n.

Nếu bạn thấy ký tự này trong một chuỗi, điều đó có nghĩa là dòng hiện tại kết thúc tại điểm đó và một dòng mới bắt đầu ngay sau khi nó:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Bạn cũng có thể sử dụng ký tự này trong F-String:f-strings:

>>> print(f"Hello\nWorld!")

Nhân vật dòng mới trong các câu lệnh in

Theo mặc định, các câu lệnh in thêm một ký tự dòng mới "phía sau hậu trường" ở cuối chuỗi.

Như thế này:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Điều này xảy ra bởi vì, theo tài liệu Python:

Giá trị mặc định của tham số end của hàm print tích hợp là

B2 = B.replace('\n','\n'+11*' ')
print('{:<10} {}'.format(A, B2))
0, do đó, một ký tự dòng mới được thêm vào chuỗi.

Mẹo: ỨNG DỤNG có nghĩa là "Thêm vào cuối". Append means "add to the end".

Đây là định nghĩa chức năng:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Lưu ý rằng giá trị của end

B2 = B.replace('\n','\n'+11*' ')
print('{:<10} {}'.format(A, B2))
0, vì vậy điều này sẽ được thêm vào cuối chuỗi.

Nếu bạn chỉ sử dụng một câu lệnh in, bạn sẽ không nhận thấy điều này vì chỉ có một dòng sẽ được in:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Nhưng nếu bạn sử dụng một số câu lệnh in hết trong tập lệnh Python:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Đầu ra sẽ được in bằng các dòng riêng biệt vì

B2 = B.replace('\n','\n'+11*' ')
print('{:<10} {}'.format(A, B2))
0 đã được thêm "phía sau hậu trường" vào cuối mỗi dòng:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Chúng ta có thể thay đổi hành vi mặc định này bằng cách tùy chỉnh giá trị của tham số end của hàm print.

Nếu chúng ta sử dụng giá trị mặc định trong ví dụ này:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Chúng tôi thấy đầu ra được in thành hai dòng:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Nhưng nếu chúng ta tùy chỉnh giá trị của end và đặt nó thành

B2 = B.replace('\n','\n'+11*' ')
print('{:<10} {}'.format(A, B2))
7

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Một không gian sẽ được thêm vào cuối chuỗi thay vì ký tự dòng mới

B2 = B.replace('\n','\n'+11*' ')
print('{:<10} {}'.format(A, B2))
0, do đó, đầu ra của hai câu lệnh in sẽ được hiển thị trong cùng một dòng:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Bạn có thể sử dụng điều này để in một chuỗi các giá trị trong một dòng, như trong ví dụ này:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Đầu ra là:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi. We add a conditional statement to make sure that the comma will not be added to the last number of the sequence.

Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Đầu ra là:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi.

Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

🔸 ký tự dòng mới trong các tệp

with open("names.txt", "r") as f:
    print(f.readlines())

Đầu ra là:

Hướng dẫn python pretty-print string with newlines - chuỗi in đẹp python với dòng mới

Mẹo: Chúng tôi thêm một câu lệnh có điều kiện để đảm bảo rằng dấu phẩy sẽ không được thêm vào số cuối cùng của chuỗi.

Tương tự, chúng ta có thể sử dụng điều này để in các giá trị của một điều không thể sử dụng được trong cùng một dòng:Notice that only the last line of the file doesn't end with a new line character.

🔸 ký tự dòng mới trong các tệp

  • Ký tự dòng mới
    B2 = B.replace('\n','\n'+11*' ')
    print('{:<10} {}'.format(A, B2))
    
    0 cũng được tìm thấy trong các tệp, nhưng nó là "ẩn". Khi bạn thấy một dòng mới trong một tệp văn bản, một ký tự dòng mới
    B2 = B.replace('\n','\n'+11*' ')
    print('{:<10} {}'.format(A, B2))
    
    0 đã được chèn vào.
  • Bạn có thể kiểm tra điều này bằng cách đọc tệp với
    $ python3
    Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> A = '[A]: '
    >>> B = 'this is\na string\nwith a new line'
    >>> B2 = B.replace('\n','\n           ')
    >>> print('{:<10} {}'.format(A, B2))
    [A]:       this is
               a string
               with a new line
    
    1, như thế này:

Như bạn có thể thấy, ba dòng đầu tiên của tệp văn bản kết thúc với một nhân vật dòng mới

B2 = B.replace('\n','\n'+11*' ')
print('{:<10} {}'.format(A, B2))
0 hoạt động "phía sau hậu trường".Now you can work with the new line character in Python.

Mẹo: Lưu ý rằng chỉ dòng cuối cùng của tệp không kết thúc bằng ký tự dòng mới.



Tóm tắt

Làm thế nào để bạn tạo ra một bản in đẹp trong Python?

Conclusion..
Nhập pprint để sử dụng trong các chương trình của bạn ..
Sử dụng pprint () thay cho bản in thông thường ().
Hiểu tất cả các tham số bạn có thể sử dụng để tùy chỉnh đầu ra được in đẹp của mình ..
Nhận đầu ra được định dạng dưới dạng chuỗi trước khi in nó ..
Tạo một thể hiện tùy chỉnh của PrettyPrinter ..

Làm thế nào để bạn viết một chuỗi các dòng mới?

Trong Windows, một dòng mới được biểu thị bằng cách sử dụng \ r \ n, đôi khi được gọi là nguồn cấp dữ liệu trả lại và đường dây, hoặc CRLF.Việc thêm một dòng mới trong Java cũng đơn giản như bao gồm cả \ n,, \ \ r, hoặc \ r \ n, ở cuối chuỗi của chúng tôi.including “\n” , “\r”, or “\r\n” at the end of our string.

Làm thế nào để bạn in một chuỗi với một đường ngắt trong Python?

Sử dụng phá vỡ dòng trong Python Cách dễ nhất để sử dụng các lần phá vỡ dòng trong Python là sử dụng ký tự \ n.Nhân vật này chỉ ra rằng văn bản theo sau nó sẽ nằm trên một dòng mới.Chỉ cần bao gồm ký tự \ n trong chuỗi của bạn khi bạn muốn chia văn bản thành nhiều dòng.use the \n character. This character indicates that the text that follows after it will be on a new line. Simply include the \n character in your string when you want to break the text into multiple lines.

In là gì ('\ n') trong Python?

Hàm python print () có trong dữ liệu python như ints và chuỗi, và in các giá trị đó thành tiêu chuẩn.Để nói rằng tiêu chuẩn là "văn bản" ở đây có nghĩa là một loạt các dòng, trong đó mỗi dòng là một loạt các ký tự với char '\ n' newline đánh dấu phần cuối của mỗi dòng.prints those values to standard out. To say that standard out is "text" here means a series of lines, where each line is a series of chars with a '\n' newline char marking the end of each line.