CodeGym /Các khóa học /Python SELF VI /Xử lý nâng cao với hàm print()

Xử lý nâng cao với hàm print()

Python SELF VI
Mức độ , Bài học
Có sẵn

10.1 format()

Thường thì chúng ta phải in ra nhiều dữ liệu lên console (màn hình). Không phải chúng ta là người đầu tiên gặp phải vấn đề này — vì vậy từ lâu trong Python đã có hàm format(), giúp bạn kết hợp chuỗi và in dữ liệu ra màn hình dễ dàng và rõ ràng hơn.

Hàm format() được dùng để chèn các giá trị vào chuỗi tại các vị trí nhất định. Cú pháp của hàm trông như sau:


"Mẫu chuỗi từ {} đến {}".format(giá trị1, giá trị2,…)

Thực tế 1. Hàm format() là hàm con của chuỗi, nên nó được gọi từ một chuỗi. Thay vì truyền chuỗi vào hàm, chúng ta viết chuỗi, sau đó đặt dấu chấm, rồi gọi hàm format() và truyền các tham số vào hàm đó.

Thực tế 2. Hàm format() điền vào chuỗi mẫu bằng các giá trị được truyền vào. Nó chuyển đổi các giá trị thành chuỗi (nếu đó là số, chẳng hạn) và chèn chúng vào các vị trí được đánh dấu bằng ký tự {}. Một vị trí để chèn giá trị gọi là placeholder.

Sử dụng cơ bản:


welcome_message = "Chào, {}, chào mừng đến với {}!"
print(welcome_message.format("Anna", "cửa hàng của chúng tôi"))               
        

Kết quả: "Chào, Anna, chào mừng đến với cửa hàng của chúng tôi!"

Định dạng số:


output = "Dữ liệu: {0:.2f} và {1:.2f}".format(3.1415926, 2.71828)
print(output)              
        

Kết quả: "Dữ liệu: 3.14 và 2.72" — minh họa giới hạn đầu ra đến hai chữ số thập phân.

Sử dụng từ khóa:


output = "{name} làm việc tại {company}"
print(output.format(name="Sergey", company="Google"))
        

Kết quả: "Sergey làm việc tại Google"

Việc sử dụng format() cải thiện độ đọc và khả năng duy trì của mã, cho phép dễ dàng thay đổi định dạng mà không cần phải chỉnh sửa toàn bộ chuỗi.

10.2 f-string

Bắt đầu từ phiên bản 3.6, Python giới thiệu loại chuỗi mới — f-string, nghĩa là "formatted string". Những chuỗi này cải thiện độ đọc của mã, đồng thời hoạt động nhanh hơn so với các cách khác để định dạng.

Để sử dụng f-string, thêm chữ cái "f" hoặc "F" trước chuỗi. Các biểu thức để chèn được đặt trong dấu ngoặc nhọn {}:

Ví dụ:


force = "Mặt Tối"
message = f"Hãy để {force} ở bên bạn!"
print(message)  # In ra: Hãy để Mặt Tối ở bên bạn! 
        

Quan trọng! Trong dấu ngoặc nhọn có thể chỉ định biến, những biến này phải có sẵn trong phạm vi hiện tại (sẽ nói thêm sau) và Python tự động chuyển chúng thành chuỗi và chèn vào đúng nơi.

Ví dụ:


age = 28
message = f"Tôi {age} tuổi"
print(message)  # In ra: Tôi 28 tuổi               
        

Hơn nữa, bên trong dấu ngoặc nhọn có thể sử dụng biểu thức với nhiều biến.

Ví dụ:


birth_year = 1985
current_year = 2024
message = f"Tôi {current_year - birth_year} tuổi"
print(message)  # In ra: Tôi 39 tuổi
        

Dưới lớp bên trong, tất cả điều này được chuyển đổi thành gọi hàm format(), nhưng cách tiếp cận mới này thật sự tiện lợi hơn.

Hãy sử dụng theo ý bạn.

10.3 Tham số sepend

Trong Python, hàm print() cung cấp hai tham số hữu ích — sepend, giúp quản lý đầu ra dữ liệu. Những tham số này làm cho print() linh hoạt hơn và có thể được sử dụng để định dạng đầu ra mà không cần phải sử dụng các hàm bổ sung hoặc các thao tác chuỗi phức tạp.

Tham số sep xác định ký tự hay chuỗi sẽ được sử dụng để phân tách các giá trị truyền vào print(). Mặc định sep được thiết lập là khoảng trắng. Điều này có nghĩa là nếu bạn truyền nhiều đối số vào print(), chúng sẽ được phân cách bằng khoảng trắng.

Và nếu bạn muốn dữ liệu được phân cách không phải bằng khoảng trắng, mà, ví dụ, bằng dấu phẩy, thì bạn cần thêm tham số sep ở cuối và gán cho nó chuỗi phân tách mới.

Ví dụ:


            print("Hello", "world")  # Kết quả: Hello world 
            print("Hello", "world", sep=", ")  # Kết quả: Hello, world
        

Hoặc bạn có thể, ví dụ, làm thế nào để mỗi giá trị được in ra trên một dòng mới. Khi đó tham số sep cần gán cho ký tự đặc biệt chuyển dòng — được biểu thị bằng cặp ký tự “\n”.

Ví dụ Giải thích

print(1, 2, 3, 4, 5, sep=",\n")  

Vòng lặp sẽ in ra màn hình các số
1,
2,
3,
4,
5
            

Tham số end xác định điều gì sẽ được in sau tất cả giá trị đã truyền vào. Giá trị mặc định của end là ký tự chuyển dòng (\n), điều này có nghĩa là chuyển dòng sau khi thực hiện print().

Bằng cách thay đổi end, bạn có thể quản lý cách dữ liệu được in ra, ví dụ, để tiếp tục in trên cùng một dòng:

Ví dụ:


            print("Hello", end=" ")
            print("world")  # Kết quả: Hello world               
        

Sử dụng sepend có thể cực kỳ hữu ích trong các kịch bản cần định dạng đầu ra đặc biệt, ví dụ, khi tạo bảng, báo cáo hoặc in dữ liệu trên một dòng mà không cần tự động chuyển sang dòng mới.

Không chỉ giúp đơn giản hóa mã và loại bỏ sự cần thiết phải thêm thủ công các ký tự phân tách hoặc quản lý các chuyển đổi dòng, việc sử dụng sepend còn nâng cao độ đọc và khả năng duy trì mã.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION