Hướng dẫn python multiple lines in one line - python nhiều dòng trong một dòng

Để chia một dòng thành nhiều dòng trong Python, hãy sử dụng dấu ngoặc đơn mở trong dòng bạn muốn phá vỡ. Bây giờ, Python mong đợi dấu ngoặc đơn đóng trong một trong các dòng tiếp theo và biểu thức được đánh giá trên các ranh giới dòng. Thay vào đó, bạn cũng có thể sử dụng dấu gạch chéo ngược \ ngay trước đường tắt để thoát khỏi ký tự mới.

Làm thế nào để chia một dòng thành nhiều dòng trong Python?

Sau khi xuất bản một bài viết về cách ngưng tụ nhiều dòng thành một dòng mã Python, nhiều Finxters đã hỏi: Làm thế nào để phá vỡ một dòng dài thành nhiều dòng trong Python? Bài viết này cho bạn thấy cách tốt nhất để phá vỡ một lớp lót dài dòng thành nhiều dòng để cải thiện khả năng đọc và không làm nổi bật mã của bạn.

Vấn đề: Cho một dòng dài của mã Python. Làm thế nào để chia nó thành nhiều dòng?: Given a long line of Python code. How to break it into multiple lines?

Có nhiều cách phá vỡ điều này thành nhiều dòng. Hãy để nhận được một cái nhìn tổng quan trước:

Bài tập: Chạy mã. Những gì đầu ra? Sửa đổi Phương pháp 3 và viết nó như một lần lặp lại!: Run the code. What’s the output? Modify Method 3 and write it as a one-liner again!

Bây giờ chúng tôi đi sâu vào từng phương pháp đó.

  • Phương pháp 1: Tiếp tục dòng ẩn - Sử dụng dấu ngoặc đơn để tránh các dấu gạch chéo ngược dòng
  • Phương pháp 2: Tiếp tục dòng rõ ràng - Sử dụng Breakslash Dòng Breaks \
  • Phương pháp 3: Break a String bằng cách sử dụng chuỗi đa dòng với dấu ngoặc kép ba
  • Đi đâu từ đây?

Phương pháp 1: Tiếp tục dòng ẩn - Sử dụng dấu ngoặc đơn để tránh các dấu gạch chéo ngược dòng

Hướng dẫn python multiple lines in one line - python nhiều dòng trong một dòng

Phương pháp 2: Tiếp tục dòng rõ ràng - Sử dụng Breakslash Dòng Breaks \

Phương pháp 3: Break a String bằng cách sử dụng chuỗi đa dòng với dấu ngoặc kép ba

Đi đâu từ đây?implied line continuation inside parentheses, brackets and braces. If necessary, you can add an extra pair of parentheses around an expression, but sometimes using a backslash looks better. Make sure to indent the continued line appropriately.

Hướng dẫn kiểu PEP 8 - lập luận rằng cách tốt nhất để chia các dòng dài thành nhiều dòng mã là sử dụng tiếp tục dòng ẩn bằng cách sử dụng dấu ngoặc đơn. Một dấu hiệu dấu ngoặc đơn mở đầu cho Python mà biểu thức chưa kết thúc. Vì vậy, trình thông dịch Python tiếp tục tìm kiếm trong dòng sau để đóng biểu thức hiện đang mở. Bằng cách này, bạn có thể viết lại bất kỳ Python One Liner nào thành Multi-Liner chỉ bằng cách sử dụng một hoặc nhiều cặp dấu ngoặc đơn.

# Long Line
a = list(zip(['Alice', 'Bob', 'Liz', 'Ann'], [18, 24, 19, 16]))

# Implicit Line Continuation
b = list(zip(['Alice', 'Bob', 'Liz', 'Ann'],
             [18, 24, 19, 16]))

print(a)
# [('Alice', 18), ('Bob', 24), ('Liz', 19), ('Ann', 16)]

print(b)
# [('Alice', 18), ('Bob', 24), ('Liz', 19), ('Ann', 16)]

Ở đây, câu nói ban đầu từ Hướng dẫn kiểu PEP 8 (nhấn mạnh bởi tôi):

Cách ưa thích để gói các đường dài là bằng cách sử dụng sự tiếp tục dòng ngụ ý của Python, bên trong ngoặc đơn, ngoặc và thanh giằng. Nếu cần thiết, bạn có thể thêm một cặp dấu ngoặc đơn xung quanh một biểu thức, nhưng đôi khi sử dụng dấu gạch chéo ngược trông tốt hơn. Hãy chắc chắn để thụt dòng dòng tiếp tục một cách thích hợp.: you can always break lines if an opened bracket, parenthesis, or bracelet has not been closed!

Phương pháp 2: Tiếp tục dòng rõ ràng - Sử dụng Breakslash Dòng Breaks \

