Tài liệu Pep 8 được định nghĩa như thế nào trong Python?

Chuyển đến nội dung chính

Giới thiệu về Python

Nắm vững kiến ​​thức cơ bản về phân tích dữ liệu với Python chỉ trong bốn giờ. Khóa học trực tuyến này sẽ giới thiệu giao diện Python và khám phá các gói phổ biến

Python trung cấp

Nâng cao kỹ năng khoa học dữ liệu của bạn bằng cách tạo trực quan hóa bằng Matplotlib và thao tác với DataFrames bằng gấu trúc

Có liên quan

Các tài nguyên hàng đầu năm 2022 để nâng cao kỹ năng dữ liệu của bạn

Nhận quyền truy cập vào các tài nguyên hoạt động hiệu quả nhất của chúng tôi từ năm 2022, bao gồm hội thảo trên web, bài đăng trên blog, sách trắng, bảng gian lận, hướng dẫn và bài viết, tất cả đều được thiết kế để giúp bạn nâng cao kỹ năng dữ liệu và mở rộng quy mô văn hóa dữ liệu của tổ chức bạn. Bắt đầu học hỏi và phát triển kiến ​​thức chuyên môn về dữ liệu của bạn ngay hôm nay

SQL so với Python. Bạn nên học cái nào?

Trong bài viết này, chúng tôi sẽ đề cập đến các tính năng chính của Python và SQL, những điểm tương đồng và khác biệt chính của chúng cũng như bạn nên chọn cái nào trước để bắt đầu hành trình khoa học dữ liệu của mình

Javier Canales Luna •

12 phút

Dữ liệu văn bản trong Python Cheat Sheet

Chào mừng bạn đến với bảng gian lận của chúng tôi để làm việc với dữ liệu văn bản trong Python. Chúng tôi đã biên soạn một danh sách các hàm và gói hữu ích nhất để dọn dẹp, xử lý và phân tích dữ liệu văn bản trong Python, cùng với các ví dụ và giải thích rõ ràng, vì vậy bạn sẽ có mọi thứ cần biết về cách làm việc với dữ liệu văn bản trong Python.

Hướng dẫn về tập hợp và lý thuyết tập hợp trong Python

Tìm hiểu về bộ Python. chúng là gì, cách tạo chúng, khi nào sử dụng chúng, các chức năng tích hợp và mối quan hệ của chúng với các hoạt động lý thuyết thiết lập

Hướng dẫn về gấu trúc. Khung dữ liệu trong Python

Khám phá phân tích dữ liệu với Python. Pandas DataFrames giúp thao tác dữ liệu của bạn dễ dàng, từ việc chọn hoặc thay thế các cột và chỉ mục để định hình lại dữ liệu của bạn

Xem ThêmXem Thêm

Chữ viết tay lộn xộn trở nên khó hiểu, tương tự như vậy, một mã không thể đọc được và không có cấu trúc không được chấp nhận bởi tất cả. Tuy nhiên, bạn chỉ có thể hưởng lợi với tư cách là một lập trình viên khi bạn có thể diễn đạt tốt hơn bằng mã của mình. Đây là nơi PEP đến để giải cứu.  

Đề xuất cải tiến Python hoặc PEP là một tài liệu thiết kế cung cấp thông tin cho cộng đồng Python, đồng thời mô tả các tính năng và khía cạnh tài liệu mới, chẳng hạn như kiểu dáng và thiết kế cho Python

Python là ngôn ngữ lập trình đa mô hình, dễ học và đã trở nên phổ biến trong các lĩnh vực Khoa học dữ liệu và Phát triển web trong một vài năm và PEP 8 được gọi là mã kiểu của Python. Nó được viết bởi Guido van Rossum, Barry Warsaw và Nick Coghlan vào năm 2001. Nó tập trung vào việc nâng cao khả năng đọc và tính nhất quán của mã Python. Tham gia chương trình đào tạo lập trình nâng cao về python dành cho người mới bắt đầu của chúng tôi và tìm hiểu các kỹ năng PEP 8 cũng như các tính năng khác nhau của Python cùng với các mẹo và thủ thuật

