Bạn có thể bỏ qua các dòng mã trong Python không?

Lưu ý từ Trey. Tôi thường sử dụng độ dài dòng tối đa là 79 ký tự trong các dự án của mình [mặc dù điều này thực sự khác nhau giữa các dự án]

Chúng ta có thể ngắt dòng này thành hai bằng cách đặt dấu gạch chéo ngược [

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
3] ở cuối dòng rồi nhấn phím
from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
4

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set

Đây là một cách để nói với Python rằng dòng mã đầu tiên tiếp tục ở dòng tiếp theo. Điều này hoạt động trong Python nhưng nó không được khuyến khích

Thay vào đó, hướng dẫn kiểu Python [PEP 8] khuyên bạn nên sử dụng tiếp tục dòng ẩn. Việc tiếp tục dòng ẩn xảy ra bất cứ khi nào Python đi đến cuối một dòng mã và thấy rằng còn nhiều dòng nữa sẽ xuất hiện vì dấu ngoặc đơn [

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
5], dấu ngoặc vuông [
from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
6] hoặc dấu ngoặc nhọn [
from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
7] đã bị bỏ ngỏ

Vì vậy, thêm dấu ngoặc đơn [

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
5 và
from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
9] vào dòng này sẽ cho phép chúng tôi đặt dòng mới ở bất cứ đâu chúng tôi muốn bên trong các dấu ngoặc đơn đó

________số 8_______

Căn chỉnh là một sở thích cá nhân

Khi gói mã trên nhiều dòng, một số lập trình viên Python thích sắp xếp mã của họ một cách trực quan như thế này

from collections.abc import [Hashable, Iterable, KeysView, Mapping,
                             MutableMapping, Set]

Nhưng thay vào đó, một số lập trình viên Python đặt từng mục trên một dòng riêng

from collections.abc import [
    Hashable,
    Iterable,
    KeysView,
    Mapping,
    MutableMapping,
    Set,
]

Tuy nhiên, bạn chọn ngắt dòng của mình, hãy biết rằng trong dấu ngoặc đơn, bạn có thể đặt ngắt dòng ở bất cứ đâu bạn muốn trong mã của mình và bạn có thể đặt bất kỳ khoảng trắng nào bạn muốn bên trong dấu ngoặc đơn

from collections.abc import [Hashable,
    Iterable, KeysView, Mapping,
                             MutableMapping, Set]

Khoảng cách kỳ lạ ở trên hoạt động vì đây không phải là thụt đầu dòng, mà là căn chỉnh. Python xử lý khoảng trắng trong các dấu ngoặc đơn giống như nó sẽ xử lý khoảng trắng ở giữa bất kỳ dòng mã nào khác

Đó là vấn đề sở thích cá nhân về cách bạn bọc mã của mình. Bạn có thể cho một số ý tưởng

Các lệnh gọi hàm đã có dấu ngoặc đơn

Điều gì sẽ xảy ra nếu bạn muốn kết thúc lời gọi hàm trên nhiều dòng?

Bên trong một lệnh gọi hàm [như

from collections.abc import [
    Hashable,Iterable, KeysView, Mapping,
        MutableMapping, Set]
0 bên dưới], chúng ta đã có dấu ngoặc đơn

fruits = ["lemons", "pears", "jujubes", "apples", "bananas", "blueberries", "watermelon"]

print["I like", " and ".join[sorted[fruits]], "but I only like certain types of pears"]

Chúng ta không cần thêm dấu ngoặc đơn. Chúng ta có thể thêm ngắt dòng ở bất cứ đâu chúng ta muốn trong một lệnh gọi hàm và nó hoạt động khá tốt

fruits = ["lemons", "pears", "jujubes", "apples", "bananas", "blueberries", "watermelon"]

print[
    "I like",
    " and ".join[sorted[fruits]],
    "but I only like certain types of pears"]

Tiếp tục dòng ẩn hoạt động cho tất cả các loại dấu ngoặc và dấu ngoặc nhọn

Quy tắc tương tự áp dụng cho dấu ngoặc vuông [

from collections.abc import [
    Hashable,Iterable, KeysView, Mapping,
        MutableMapping, Set]
1]

Nếu chúng ta muốn chia nhỏ một danh sách dài thành nhiều dòng

fruits = ["lemons", "pears", "jujubes", "apples", "bananas", "blueberries", "watermelon"]

Chúng tôi có thể thêm ngắt dòng bất cứ nơi nào chúng tôi muốn trong danh sách đó

fruits = [
    "lemons",
    "pears",
    "jujubes",
    "apples",
    "bananas",
    "blueberries",
    "watermelon",
]

Miễn là chúng ta có dấu ngoặc vuông mở [_______0_______6], dấu ngoặc đơn [

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
5] hoặc dấu ngoặc nhọn mở [
from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
7], chúng ta có thể thêm ngắt dòng ở bất cứ đâu chúng ta muốn bên trong dấu ngoặc hoặc dấu ngoặc nhọn đó

Có nghĩa là chúng ta có thể lấy cuốn từ điển này

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
0

Và ngắt nó thành nhiều dòng bằng cách đặt ngắt dòng sau mỗi phần tử

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
1

Trình định dạng mã tự động có thể trợ giúp

Bạn không cần phải làm điều này một mình. Bạn có thể chọn sử dụng một trình định dạng mã, chẳng hạn như màu đen, để thực hiện công việc này cho bạn

from collections.abc import Hashable, Iterable, KeysView, Mapping, \
        MutableMapping, Set
2

Tuy nhiên, bạn chọn ngắt mã của mình trên nhiều dòng, hãy nhớ rằng đó là tất cả về dấu ngoặc [

from collections.abc import [
    Hashable,Iterable, KeysView, Mapping,
        MutableMapping, Set]
1] và dấu ngoặc nhọn [
from collections.abc import [
    Hashable,Iterable, KeysView, Mapping,
        MutableMapping, Set]
6 và
from collections.abc import [
    Hashable,Iterable, KeysView, Mapping,
        MutableMapping, Set]
7]. đó là những gì cho phép tiếp tục dòng ngầm

Tóm lược

Nếu bạn có một dòng mã rất dài trong Python và bạn muốn ngắt nó thành nhiều dòng, nếu bạn đang ở trong dấu ngoặc đơn, dấu ngoặc vuông hoặc dấu ngoặc nhọn, bạn có thể đặt dấu ngắt dòng ở bất kỳ đâu bạn muốn vì Python

Nếu bạn chưa có dấu ngoặc đơn hoặc dấu ngoặc nhọn trên dòng của mình, bạn có thể thêm dấu ngoặc đơn vào bất cứ đâu bạn muốn và sau đó đặt dấu ngắt dòng bên trong chúng để định dạng mã của bạn một cách độc đáo trên nhiều dòng

Chủ Đề