2012-06-09 3 views
4

Python 코드의 잘못된 스타일로 간주되는 인수 이름에 function이라는 단어를 사용하고 있습니까?Python 코드의 변수에 "function"이라는 이름 사용

def conjunction_junction(function): 
    pass # do something and call function in here 

이 패턴은 항상 발생합니다. 특히 in decorators입니다. func, fnf이 항상 사용되지만 가능한 경우 약자는 사용하지 않는 것이 좋습니다. 그것이 약어를 정당화하기에 충분한 유형의 이름이라는 사실입니까?

>> type(conjunction_junction).__name__ 
'function' 
+0

) - 나는 개인적으로 신경 쓰지 않는다. –

+0

'function'은 스택 오버 플로우시 파란색으로 강조 표시됩니다. – mstringer

+0

@Mike : SO가 일반 형광펜을 사용하기 때문입니다. 언어 태그가 제대로 강조 표시되도록 추가하겠습니다. –

답변

3

예약 키워드가 아니기 때문에 그 이유는 알 수 없습니다. Style Guide

에서

예약 된 키워드 함수 인수의 이름 충돌, 그것은 하나의 후행를 추가하는 것이 일반적으로 더 나은 경우는 사용 된 약어 또는 맞춤법 손상보다는 강조. 따라서 class_는 clss보다 좋습니다. (동의어를 사용하면 이러한 충돌을 피할 수 있습니다.)

+0

'str'과'list'도 예약어가 아닙니다. 여전히 식별자로 사용하지 않으려합니다. 물론이 경우'function'은 클래스, 모듈 또는 함수의 이름이 내장되어 있지 않으므로 사용하는 것이 좋습니다. (func이 보편적으로 사용되는 것을 보았을지라도 OP가 시작된 것과 정확히 같은 이유로 질문 : 그들은'function'을 사용하는 것이 괜찮은지 확실하지 않았습니다) –

3

function을 사용하는 것이 좋습니다.

구체적으로 style guide에는 아무것도 없습니다. strlist과 같은 형식 이름을 사용하는 이유는 언어 내에 기능이 있기 때문입니다. 코드를 덮어 쓰면 코드의 기능이 흐려집니다. 반면에 function은 아무 것도하지 않습니다.

나는 func, fn 의심, 그리고 그들이 있기 때문에 f가 사용되는 모든 짧은 function를 입력하는 것보다)만큼 그렇지 않은 (그것은 아무것도 무시하지 않으며, 구문 색상 문제가 발생하지 않는 한

관련 문제