Một quán ngu si là tinh nghịch của tâm trí nhỏ

'Một người tuyệt vời không cần phải suy nghĩ nhất quán từ ngày này sang ngày khác' - đây là ý nghĩa của câu nói

Tính nhất quán là điều quan trọng. Nó được coi là hướng dẫn phong cách. Bạn nên duy trì tính nhất quán trong một dự án và chủ yếu là trong một chức năng hoặc mô-đun

Tuy nhiên, sẽ có những tình huống mà bạn cần sử dụng phán đoán của riêng mình, trong đó tính nhất quán không được coi là một lựa chọn. Bạn phải biết khi nào bạn cần không nhất quán, chẳng hạn như khi áp dụng hướng dẫn sẽ khiến mã khó đọc hơn hoặc khi mã cần tuân thủ các phiên bản Python cũ hơn mà hướng dẫn về phong cách không khuyến nghị.  

Nói một cách đơn giản, bạn không thể phá vỡ tính tương thích ngược để tuân theo PEP

Thiền của Python

Nó là một bộ sưu tập gồm 19 'nguyên tắc hướng dẫn' được viết lần đầu bởi Tim Peters vào năm 1999. Nó hướng dẫn thiết kế Ngôn ngữ lập trình Python

Python được phát triển với một số mục tiêu trong đầu. Bạn có thể thấy chúng khi gõ đoạn mã sau và chạy nó

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Sự cần thiết của PEP 8

Khả năng đọc là chìa khóa để viết mã tốt. Viết mã tốt giống như một loại hình nghệ thuật hoạt động như một chủ đề chủ quan cho các nhà phát triển khác nhau

Khả năng đọc rất quan trọng theo nghĩa là một khi bạn viết mã, bạn cần nhớ mã đó làm gì và tại sao bạn viết mã đó. Bạn có thể không bao giờ viết đoạn mã đó nữa, nhưng bạn sẽ phải đọc đi đọc lại đoạn mã đó khi làm việc trong một dự án.  

PEP 8 bổ sung ý nghĩa logic cho mã của bạn bằng cách đảm bảo rằng các biến của bạn được đặt tên rõ ràng, có đủ khoảng trắng hay không và cũng bằng cách nhận xét tốt. Nếu bạn là người mới bắt đầu sử dụng ngôn ngữ này, Một chút PEP 8 sẽ làm cho việc lập trình python dành cho người mới bắt đầu tuyệt đối trở nên thú vị hơn.   

Làm theo PEP 8 cũng sẽ giúp nhiệm vụ của bạn dễ dàng hơn nếu bạn đang làm việc với tư cách là một nhà phát triển chuyên nghiệp. Những người không biết bạn và chưa bao giờ thấy cách bạn tạo kiểu cho mã của bạn sẽ chỉ có thể dễ dàng đọc và hiểu mã của bạn nếu bạn tuân theo và nhận ra một nguyên tắc cụ thể trong đó khả năng đọc là điều thực tế của bạn

Và như Guido van Rossum đã nói— “Mã được đọc nhiều hơn là được viết”

Bố cục mã

Bố cục mã của bạn có tác động rất lớn đến khả năng đọc mã của bạn

thụt đầu dòng

Mức độ thụt đầu dòng của dòng được tính toán bởi các khoảng trắng và tab ở đầu dòng logic. Nó ảnh hưởng đến việc nhóm các câu lệnh.  

Các quy tắc của PEP 8 cho biết sử dụng 4 khoảng trắng cho mỗi cấp độ thụt lề và khoảng trắng cũng nên được ưu tiên hơn các tab

Một ví dụ về mã để hiển thị thụt đầu dòng

x = 5
if x < 10:
  print['x is less than 10'] 

Tab hoặc Spaces?

Ở đây, câu lệnh in được thụt vào để thông báo cho Python chỉ thực thi câu lệnh nếu câu lệnh if là đúng. Thụt đầu dòng cũng giúp Python biết mã nào nó sẽ thực thi trong khi gọi hàm và cả khi sử dụng các lớp

