Làm thế nào để bạn đọc hai dòng liên tiếp trong python?

Trên mỗi lần lặp, chúng tôi kiểm tra xem người dùng có nhấn Enter mà không nhập giá trị để thoát khỏi vòng lặp while True hay không

Đây có thể là bất kỳ điều kiện nào khác, e. g. bạn có thể có một từ dừng chẳng hạn như

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

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

print[a]
# 0

print[b]
# 0
0 hoặc
a = 1 + 2 + 3 + 4 - 5 * 2

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

print[a]
# 0

print[b]
# 0
1

Câu lệnh thoát ra khỏi vòng lặp

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

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

print[a]
# 0

print[b]
# 0
2 hoặc
a = 1 + 2 + 3 + 4 - 5 * 2

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

print[a]
# 0

print[b]
# 0
3 trong cùng

Nếu người dùng nhập một giá trị, chúng tôi sử dụng phương thức

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

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

print[a]
# 0

print[b]
# 0
4 để nối giá trị và ký tự xuống dòng vào danh sách

Phương thức thêm một mục vào cuối danh sách

Ngoài ra, bạn có thể sử dụng phương pháp Enter0

Enter1 được sử dụng cho đầu vào tương tác của người dùng

Lưu ý rằng người dùng phải nhấn Enter2 [trên Unix] hoặc Enter3 trên Windows để thoát

Nếu ban đầu bạn không muốn thêm một ký tự xuống dòng vào mỗi mục trong danh sách, hãy sử dụng phương thức Enter4 để nối các mục trong danh sách thành một chuỗi

Thay vì thêm một ký tự xuống dòng [Enter5] vào mỗi đầu vào, chúng tôi đã sử dụng phương thức Enter4 để nối danh sách với dấu tách ký tự xuống dòng

Phương thức lấy một iterable làm đối số và trả về một chuỗi là chuỗi nối của các chuỗi trong iterable

Để ngắt 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 ngắt. Bây giờ, Python mong đợi dấu ngoặc đơn đóng ở một trong các dòng tiếp theo và biểu thức được đánh giá qua các ranh giới dòng. Ngoài ra, bạn cũng có thể sử dụng dấu gạch chéo ngược

# Wrong:
results = [variable1 +
          variable2 +
          [variable3 - variable4] -
          variable5 -
          variable6]
2 ngay trước dấu ngắt dòng để thoát ký tự xuống dòng

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


Xem video này trên YouTube

Sau khi xuất bản một bài viết về cách cô đọng nhiều dòng thành một dòng mã Python, nhiều Finxter đã hỏi. Làm cách nào để ngắt một dòng dài thành nhiều dòng trong Python?

Vấn đề. Đưa ra một dòng mã Python dài. Làm thế nào để chia nó thành nhiều dòng?

Có nhiều cách để chia nó thành nhiều dòng. Trước tiên hãy có một cái nhìn tổng quan

Tập thể dục. Chạy mã. Đầu ra là gì?

Bây giờ chúng ta đ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 dấu gạch chéo ngược ngắt dòng

PEP 8 – Style Guide lập luận rằng cách tốt nhất để ngắt 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 ngoặc đơn mở báo hiệu cho Python biết rằng biểu thức vẫn chưa kết thúc. Vì vậy, trình thông dịch Python tiếp tục tì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ỳ lớp lót nào của Python thành nhiều lớp chỉ bằng cách sử dụng một hoặc nhiều cặp dấu ngoặc đơn

Đây là tuyên bố ban đầu từ hướng dẫn phong cách PEP 8 [nhấn mạnh bởi tôi]

Cách ưu tiên để gói các dòng dài là sử dụng phần tiếp theo dòng ngụ ý của Python bên trong dấu ngoặc đơn, dấu ngoặc và dấu ngoặc nhọn. Nếu cần, 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 sẽ tốt hơn. Đảm bảo thụt lề dòng tiếp theo một cách thích hợp

Bạn có cần một ví dụ để tiếp tục dòng ẩn không?

# 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]]

Dòng dài

# Wrong:
results = [variable1 +
          variable2 +
          [variable3 - variable4] -
          variable5 -
          variable6]
3 nối hai danh sách lại với nhau để thu được kết quả
# Wrong:
results = [variable1 +
          variable2 +
          [variable3 - variable4] -
          variable5 -
          variable6]
4. Bạn có thể viết lại phần 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 cách tốt nhất là sắp xếp các dòng theo thứ bậc 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 nhiều dòng để gán biến
# Wrong:
results = [variable1 +
          variable2 +
          [variable3 - variable4] -
          variable5 -
          variable6]
