Khung vuông: []
Danh sách và lập chỉ mục/tra cứu/cắt lát
- Danh sách:
[]
,[1, 2, 3]
,[i**2 for i in range[5]]
- Lập chỉ mục:
'abc'[0]
→'a'
- Tra cứu:
0 →>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
1>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
- Cắt lát:
2 →>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
3>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
Điểm dừng: >>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
4 [còn gọi là "dấu ngoặc tròn"]
>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
Tuples, thứ tự của các hoạt động, biểu thức máy phát, các cuộc gọi chức năng và cú pháp khác.
- Tuples:
4,>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
6>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
- Mặc dù các bộ dữ liệu có thể được tạo ra mà không cần dấu ngoặc đơn:
7 →>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
8>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
- Mặc dù các bộ dữ liệu có thể được tạo ra mà không cần dấu ngoặc đơn:
- Thứ tự hoạt động:
9>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
- Biểu thức của máy phát:
0>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
- Chức năng hoặc phương thức gọi:
1,>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
2,>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
3,>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
4>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
- với biểu thức máy phát:
5>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
- với biểu thức máy phát:
Niềng răng xoăn: >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
6
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
Từ điển và bộ, cũng như trong định dạng chuỗi
- Dicts:
6,>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
8,>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
9>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
- Bộ:
0,>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
1>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
- Ngoại trừ bộ trống:
2>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
- Ngoại trừ bộ trống:
- Trong định dạng chuỗi để chỉ ra các trường thay thế:
- F-Strings:
3>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
- Chuỗi định dạng:
4>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
- F-Strings:
Biểu cảm thường xuyên
Tất cả các dấu ngoặc này cũng được sử dụng trong Regex. Về cơ bản, []
được sử dụng cho các lớp ký tự,
>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
4 để nhóm và >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
6 để lặp lại. Để biết chi tiết, xem Câu hỏi thường gặp về biểu thức thường xuyên.Khung góc: >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
8
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
Được sử dụng khi biểu diễn các đối tượng nhất định như hàm, lớp và các phiên bản lớp nếu lớp không ghi đè
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
9, ví dụ:>>> print
>>> zip
>>> zip[]
.
Nhà điều hành ưu tiên xác định thứ tự trong đó các hoạt động được xử lý. Trong hướng dẫn này, bạn sẽ thực hiện một thủ thuật toán học bằng cách sử dụng dấu ngoặc đơn để kiểm soát trình độ vận hành Python. Nếu bạn chỉ tham gia với chúng tôi, bạn có thể muốn bắt đầu với bài viết trước của chúng tôi, các nhà khai thác Python là toán học!
Nhà điều hành Python ưu tiên
Bây giờ chúng tôi trở lại câu chuyện tiếp tục tại Bệnh viện Robot Universal Rossum. Bản ngã bùng lên như Tiến sĩ. Thêm vào đó, trừ, chém, dấu hoa thị và sức mạnh tranh luận, người có thẩm quyền nhất. Một kháng cáo được thực hiện cho chủ tịch bệnh viện, ngoặc đơn. Giống như bất kỳ bệnh viện robot tốt, có một hệ thống phân cấp giữa các hoạt động.
Xem những gì xảy ra khi chúng ta chạy một biểu thức liên quan đến các nhà khai thác hỗn hợp:
Bạn có thể mong đợi điều đó bằng 9. Nhưng trình thông dịch Python không đọc, hoặc xử lý, các nhà khai thác từ trái sang phải, giống như chúng ta. Thay vào đó, thông dịch viên Python xếp hạng các nhà khai thác theo tầm quan trọng và xử lý chúng theo một chuỗi cụ thể. Đây được gọi là thứ tự hoạt động hoặc, tùy thuộc vào người bạn đang nói chuyện, được ưu tiên của nhà điều hành. Trong ví dụ trên, phép nhân có mức độ ưu tiên cao hơn so với bổ sung, do đó, 2 * 3 được xử lý trước, sau đó được thêm vào 1. Sử dụng dấu ngoặc đơn, chúng tôi có thể buộc các toán tử ưu tiên thấp hơn để chạy trước:
Hãy cùng xem PEMDAs. Không, Pemdas là một dòng chữ trên biểu đồ mắt. Nó có một từ viết tắt để giúp bạn nhớ những toán tử toán học nào đi trước những người khác. Chữ viết tắt là viết tắt của phép trừ chia phép nhân số đặc trưng cho dấu ngoặc đơn. Bạn có thể nhớ nó với “Xin vui lòng xin lỗi dì thân yêu của tôi. Nhớ Susie? Cô ấy đã có một tàu kéo…
Biểu đồ sau đây phác thảo nhà khai thác ưu tiên:
Ưu tiên cao nhất | Chủ tịch | [] | Dấu ngoặc đơn |
Tiến sĩ Powers | ** | Số mũ | |
Tiến sĩ Asterisk | * | Phép nhân | |
Tiến sĩ Slash | / | Phân công | |
Tiến sĩ Plus | + | Phép cộng | |
Ưu tiên thấp nhất | Tiến sĩ trừ | - | Phép trừ |
Trong phép ẩn dụ của bệnh viện robot, chủ tịch ngoặc đơn có quyền lực nhất, tiếp theo là Tiến sĩ Powers, Tiến sĩ Asterisk, Tiến sĩ Slash, Tiến sĩ Bổ sung, và cuối cùng, Tiến sĩ Minus. Như bạn có thể thấy, nó trả tiền để suy nghĩ lớn. Điểm dừng xác định thứ tự hoạt động. Bất kỳ hoạt động nào có trong ngoặc đơn được thực hiện trước. Nhưng nó trở nên tốt hơn. Bạn có thể sử dụng dấu ngoặc đơn cho các hoạt động của tổ trong các hoạt động, giống như một con búp bê Matryoshka được làm bằng trăn.
Dấu ngoặc đơn là toán học!
Chúng ta hãy nhìn vào thủ thuật ảo thuật của chúng ta một lần nữa, lần này bằng cách sử dụng quy tắc ưu tiên với dấu ngoặc đơn và phép thuật của Python. Chỉ để chứng minh rằng nó hoạt động với bất kỳ số nào, tôi sẽ sử dụng số nguyên không may mắn 13. Bạn có thể sử dụng bất kỳ số lượng tích cực nào bạn muốn. Bắt đầu xây dựng tuyên bố của bạn trên dấu nhắc Python của bạn, nhưng don không thể trả lại cho đến khi tôi nói như vậy.
Bước đầu tiên của thủ thuật ảo thuật của chúng tôi là thêm 5. Chúng tôi muốn điều đó xảy ra trước tiên, vì vậy hãy bọc nó trong ngoặc đơn, như thế này:
Tiếp theo, chúng tôi nhân kết quả đó bằng 2. Bọc câu lệnh đầu tiên của chúng tôi trong một bộ dấu ngoặc đơn khác với *2 được nhét bên trong:
Bây giờ chúng ta cần trừ 4. Gói rằng trong một tập hợp ngoặc đơn khác chứa biểu thức ‘-4,::
>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
Bộ dấu ngoặc đơn cuối cùng của chúng tôi cần chia kết quả hiện tại cho 2.
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
Cuối cùng, chúng tôi trừ đi số ban đầu của chúng tôi. Nó không cần thiết phải bọc nó trong ngoặc đơn vì nó sẽ là hoạt động cuối cùng được thực hiện:
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
Nhấn trở lại.
Abracadabra!
Tôi đã nói gì với bạn? Số ba. Nó là một con số ma thuật. Đối với thủ thuật tiếp theo của chúng tôi, bài tập biến đổi!