Tôi bối rối về việc chọn tên cho các chức năng của mình trong Python . Đôi khi các hàm dựng sẵn của Python là bắt buộc, chẳng hạn như: print
hàm và phương thức chuỗi find
. Đôi khi, họ không phải là: chẳng hạn như len
tên của nó, chẳng hạn như calculate_len
, và type
không find_type
.
Tôi có thể hiểu rằng print
trả về một giá trị mà chúng ta không sử dụng (nghĩa là None
) và thực hiện một cái gì đó (tức là nó hiển thị một chuỗi trên màn hình), vì vậy tên của nó là bắt buộc.
Nhưng len
trả về một giá trị mà chúng ta sử dụng và thực hiện một cái gì đó (nghĩa là tính toán có bao nhiêu mục trong một chuỗi hoặc ánh xạ.) Và tên của nó không bắt buộc . Mặt khác, find
phương thức chuỗi (as len
) trả về một giá trị mà chúng ta sử dụng và thực hiện một cái gì đó, và tên của nó là bắt buộc .
Điều khiến cho câu hỏi này là tôi đặt một tập lệnh mã hóa và giải mã chuỗi bằng mật mã Caesar để được xem xét. Người đánh giá nói rằng:
Chỉ là một cảm giác ruột: chức năng làm công cụ. Vì vậy, một tên tốt cho một chức năng là một mệnh lệnh: Tôi sẽ sử dụng
rotate_letter
thay vìrotated_letter
.
rotated_letter
trả về một chuỗi ký tự đơn đại diện cho một chữ cái được quay bởi một số. Tôi không biết cái gì tốt hơn, tôi đã sử dụng rotated_letter
vì nó trả về một giá trị, như randint
hàm trong mô-đun ngẫu nhiên , không phải vậy generate_randint
.
Vì vậy, trong trường hợp này, tôi nên đặt tên cho hàm trả về giá trị sẽ được sử dụng như thế nào? Tôi nên làm cho tên bắt buộc hoặc chỉ là một danh từ . Trong các trường hợp khác, rõ ràng là làm thế nào để làm điều đó, chẳng hạn như các hàm boolean , chẳng hạn như is_even
và is_palindrome
chúng ta chỉ làm cho nó giống như một câu hỏi có / không , và cả các hàm chỉ làm và trả về các giá trị không sử dụng (ví dụ None
), như print
phương thức liệt kê sort
.
len
, ví dụ, được coi là "độ dài" tốt hơn - bạn đang nhận được một mô tả siêu cấp về đối số của nó.