Cách in ra thông tin là một trong những điều đầu tiên bạn học khi là một lập trình viên mới bắt đầu.
Bài viết này đề cập đến những điều bạn cần biết về in bằng Python và chúng ta sẽ xem xét nhiều ví dụ về mã trong quá trình thực hiện.
Bắt đầu nào!
Chữ in dùng để làm gì?
In ấn rất có thể là điều đầu tiên bạn sẽ học khi bắt đầu hành trình học Python của mình.
Có một phần truyền thống là viết chương trình “Xin chào thế giới” làm dòng mã đầu tiên của bạn. Và bạn làm điều đó bằng cách sử dụng print()
chức năng xuất đoạn văn bản đó ra bàn điều khiển.
In chủ yếu được sử dụng để hiển thị thông tin cho bảng điều khiển, cho dù nó đang hiển thị một thông báo nhất định hay kết quả tính toán. Nhưng nó cũng được sử dụng cho mục đích gỡ lỗi.
In bằng Python 2 so với in bằng Python 3
Để in thứ gì đó ra bàn điều khiển trong Python 2, tất cả những gì bạn phải làm là sử dụng print
từ khóa:
print "Hello world"
#output
#Hello world
Điều này được gọi là một tuyên bố in.
Trong Python 3, câu lệnh in đã được thay thế bằng print()
chức năng.
print("Hello world")
#output
#Hello world
Nếu bạn không thêm bộ mở và đóng dấu ngoặc đơn theo sau print
trong Python 3, bạn sẽ gặp lỗi khi chạy mã:
print "Hello world"
#output
#File "/Users/dionysialemonaki/python_articles/demo.py", line 1
# print "Hello world"
# ^^^^^^^^^^^^^^^^^^^
#SyntaxError: Missing parentheses in call to 'print'. Did you mean #print(...)?
Vì vậy, trong Python 2, từ khóa print là một câu lệnh, trong khi ở Python 3, print là một hàm.
print()
Cú pháp trong Python
Cú pháp đầy đủ của print()
chức năng, cùng với các giá trị mặc định của các tham số mà nó nhận, được hiển thị bên dưới.
đây là cái gì print()
trông giống như bên dưới mui xe:
print(*object,sep=' ',end='\n',file=sys.stdout,flush= False)
Hãy chia nhỏ nó ra:
*object
có thể là không, một hoặc nhiều giá trị dữ liệu được in và nó có thể thuộc bất kỳ loại dữ liệu nào. Các đối tượng được chuyển đổi thành một chuỗi trước khi in.sep
là một tham số tùy chọn chỉ định cách nhiều hơn một đối tượng được phân tách. mặc định là' '
– một không gian.end
là một tham số tùy chọn chỉ định dòng sẽ kết thúc bằng gì. Theo mặc định, cuộc gọi in kết thúc bằng một dòng mới, với\n
là ký tự dòng mới.file
là một tham số tùy chọn là một đối tượng có phương thức ghi – nó có thể ghi và nối thêm (thêm) đầu ra vào một tệp. mặc định làsys.stdout
(hoặc đầu ra tiêu chuẩn của hệ thống) và đầu ra được hiển thị trên màn hình.flush
là một tham số boolean chỉ định liệu luồng sẽ bị buộc xóa hay lưu vào bộ đệm. Đã xóa có nghĩa là liệu cuộc gọi in có ảnh hưởng ngay lập tức hay không. Giá trị mặc định là Sai (hoặc được đệm).
Các print()
hàm không có giá trị trả về.
Cách in các đối tượng trong Python
Ngay cả khi bạn không chuyển bất kỳ đối số nào sang print()
– nghĩa là bạn không chuyển bất kỳ/các đối tượng nào để in – bạn vẫn cần bao gồm một tập hợp các dấu ngoặc đơn trống.
Điều này sẽ chỉ xuất một dòng trống ra bàn điều khiển trong trường hợp như vậy.
Điều này được minh họa rõ nhất khi sử dụng Python REPL (Đọc Eval Print Loop).
Để bắt đầu một phiên làm việc mới, sau khi cài đặt Python trên máy của bạn, hãy gõ python3
. Khi bạn hoàn tất, gõ exit()
để kết thúc phiên.
>>> print()
>>>
Nó tương tự như đánh họ Enter
phím trên bàn phím của bạn khi viết bằng trình xử lý văn bản. Giống như phím Enter tạo một dòng mới và di chuyển con trỏ đến một dòng mới, giống như cách gọi print()
không có đối số hiển thị một dòng trống.
Cách in chuỗi trong Python
Bạn in các chuỗi bằng cách chuyển chuỗi ký tự làm đối số cho print()
đặt trong dấu nháy đơn hoặc nháy kép.
Đầu ra sẽ là chuỗi ký tự, không có dấu ngoặc kép.
print("I am learning Python")
#output
#I am learning Python
Nếu bạn có một chuỗi hoặc cụm từ đã đặt muốn in, bạn có thể lưu nó trong một biến và chuyển tên biến làm đối số cho print()
.
greeting = "Hey there!"
print(greeting)
#output
#Hey there!
Cách tốt nhất là đặt tên có ý nghĩa cho các biến, theo nội dung được lưu trữ bên trong chúng. Điều này sẽ làm cho mã dễ đọc hơn đối với chính bạn và bất kỳ ai khác mà bạn đang làm việc cùng.
Như được hiển thị trong print()
cú pháp sớm hơn, có thể có nhiều hơn một đối tượng được truyền dưới dạng đối số (*object
).
Bạn có thể làm điều này bằng cách tách từng đối số bằng dấu phẩy.
print("Hello","there!")
#output
#Hello there!
Có hai đối số: “Xin chào” và “ở đó!”.
Trong các ví dụ bên dưới, các đối số là một chuỗi ký tự và một biến.
full_name = "John Doe"
print("Hey",full_name)
#output
#Hey John Doe
Bạn cũng có thể làm điều này bằng cách sử dụng nối với toán tử cộng:
full_name = "John Doe"
print("Hey " + full_name)
#output
#Hey John Doe
Với phép nối, bạn phải tính đến các khoảng trắng nếu không bạn sẽ kết thúc với những điều sau:
full_name = "John Doe"
print("Hey" + full_name)
#output
#HeyJohn Doe
Hãy nhớ rằng bạn không thể thêm một chuỗi ký tự bằng một số.
Điều này sẽ dẫn đến một lỗi:
print("Hey" + 7)
#output
#Traceback (most recent call last):
# File "/Users/dionysialemonaki/python_articles/demo.py", line 1, in #<module>
# print("Hey" + 7)
#TypeError: can only concatenate str (not "int") to str
Như lỗi gợi ý, bạn chỉ có thể nối (thêm) một chuỗi vào một chuỗi. Điều này có nghĩa là nếu bạn muốn bao gồm một số, bạn phải chuyển đổi nó thành chuỗi tương đương bằng cách nhập.
#use the str() method to convert an integer to a string
print("Hey" + str(7))
#output
#Hey 7
Một cách hiện đại để in các đối tượng là sử dụng f-strings
.
full_name = "John Doe"
print(f"Hey there {full_name}")
#output
#Hey there John Doe
Chuỗi không phải là đối tượng duy nhất có thể được truyền dưới dạng đối số.
Trong thực tế, print()
chấp nhận tất cả các loại kiểu dữ liệu mà bạn sẽ thấy trong phần tiếp theo.
Ví dụ về cách in phần còn lại của các kiểu dữ liệu tích hợp sẵn của Python
#how to print ints
print(7) #output is 7
#how to print floats
print(7.0) #output is 7.0
#how to print complex
print(1j) #output is 1j
#how to print a list
print([10,20,30]) #output is [10,20,30]
#how to print a tuple
print((10,20,30)) #output is (10,20,30)
#how to print a dictionary
print({"language": "Python", "field": "data science"})
#output is {"language": "Python", "field": "data science"
#how to print a set
print({"autumn","winter","spring","summer"})
#output is {"autumn","winter","spring","summer"}
#how to print a bool
print(True) #output is True
print(False) #output is False
Cách thay đổi cách các đối tượng được phân tách trong print()
Chức năng
Như bạn đã thấy trong cú pháp của print()
chức năng, sep
xác định cách một đối tượng được tách ra khỏi đối tượng tiếp theo.
Theo mặc định, các đối tượng được phân tách bằng một khoảng trắng.
print("Hello","World")
#output
#Hello World
Để vô hiệu hóa điều đó, bạn thay đổi rõ ràng giá trị của sep
vào nhân vật bạn muốn.
Ví dụ: các đối tượng có thể được phân tách bằng dấu gạch ngang:
print("Hello","World", sep="---")
#output
#Hello---World
Hoặc thậm chí bạn có thể xóa khoảng trắng bằng cách thêm một chuỗi trống:
print("Hello","World", sep="")
#output
#HelloWorld
Cách xóa dòng mới mặc định trong print()
Như bạn đã thấy rõ hơn trong phần phân tích cú pháp của print()
chức năng, tham số mặc định cho đối số từ khóa end
là '\n'
.
Theo mặc định, sau mỗi lệnh in, một dòng mới được tạo.
Nếu bạn gọi print hai lần riêng biệt, lần lượt từng lần, bạn sẽ thấy lệnh gọi thứ hai được hiển thị trên một dòng mới ngay sau lệnh gọi đầu tiên.
print("Hello")
print("World")
#output
#Hello
#World
Để vô hiệu hóa điều đó, bạn có thể thay đổi rõ ràng giá trị của end
thành một chuỗi rỗng, ""
.
print("Hello ", end="")
print("World")
#output
#Hello World
Bây giờ cả hai đang trên cùng một dòng.
Bạn thậm chí có thể thay đổi nó thành một điểm dừng hoàn toàn:
print("Hello", end=".")
print("World")
#output
#Hello.World
Bất kỳ thứ gì không phải là giá trị mặc định sẽ thay thế dòng mới được tạo.
Làm thế nào để chỉ đạo print()
Xuất ra tệp trong Python
Hầu hết bạn sẽ muốn in đầu ra thành đầu ra tiêu chuẩn hoặc đầu ra tiêu chuẩn dòng lệnh.
Tuy nhiên, có thể đôi khi bạn muốn hướng đầu ra đó tới một tệp hiện có.
Giả sử bạn có một tệp văn bản và muốn thêm một số văn bản bằng cách sử dụng print()
chức năng.
Để mở và ghi vào một tệp trong Python, bạn gọi hàm open()
chức năng. Bên trong nó, bạn bao gồm tên của tập tin, output.txt
trong trường hợp này, và -w
mode, nghĩa là chỉ để viết.
Với chế độ này, mỗi khi bạn chạy mã, nội dung của tệp sẽ bị xóa và thay thế bằng bất kỳ văn bản mới nào bạn thêm vào.
Nếu bạn không muốn mất bất kỳ nội dung nào, bạn có thể sử dụng -a
thay vào đó, để nối thêm văn bản vào cuối tệp.
Bên trong print()
chức năng bạn thêm bất kỳ văn bản nào bạn muốn thêm vào tệp và đặt file
tham số bằng với tên trình giữ chỗ bạn đã tạo cho tệp mà bạn muốn thêm văn bản vào, trong trường hợp này f
.
with open('output.txt', 'w') as f:
print('Hello World!', file=f)
Phần kết luận
Cảm ơn đã đọc và làm cho nó đến cùng! Tôi hy vọng bạn tìm thấy hướng dẫn này hữu ích. Bây giờ bạn đã biết những kiến thức cơ bản về cách sử dụng print()
chức năng trong Python.
Nếu bạn muốn tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem chứng chỉ Python của freeCodeCamp để bắt đầu.
Nó bao gồm tất cả các khái niệm lập trình cơ bản và dần dần tiến tới các chủ đề nâng cao hơn. Cuối cùng, bạn cũng sẽ xây dựng năm dự án để củng cố việc học của mình.
Chúc mừng mã hóa!