Hàm print() trong Python có cú pháp tổng quát với khá nhiều đối số như sau:
print ( *objects
, sep=' '
, end='\n'
, file=sys.stdout
, flush=False
)
Trong đó:
*objects
: đối tượng (dữ liệu) cần in ra màn hình. Dấu*
có ý nghĩa là số nhiều và chúng ta cũng có thể chỉ định nhiều đối tượng khác nhau và in chúng cùng lúc ra màn hình.sep
: đối tượng chỉ định sẽ được phân tách thành các phần nhỏ bằng ký tự phân táchsep
trước khi được in, và mặc định giá trị này là một khoảng trắng' '
.end
: giá trị cuối cùng được in ra màn hình, và mặc định giá trị này là ký tự xuống dòng\n
. Đối số này sẽ quyết định việc in xuống dòng hay in không xuống dòng trong Python.file=sys.stdout
: chỉ định lưu kết quả đầu ra vào bộ nhớ đệm sys.stdout.flush=False
: chỉ định cưỡng chế lưu giữ kết quả vào bộ nhớ đệm, và giá trị mặc định làfalse
, có nghĩa là KHÔNG lưu giữ kết quả vào bộ nhớ.
Tuy nhiên trong thực tế khi sử dụng hàm print() trong Python, chúng ta lược bỏ hầu hết các đối số và sử dụng cú pháp đơn giản nhất sau đây:
print ( *objects
)
Ví dụ, chúng ta chỉ định objects
là 1 chuỗi ký tự và in ra màn hình dòng chữ I LOVE PYTHON
như sau:
print('I LOVE PYTHON')
|
Màn hình xuất dữ liệu: I LOVE PYTHON
Chúng ta cũng có thể chỉ định *objects
với nhiều chuỗi ký tự được cách nhau bởi dấu phẩy và in chúng cùng lúc ra màn hình như sau:
print('I LOVE PYTHON', 'and JavaScript')
|
Màn hình xuất dữ liệu:
I LOVE PYTHON and JavaScript
Lưu ý là các đối số sep
, end
, file
và flush
đều là các đối số keyword, do đó nếu bạn muốn sử dụng chúng trong hàm print() thì phải viết cả keyword của nó.
Ví dụ như chúng ta sử dụng đối số end
trong hàm print() để in không xuống dòng trong Python như sau:
print("Việt Nam ", end='') print("vô địch") #>> Việt Nam vô địch |
Nếu bạn bỏ quên không ghi keyword, mặc dù lỗi không xảy ra nhưng đối số đó sẽ bị Python coi như là một đối tượng cần in ra màn hình và bỏ qua chức năng của nó như sau:
print("Việt Nam ", '') print("vô địch") #>> Việt Nam #>> vô địch |
In xuống dòng và in không xuống dòng trong python | đối số end trong hàm print() python
Về mặc định thì hàm print() sẽ tự in xuống dòng tại vị trí cuối cùng. Ví dụ:
print("5 anh em") print("trên 1 chiếc xe tăng") #>> 5 anh em #>> trên 1 chiếc xe tăng
Tuy nhiên khi chỉ định đối số end
bằng một ký tự, thì ký tự này sẽ thay thế cho việc xuống dòng và nối các đối tượng in ra màn hình lại. Khi đó, chúng ta có thể thực hiện in không xuống dòng trong python.
Ví dụ nếu chúng ta chỉ định đối số end
là một ký tự trống ''
thì các đối tượng sẽ được in nối liên tục với nhau như sau:
print("5 anh em", end='') print("trên 1 chiếc xe tăng") #>> 5 anh emtrên 1 chiếc xe tăng |
Tương tự, chúng ta cũng có thể chỉ định các ký tự khác để nối các đối tượng khi in ra màn hình như sau:
print(“5 anh em”, end=‘_’)
print(“trên 1 chiếc xe tăng”)
#>> 5 anh em_trên 1 chiếc xe tăng
print(“5 anh em”,end=‘*_*’)
print(“trên 1 chiếc xe tăng”)
#>> 5 anh em*_*trên 1 chiếc xe tăng
In nhiều đối tượng cùng lúc ra màn hình trong python | đối số sep trong hàm print() python
Chúng ta có thể in nhiều đối tượng cùng lúc ra màn hình trong python bằng cách chỉ định các đối tượng cách nhau bởi dấu phẩy ,
. Và về mặc định thì các đối tượng này sẽ được nối với nhau bởi một dấu cách và in cùng trên một dòng như sau:
a = 100
b = ‘red’
print(a, b, ‘green’)
#>> 100 red green
Tuy nhiên chúng ta cũng có thể thay đổi ký tự nối bằng cách chỉ định ký tự nối đó trong đối số sep
như sau:
a = 100 b = 'red' print(a, b, 'green', sep = "***") #>> 100***red***green
print(a, b, 'green', sep='\n') #>> 100 #>> red #>> green print(a, b, 'green', sep='abc') #>> 00abcredabcgreen
Cuối cùng, với từng kiểu dữ liệu trong Python mà chúng ta sẽ có cách xuất dữ liệu khác nhau. Bạn có thể tìm hiểu thêm về chúng trong bài viết Cách in chuỗi, số, list, tuple và dictionary trong Python.
Trên đây khoahoc.toan247.com đã hướng dẫn bạn về hàm print() và cách xuất dữ liệu và in kết quả ra màn hình trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.