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à \n
có 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.
Để 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á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.