Hướng dẫn underscore in python - gạch dưới trong python
Khi lập trình với Python, bạn thi thoảng sẽ gặp case sử dụng Single Underscore (_) và Double Underscores (__). Show
Vậy điều mà newbie sẽ gặp phải là sử dụng underscore như thế nào? Bài viết này chia sẽ về cách sử dụng underscore sao cho hợp lý dựa vào:
Using in interpretersTrong Cpython và một vài Python interpreters khác, last expression value sẽ được store vào một special variable được gọi là '_'. Exp:
Ignoring the valuesGiả sử ta nhận được một value là một tuple. Exmp:
Để lấy được 3 sẽ có 2 cách:C1: Đơn giản là lấy dựa vào index.
Hoặc: Nếu value nhận được mình chỉ muốn xử lý là 3 thì ta sẽ có cách khác:
Một ví dụ khác:
Chốt lại, 5 được sử dụng để ignoring specific values nếu specific values đó không được sử dụng.Declaring variable and functionCode conventionUsing in interpreters
Để lấy được 3 sẽ có 2 cách:
Một ví dụ khác: . Code bạn vẫn sẽ chạy bình thường.Non-publicChốt lại, 5 được sử dụng để ignoring specific values nếu specific values đó không được sử dụng.Declaring variable and function Naming Styles trong PEP8 sử dụng rất nhiều 5. Cụ thể là:
Variable
Method
Constant
Module
Trích dẫn từ PEP8: https://www.python.org/dev/peps/pep-0008/
The following naming styles are commonly distinguished: ...Tất nhiêu nếu bạn không tuân thủ code theo PEP8 thì cũng chả sao . Code bạn vẫn sẽ chạy bình thường. Nếu như các bạn đã học Java hay C++ chắc hẳn sẽ biết về access medifiers: >>> tuple_exm = (10, range(1, 10), "Hello") 7, >>> tuple_exm = (10, range(1, 10), "Hello") 8 hay >>> tuple_exm = (10, range(1, 10), "Hello") 9. >>> print(tuple_exm[1]) range(1, 10) 0 Python không có điều đó.Thay vào đó, những methods và instance variables non-public sẽ cần sử dụng 1. 0Giả sử ta có 1 class parent: 1Tiếp tục tạo 1 class child extend class parent bên trên và tạo một method method_one: Với method >>> tuple_exm = (10, range(1, 10), "Hello") 8 và >>> print(tuple_exm[1]) range(1, 10) 3 ở class parent ta dễ dàng gọi nó trong >>> print(tuple_exm[1]) range(1, 10) 4 bằng cách:Nhưng sẽ lỗi nếu làm tương tự với method 5.Đây là câu thần chú mà bạn cần lúc này: https://docs.python.org/3/library/gettext.html App dụng vào ví dụ của trên của mình:Vi diệu chưa 2Avoiding conflict with Python keywords or built-ins.Cái này có thể hiểu đơn giản là giả sử bạn muốn sử dụng từ 6. Nhưng từ này phạm húy nên bạn sẽ cần chỉnh là một xíu là 7 là okDeclaring special methods |