5

Nhớ lại. bạn luôn có thể ngắt dòng nếu dấu ngoặc mở, dấu ngoặc đơn hoặc vòng tay chưa được đóng

Phương pháp 2. Nối tiếp dòng rõ ràng — Sử dụng dấu gạch chéo ngược ngắt dòng \

Tuy nhiên, nếu bạn không muốn thêm dấu ngoặc đơn mới vào biểu thức của mình thì sao?

Câu trả lời là. Vâng. Chỉ cần sử dụng dấu gạch chéo ngược ngắt dòng

# Wrong:
results = [variable1 +
          variable2 +
          [variable3 - variable4] -
          variable5 -
          variable6]
2 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ể ngắt ở bất kỳ vị trí nào trong biểu thức của mình. Về mặt kỹ thuật, ký tự gạch chéo ngược “thoát” ký tự xuống dòng theo sau ngay sau đó. Bằng cách thoát khỏi ký tự xuống dòng, nó sẽ mất ý nghĩa và Python chỉ cầ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

Đây là một ví dụ tối thiểu cho thấy tính linh hoạt mà bạn có thể ngắt các dòng mới theo cách này

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

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

print[a]
# 0

print[b]
# 0

Nhìn thấy đoạn mã lộn xộn trong ví dụ trước có thể khiến bạn đặt câu hỏi

Tôi sẽ đưa ra câu trả lời sau dựa trên PEP 8 Style Guide [do tôi tô sáng]

Trong nhiều thập kỷ, phong cách được đề xuất là phá vỡ sau các toán tử nhị phân. Nhưng điều này có thể ảnh hưởng đến khả năng đọc theo hai cách

  • các toán tử có xu hướng nằm rải rác trên các cột khác nhau trên màn hình và
  • mỗi toán tử được di chuyển ra khỏi toán hạng của nó và lên dòng trước đó

Ở đây, mắt phải làm việc nhiều hơn để biết mục nào được thêm và mục nào bị trừ

# Wrong:
results = [variable1 +
          variable2 +
          [variable3 - variable4] -
          variable5 -
          variable6]

Để giải quyết vấn đề dễ đọc này, các nhà toán học và nhà xuất bản của họ tuân theo quy ước ngược lại

Donald Knuth giải thích quy tắc truyền thống trong sê-ri Máy tính và Sắp chữ của mình. “Mặc dù các công thức trong một đoạn văn luôn ngắt sau các phép toán và quan hệ nhị phân, nhưng các công thức được hiển thị luôn ngắt trước các phép toán nhị phân”

Vì vậy, mã sau đây được đề xuất

# Correct:
results = [variable1
           + variable2
           + [variable3 - variable4]
           - variable5
           - variable6]

Bạn có thể làm cả hai bằng Python nhưng bạn nên chọn cái sau để cải thiện khả năng đọc mã của mình

Phương pháp 3. Ngắt chuỗi bằng cách sử dụng chuỗi nhiều dòng với dấu ngoặc kép

Thí dụ. Giả sử, bạn có chuỗi dài sau đây từ Romeo và 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ự xuống dòng trong chuỗi. nó thực sự là một chuỗi nhiều dòng. 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 được không?

Bạn có thể cấu trúc lại các chuỗi bằng cách sử dụng ba dấu ngoặc kép cho phép bạn xác định một chuỗi nhiều dòng mà không cần ký tự xuống dòng

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ác chuỗi nhiều 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 ưu tiên hơn.

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

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

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 với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

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 “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã trực tuyến của mình cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

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

Chris

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

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

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

Làm cách nào để viết nhiều dòng văn bản trong Python?

Trong Python, bạn có nhiều cách khác nhau để chỉ định một chuỗi nhiều dòng. Bạn có thể chia chuỗi thành nhiều dòng bằng cách đặt chuỗi đó trong ba dấu ngoặc kép . Ngoài ra, dấu ngoặc cũng có thể được sử dụng để trải một chuỗi thành các dòng khác nhau. Hơn nữa, dấu gạch chéo ngược hoạt động như một ký tự tiếp tục dòng trong Python.

Làm cách nào để lấy nhiều dòng từ tệp văn bản Python?

Nếu bạn muốn thêm nhiều dòng vào một tệp văn bản hiện có, trước tiên bạn phải mở tệp đó ở chế độ chắp thêm rồi sử dụng hàm writelines[], as seen below.

Chủ Đề