Phương pháp 3: Break a String bằng cách sử dụng chuỗi đa dòng với dấu ngoặc kép ba

Đi đâu từ đây?

Hướng dẫn kiểu PEP 8 - lập luận rằng cách tốt nhất để chia các dòng dài thành nhiều dòng mã là sử dụng tiếp tục dòng ẩn bằng cách sử dụng dấu ngoặc đơn. Một dấu hiệu dấu ngoặc đơn mở đầu cho Python mà biểu thức chưa kết thúc. Vì vậy, trình thông dịch Python tiếp tục tìm kiếm trong dòng sau để đóng biểu thức hiện đang mở. Bằng cách này, bạn có thể viết lại bất kỳ Python One Liner nào thành Multi-Liner chỉ bằng cách sử dụng một hoặc nhiều cặp dấu ngoặc đơn.

a = 1 + 2 + 3 + 4 - 5 * 2

b = 1 \
    + 2 + \
    3 + 4\
    - 5 *\
    2

print(a)
# 0

print(b)
# 0

Ở đây, câu nói ban đầu từ Hướng dẫn kiểu PEP 8 (nhấn mạnh bởi tôi):

Cách ưa thích để gói các đường dài là bằng cách sử dụng sự tiếp tục dòng ngụ ý của Python, bên trong ngoặc đơn, ngoặc và thanh giằng. Nếu cần thiết, bạn có thể thêm một cặp dấu ngoặc đơn xung quanh một biểu thức, nhưng đôi khi sử dụng dấu gạch chéo ngược trông tốt hơn. Hãy chắc chắn để thụt dòng dòng tiếp tục một cách thích hợp.

Bạn có cần một ví dụ cho tiếp tục dòng ẩn? Đây là:

Đường dài a = list(zip(['Alice', 'Bob', 'Liz', 'Ann'], [18, 24, 19, 16])) zips cùng nhau hai danh sách để có được kết quả [('Alice', 18), ('Bob', 24), ('Liz', 19), ('Ann', 16)]. Bạn có thể viết lại điều này thành nhiều dòng bằng cách sử dụng dấu ngoặc đơn hiện có. Lưu ý rằng đó là phong cách tốt để sắp xếp phân cấp các dòng trong Python. Trong ví dụ của chúng tôi, hai danh sách được căn chỉnh khi tạo câu lệnh đa dòng để gán biến b.break after binary operators. But this can hurt readability in two ways:

  • Hãy nhớ rằng: Bạn luôn có thể phá vỡ các đường nếu một khung mở, dấu ngoặc đơn hoặc vòng đeo tay chưa được đóng lại!
  • Tuy nhiên, điều gì sẽ xảy ra nếu bạn không muốn giới thiệu dấu ngoặc đơn mới vào biểu thức của bạn? Bạn vẫn có thể chia một lớp lót thành nhiều dòng?

Câu trả lời là: Có! Chỉ cần sử dụng dòng phá vỡ dòng \ mà bạn có thể gọi là tiếp tục dòng rõ ràng. Với dấu gạch chéo ngược, bạn có thể phá vỡ bất kỳ vị trí nào trong biểu thức của bạn. Về mặt kỹ thuật, nhân vật chao đảo đã thoát khỏi nhân vật Newline theo sau ngay sau đó. Bằng cách thoát khỏi nhân vật Newline, nó mất đi ý nghĩa của nó và Python chỉ đơn giản bỏ qua nó. Bằng cách này, bạn không phải giới thiệu bất kỳ dấu ngoặc đơn mới nào.eye has to do extra work to tell which items are added and which are subtracted:

# Wrong:
results = (variable1 +
          variable2 +
          (variable3 - variable4) -
          variable5 -
          variable6)

Dưới đây, một ví dụ tối thiểu cho thấy tính linh hoạt mà bạn có thể phá vỡ các dòng mới theo cách này:opposite convention.

Nhìn thấy mã lộn xộn trong ví dụ trước có thể khiến bạn hỏi:“Although formulas within a paragraph always break after binary operations and relations, displayed formulas always break before binary operations” [3].

Có nên phá vỡ dòng trước hoặc sau khi vận hành nhị phân?

# Correct:
results = (variable1
           + variable2
           + (variable3 - variable4)
           - variable5
           - variable6)

Tôi sẽ đưa ra câu trả lời sau dựa trên hướng dẫn kiểu PEP 8 (điểm nổi bật của tôi):

Phương pháp 3: Break a String bằng cách sử dụng chuỗi đa dòng với dấu ngoặc kép ba

Ví dụ: Giả sử, bạn có chuỗi dài sau từ Romeo và Juliet:: Say, you have the following long string from Romeo and Juliet:

s = 'Mistress! what, mistress! Juliet! fast, I warrant her, she:\n Why, lamb! why, lady! fie, you slug-a-bed!\n Why, love, I say! madam! sweet-heart! why, bride!\n What, not a word? you take your pennyworths now;\n Sleep for a week; for the next night, I warrant'