PEP 8 khuyến nghị sử dụng 4 dấu cách để hiển thị thụt lề và các tab chỉ nên được sử dụng để duy trì tính nhất quán trong mã

Python 3 cấm trộn khoảng trắng và tab để thụt lề. Bạn có thể sử dụng tab hoặc dấu cách và bạn nên duy trì tính nhất quán khi sử dụng Python 3. Các lỗi được tự động hiển thị

python hello.py
  File "hello.py", line 3
      print[i, j]
                ^

TabLỗi. sử dụng không nhất quán các tab và khoảng trắng trong thụt đầu dòng

Tuy nhiên, nếu bạn đang làm việc trong Python 2, bạn có thể kiểm tra tính nhất quán bằng cách sử dụng cờ -t trong mã của mình, cờ này sẽ hiển thị các cảnh báo về sự không nhất quán khi sử dụng dấu cách và tab

Bạn cũng có thể sử dụng cờ -tt sẽ hiển thị lỗi thay vì cảnh báo và cả vị trí không nhất quán trong mã của bạn.  

Độ dài dòng tối đa và ngắt dòng

Thư viện Python là bảo thủ và 79 ký tự là giới hạn dòng yêu cầu tối đa theo đề xuất của PEP 8. Điều này giúp tránh ngắt dòng

Vì không phải lúc nào cũng có thể duy trì giới hạn ở 79 ký tự, nên PEP 8 cho phép ngắt dòng bằng cách sử dụng tiếp tục dòng ngụ ý của Python với dấu ngoặc đơn, dấu ngoặc vuông và dấu ngoặc nhọn

def function[argument_1, argument_2,
            argument_3, argument_4]:
    return argument_1

Hoặc bằng cách sử dụng dấu gạch chéo ngược để ngắt dòng

with open['/path/to/some/file/you/want/to/read'] as example_1, \
    open['/path/to/some/file/being/written', 'w'] as example_2:
    file_2.write[file_1.read[]]

Khi nói đến toán tử nhị phân, PEP 8 khuyến khích ngắt dòng trước toán tử nhị phân. Tài khoản này cho mã dễ đọc hơn

Hãy để chúng tôi hiểu điều này bằng cách so sánh hai ví dụ

# Example 1
# Do
total = [ variable_1 + variable_2 - variable_3 ]
# Example 2
# Don't
total = [ variable_1 + variable_2 - variable_3 ]

Trong ví dụ đầu tiên, có thể dễ dàng hiểu biến nào được cộng hay trừ, vì toán tử nằm ngay bên cạnh biến mà nó được thao tác. Tuy nhiên ở ví dụ thứ 2 hơi khó hiểu biến nào là cộng hay trừ

Thụt đầu dòng với ngắt dòng

Thụt đầu dòng cho phép người dùng phân biệt giữa nhiều dòng mã và một dòng mã kéo dài nhiều dòng. Nó cũng tăng cường khả năng đọc

Kiểu thụt lề đầu tiên là điều chỉnh khối thụt lề bằng dấu phân cách

def function[argument_one, argument_two,
              argument_three, argument_four]:
        return argument_one

Bạn cũng có thể cải thiện khả năng đọc bằng cách thêm nhận xét

________số 8

Hoặc bằng cách thêm thụt đầu dòng

x = 10
if [x > 5 and
      x < 20]:
    print[x]

Một loại thụt đầu dòng khác là thụt lề treo mà bạn có thể tượng trưng cho phần tiếp theo của một dòng mã một cách trực quan

x = 5
if x < 10:
  print['x is less than 10'] 
0

Bạn có thể chọn bất kỳ phương pháp thụt đầu dòng nào, theo dấu ngắt dòng, trong trường hợp giới hạn dòng 79 ký tự buộc bạn phải thêm dấu ngắt dòng trong mã của mình, điều này cuối cùng sẽ cải thiện khả năng đọc

Đóng niềng răng trong dòng tiếp tục

