HomeLập trìnhPythonIn Python không...

In Python không có dòng mới [SOLVED]


Nếu bạn đã quen thuộc với Python, bạn có thể nhận thấy rằng hàm tích hợp sẵn print() không cần rõ ràng \n ký tự ở cuối mỗi dòng.

Điều này có nghĩa là đầu ra từ đoạn mã sau

print('freeCodeCamp Curriculum')
print('freeCodeCamp News')
print('freeCodeCamp YouTube Channel')

sẽ là:

freeCodeCamp Curriculum
freeCodeCamp News
freeCodeCamp YouTube Channel

Điều này xảy ra bởi vì print() chức năng thêm các \n ký tự vào cuối mỗi dòng in. Mặc dù hầu hết thời gian đây là một sự tiện lợi, đôi khi bạn có thể muốn in ra các dòng mà không cần \n nhân vật.

Trong bài viết này, bạn sẽ học cách thay đổi phần cuối của mỗi câu lệnh in. Và bạn cũng sẽ tìm hiểu một số cách khác để sửa đổi cách hoạt động của hàm tích hợp theo mặc định.

Cách in mà không cần dòng mới trong Python

Theo tài liệu chính thức của print() chức năng, chữ ký chức năng như sau:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

Như bạn có thể thấy, hàm có tổng cộng năm đối số. Cái đầu tiên là (các) đối tượng mà bạn muốn in trên thiết bị đầu cuối. Sau đó, có dấu phân cách (mà bạn sẽ tìm hiểu trong phần sau) và end tham số.

Giá trị mặc định của end tham số là \ncó nghĩa là một ký tự xuống dòng sẽ được thêm vào mỗi dòng được in trên thiết bị đầu cuối.

Đọc thêm  Cách sử dụng Elaticsearch, Logstash và Kibana để trực quan hóa nhật ký trong Python trong thời gian thực

Để thay đổi hành vi này, bạn chỉ cần ghi đè tham số này như sau:

print('freeCodeCamp Curriculum', end=', ')
print('freeCodeCamp News', end=', ')
print('freeCodeCamp YouTube Channel')

Kể từ đó, tôi đã thay đổi giá trị của end đến dấu phẩy, đầu ra sẽ là freeCodeCamp Curriculum, freeCodeCamp News, freeCodeCamp YouTube Channel thay vì ba dòng riêng biệt.

Bạn có thể sử dụng bất kỳ ký tự nào làm giá trị của end. Nếu bạn không muốn gì ở cuối dòng, chỉ cần sử dụng một chuỗi rỗng.

Cách in bằng dấu phân cách trong Python

Nhớ cái gì đó sep đối số trong chữ ký chức năng? Trong phần này, bạn sẽ tìm hiểu về cách sử dụng nó.

Bạn có thể đã biết hoặc chưa biết rằng print() Hàm có thể lấy nhiều đối tượng cùng lúc để in ra như sau:

print('freeCodeCamp Curriculum', 'freeCodeCamp News', 'freeCodeCamp YouTube Channel')

Đầu ra từ mã này sẽ là:

freeCodeCamp Curriculum, freeCodeCamp News, freeCodeCamp YouTube Channel

Như bạn có thể thấy, hàm đã in ba chuỗi trong một dòng được phân tách bằng dấu phẩy. Nếu bạn muốn sử dụng một thứ khác như dấu gạch ngang làm dấu phân cách, bạn có thể thực hiện như sau:

print('freeCodeCamp Curriculum', 'freeCodeCamp News', 'freeCodeCamp YouTube Channel', sep=' - ')

Đầu ra từ mã này sẽ là:

freeCodeCamp Curriculum - freeCodeCamp News - freeCodeCamp YouTube Channel

Tôi hy vọng bạn đã có ý tưởng. giống như end đối số, bạn có thể sử dụng nhiều hơn hoặc ít hơn bất kỳ chuỗi hợp lệ nào làm giá trị của sep tranh luận.

Đọc thêm  Cách gọi một hàm trong Python – Ví dụ về cú pháp Def

Cách in ra tệp bằng Python

Thay vì in mọi thứ vào thiết bị đầu cuối, bạn cũng có thể sử dụng print() chức năng in nội dung trực tiếp vào một tệp.

Các print() hàm nhận một đối số khác file mặc định là sys.stdout hoặc đầu ra tiêu chuẩn. Đó là bộ mô tả tệp mặc định nơi một quy trình có thể ghi đầu ra.

Thay vào đó, bạn có thể ghi đè lên tệp này để ghi vào một tệp như sau:

with open('output.txt', 'w') as f:
    print('freeCodeCamp', file=f)

Đầu tiên, bạn mở một tệp có tên output.txt như f và chuyển nó thành giá trị của file tranh luận. Nếu bạn chạy mã, một tệp mới sẽ được tạo và bên trong tệp đó sẽ là đầu ra của bạn.

Phần kết luận

Các print() function là một trong những hàm được sử dụng phổ biến nhất trong Python. Vì vậy, hiểu rõ về các cách sử dụng khác nhau của chức năng tích hợp sẵn này có thể tăng năng suất của bạn.

Ngoài ra còn có một lập luận khác, flush, trong hàm. Đó là một boolean và đặt nó thành True sẽ xóa đầu ra trên mỗi lần thực hiện.

Tôi cũng có một blog cá nhân nơi tôi viết về những thứ công nghệ ngẫu nhiên, vì vậy nếu bạn quan tâm đến thứ gì đó tương tự, hãy xem https://farhan.dev. Nếu bạn có bất kỳ câu hỏi nào hoặc bối rối về bất kỳ điều gì – hoặc chỉ muốn liên hệ – tôi luôn sẵn sàng trên Twitter và LinkedIn.

Đọc thêm  Thị giác máy tính nâng cao với Python





Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status