Lưu ý ký tự dòng mới trong chuỗi: Nó thực sự là một chuỗi nhân! Bạn có thể viết lại điều này thành nhiều dòng để cải thiện khả năng đọc không?

Bạn có thể tái cấu trúc các chuỗi bằng cách sử dụng trích dẫn ba cho phép bạn xác định chuỗi đa dòng mà không có ký tự mới

a = 1 + 2 + 3 + 4 - 5 * 2

b = 1 \
    + 2 + \
    3 + 4\
    - 5 *\
    2

print(a)
# 0

print(b)
# 0
1 trong chuỗi. Điều này cải thiện đáng kể khả năng đọc của các chuỗi đa dòng! Đây là một ví dụ:

s1 = 'Mistress! what, mistress! Juliet! fast, I warrant her, she:\n Why, lamb! why, lady! fie, you slug-a-bed!\n Why, love, I say! madam! sweet-heart! why, bride!\n What, not a word? you take your pennyworths now;\n Sleep for a week; for the next night, I warrant'

# MULTI-LINE
s2 = '''Mistress! what, mistress! Juliet! fast, I warrant her, she:
 Why, lamb! why, lady! fie, you slug-a-bed!
 Why, love, I say! madam! sweet-heart! why, bride!
 What, not a word? you take your pennyworths now;
 Sleep for a week; for the next night, I warrant'''

print(s1 == s2)
# True

Đây là hai cách xác định cùng một chuỗi. Nếu bạn so sánh chúng, kết quả là

a = 1 + 2 + 3 + 4 - 5 * 2

b = 1 \
    + 2 + \
    3 + 4\
    - 5 *\
    2

print(a)
# 0

print(b)
# 0
2. Tuy nhiên, cách thứ hai dễ đọc hơn nhiều và nên được ưa thích!

Đi đâu từ đây?

Đủ lý thuyết. Hãy để có được một số thực hành!

Các lập trình viên được trả tiền sáu con số và hơn thế nữa vì họ có thể giải quyết các vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa.

Để trở nên thành công hơn trong việc mã hóa, giải quyết nhiều vấn đề thực sự hơn cho người thực. Đó là cách bạn đánh bóng các kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, những gì mà việc sử dụng lý thuyết học tập mà không ai cần?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế!

Bạn có muốn ngừng học hỏi với các dự án đồ chơi và tập trung vào các dự án mã thực tế kiếm tiền cho bạn và giải quyết các vấn đề thực sự cho mọi người?

Nếu câu trả lời của bạn là có !, Hãy xem xét việc trở thành một nhà phát triển tự do Python! Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện các kỹ năng trăn của bạn, ngay cả khi bạn là người mới bắt đầu hoàn toàn.YES!, consider becoming a Python freelance developer! It’s the best way of approaching the task of improving your Python skills—even if you are a complete beginner.

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi Làm thế nào để xây dựng kỹ năng thu nhập cao của bạn Python và tìm hiểu cách tôi phát triển kinh doanh mã hóa của mình trực tuyến và làm thế nào bạn có thể, từ sự thoải mái của bạn riêng nhà.

Tham gia hội thảo trên web miễn phí ngay bây giờ!

Hướng dẫn python multiple lines in one line - python nhiều dòng trong một dòng

Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính.

Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer (Nostarch 2020), đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới.

Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây.

Làm cách nào để đặt nhiều dòng trong một dòng trong Python?

Bán kết được sử dụng để phân tách nhiều câu lệnh trên một dòng duy nhất (;)..

Làm thế nào để bạn kết hợp các dòng mã trong Python?

Sử dụng dấu gạch chéo ngược (\) làm ký tự tiếp tục dòng nếu dấu gạch chéo ngược được đặt ở cuối một dòng, người ta coi rằng dòng được tiếp tục trên dòng tiếp theo.Chỉ có chuỗi chữ (chuỗi được bao quanh bởi 'hoặc ") được nối nếu được viết liên tiếp. If a backslash is placed at the end of a line, it is considered that the line is continued on the next line. Only string literals (string surrounded by ' or " ) are concatenated if written consecutively.

Làm thế nào để bạn viết một dòng của nhiều dòng?

Chỉ cần sử dụng dòng phá vỡ dòng \ mà bạn có thể gọi là tiếp tục dòng rõ ràng.Với dấu gạch chéo ngược, bạn có thể phá vỡ bất kỳ vị trí nào trong biểu thức của bạn.Về mặt kỹ thuật, nhân vật chao đảo đã thoát khỏi nhân vật Newline theo sau ngay sau đó.use the line break backslash \ which you may call explicit line continuation. With the backslash, you can break at any position in your expression. Technically, the backslash character “escapes” the newline character that follows immediately afterwards.