Việc đóng dấu ngoặc nhọn sau khi ngắt dòng có thể dễ dàng bị quên, vì vậy điều quan trọng là phải đặt nó ở đâu đó hợp lý hoặc có thể gây nhầm lẫn cho người đọc

Một cách do PEP 8 cung cấp là đặt dấu ngoặc nhọn với ký tự khoảng trắng đầu tiên của dòng cuối cùng

x = 5
if x < 10:
  print['x is less than 10'] 
1

Hoặc xếp hàng dưới ký tự đầu tiên của dòng bắt đầu cấu trúc nhiều dòng

x = 5
if x < 10:
  print['x is less than 10'] 
2

Hãy nhớ rằng, bạn có thể sử dụng bất kỳ tùy chọn nào trong hai tùy chọn lưu ý đến tính nhất quán của mã

dòng trống

Dòng trống còn được gọi là khoảng trắng dọc. Đó là một dòng hợp lý bao gồm khoảng trắng, tab, nguồn cấp dữ liệu biểu mẫu hoặc nhận xét về cơ bản bị bỏ qua

Sử dụng các dòng trống trong các hàm và lớp cấp cao nhất

x = 5
if x < 10:
  print['x is less than 10'] 
3

Việc thêm hai dòng trống giữa các hàm cấp cao nhất và các lớp sẽ có sự tách biệt rõ ràng và sẽ tăng thêm tính nhạy cảm cho mã

Sử dụng các dòng trống trong việc xác định các phương thức bên trong các lớp

x = 5
if x < 10:
  print['x is less than 10'] 
4

Ở đây, một khoảng trắng duy nhất là đủ để mã có thể đọc được

Bạn cũng có thể sử dụng các khoảng trống bên trong các hàm nhiều bước. Nó giúp người đọc thu thập logic chức năng của bạn và hiểu nó một cách hiệu quả. Một dòng trống duy nhất sẽ hoạt động trong trường hợp đó

Một ví dụ để minh họa như vậy

x = 5
if x < 10:
  print['x is less than 10'] 
5

Trên đây là hàm tính trung bình cộng. Có một dòng trống giữa mỗi bước và cả trước câu lệnh return

Việc sử dụng các dòng trống có thể cải thiện đáng kể khả năng đọc mã của bạn và nó cũng cho phép người đọc hiểu được sự tách biệt của các phần mã và mối quan hệ giữa chúng

quy ước đặt tên

Chọn tên hợp lý và có thể dễ hiểu, trong khi mã hóa bằng Python, là rất quan trọng. Điều này sẽ tiết kiệm thời gian và năng lượng của người đọc. Tên không phù hợp có thể dẫn đến khó khăn khi gỡ lỗi

Phong cách đặt tên

Việc đặt tên biến, hàm, lớp hoặc phương thức phải được thực hiện rất cẩn thận. Dưới đây là danh sách các loại, quy ước đặt tên và ví dụ về cách sử dụng chúng

Loại Quy ước đặt tênVí dụBiếnSử dụng tên ngắn với CapWords. T, AnyString, My_First_VariableFunctionSử dụng từ viết thường hoặc từ có dấu gạch dưới để cải thiện khả năng đọc. function, my_first_functionClassSử dụng CapWords và không sử dụng dấu gạch dưới giữa các từ. Student, MyFirstClassMethodSử dụng các từ viết thường được phân tách bằng dấu gạch dưới. Student_method, methodConstantsSử dụng tất cả các chữ in hoa có dấu gạch dưới phân tách các từTOTAL, MY_CONSTANT, MAX_FLOWNgoại lệ Sử dụng CapWords không có dấu gạch dưới. IndexError, NameErrorModuleSử dụng các chữ cái viết thường ngắn sử dụng dấu gạch dưới. mô-đun. py, my_first_module. pyPackageKhông khuyến khích sử dụng các từ viết thường ngắn và dấu gạch dưới. gói, my_first_package

Chọn tên

Để mã của bạn dễ đọc, hãy chọn các tên mang tính mô tả và mang lại cảm giác rõ ràng hơn về nội dung mà đối tượng đại diện. Một cách tiếp cận thực tế hơn để đặt tên là cần thiết để người đọc hiểu mã

Hãy xem xét một tình huống mà bạn muốn lưu trữ tên của một người dưới dạng một chuỗi

x = 5
if x < 10:
  print['x is less than 10'] 
6

Ở đây, bạn có thể thấy, chúng tôi đã chọn các tên biến như first_name và last_name dễ hiểu và dễ nhớ hơn. Chúng tôi có thể đã sử dụng các tên ngắn như x, y hoặc z nhưng nó không được PEP 8 khuyến nghị vì rất khó để theo dõi các tên ngắn như vậy

Hãy xem xét một tình huống khác mà bạn muốn nhân đôi một đối số. Chúng ta có thể chọn cách viết tắt như db cho tên hàm

x = 5
if x < 10:
  print['x is less than 10'] 
7

Tuy nhiên, việc viết tắt có thể khó khăn trong trường hợp bạn muốn quay lại cùng một mã sau vài ngày mà vẫn có thể đọc và hiểu. Trong những trường hợp như vậy, tốt hơn là sử dụng tên ngắn gọn như double_a_variable

x = 5
if x < 10:
  print['x is less than 10'] 
8

Cuối cùng, điều quan trọng là khả năng đọc mã của bạn

Bình luận

Nhận xét là một đoạn mã được viết bằng tiếng Anh đơn giản giúp cải thiện khả năng đọc mã mà không làm thay đổi kết quả của chương trình. Bạn có thể hiểu mục đích của mã nhanh hơn nhiều chỉ bằng cách đọc các nhận xét thay vì mã thực tế. Nó rất quan trọng trong việc phân tích mã, gỡ lỗi hoặc thay đổi logic.  

chặn bình luận

Nhận xét khối được sử dụng trong khi nhập dữ liệu từ tệp hoặc thay đổi mục nhập cơ sở dữ liệu trong đó nhiều dòng mã được viết để tập trung vào một hành động. Chúng giúp giải thích mục đích và chức năng của một khối mã nhất định

Chúng bắt đầu bằng dấu thăng [#] và một dấu cách và luôn thụt lề ở cùng cấp độ với mã

x = 5
if x < 10:
  print['x is less than 10'] 
9

Bạn cũng có thể sử dụng nhiều đoạn văn trong một bình luận khối khi làm việc trên một chương trình kỹ thuật hơn.  

Chặn bình luận là loại bình luận phù hợp nhất và bạn có thể sử dụng nó ở bất cứ đâu bạn muốn

Nhận xét nội tuyến

Nhận xét nội tuyến là các nhận xét được đặt trên cùng một dòng với câu lệnh. Chúng hữu ích trong việc giải thích lý do tại sao một dòng mã nhất định là cần thiết

Ví dụ về nhận xét nội tuyến

python hello.py
0

Nhận xét nội tuyến có tính chất cụ thể hơn và có thể dễ dàng được sử dụng, điều này có thể dẫn đến sự lộn xộn. Vì vậy, PEP 8 về cơ bản khuyến nghị sử dụng nhận xét khối để viết mã cho mục đích chung

Chuỗi tài liệu

Chuỗi tài liệu hoặc chuỗi tài liệu bắt đầu ở dòng đầu tiên của bất kỳ hàm, lớp, tệp, mô-đun hoặc phương thức nào. Các loại nhận xét này được đặt trong dấu ngoặc đơn [ '''] hoặc dấu ngoặc kép [ """ ]

Một ví dụ về chuỗi doc

python hello.py
1

Khoảng trắng trong biểu thức và câu lệnh

Trong điện toán, khoảng trắng là bất kỳ ký tự hoặc chuỗi ký tự nào được sử dụng để tạo khoảng cách và có biểu diễn 'trống'. Nó rất hữu ích trong việc cải thiện khả năng đọc của các biểu thức và câu lệnh nếu được sử dụng đúng cách

Khoảng trắng xung quanh toán tử nhị phân

When you’re using assignment operators [ =, +=, -=,and so forth ] or comparisons [ ==, !=, >, =,

Chủ Đề