Python에서 변수와 함수에 대한 명명 규칙은 무엇입니까?
C# 배경에서 나온 변수 및 메서드 이름의 명명 규칙은 보통 camelCase 또는 PascalCase입니다.
// C# example
string thisIsMyVariable = "a"
public void ThisIsMyMethod()
Python에서는 위의 내용을 확인했지만 밑줄도 사용하고 있습니다.
# python example
this_is_my_variable = 'a'
def this_is_my_function():
Python에 대해 더 선호되고 확실한 코딩 스타일이 있나요?
Python PEP 8: 함수 및 변수 이름:
기능명은 소문자로 하고, 필요에 따라서 밑줄로 구분해 가독성을 높여야 합니다.
변수 이름은 함수 이름과 동일한 규칙을 따릅니다.
mixed Case는 하위 호환성을 유지하기 위해 이미 일반적인 스타일(threading.py 등)인 경우에만 허용됩니다.
Google Python Style Guide에는 다음과 같은 표기법이 있습니다.
module_name
,package_name
,ClassName
,method_name
,ExceptionName
,function_name
,GLOBAL_CONSTANT_NAME
,global_var_name
,instance_var_name
,function_parameter_name
,local_var_name
.
하여야 합니다.CLASS_CONSTANT_NAME
David Goodger(여기서 "Code Like a Pythonista"에서)는 PEP 8 권장 사항에 대해 다음과 같이 설명합니다.
joined_lower
,, "", "", "", "", ""joined_lower
★★★★★★★★★★★★★★★★★」ALL_CAPS
의 경우StudlyCaps
camelCase
의
스타일 가이드 for Python Code에서 인정하듯이,
Python 라이브러리의 명명 규칙은 약간 복잡하기 때문에 우리는 이것이 완전히 일치하지는 않을 것입니다.
이것은 Python의 표준 라이브러리만을 의미합니다.만약 그들이 그렇게 일관성을 얻지 못한다면, 모든 Python 코드에 대해 일반적으로 적용되는 규약을 가질 가능성은 거의 없습니다.
이것과 여기서의 논의로부터, Python으로 넘어갈 때 변수나 함수에 대해 Java나 C#(명확하고 확립된)의 명명 규칙을 계속 사용한다면, 큰 죄가 되지 않는다고 추측할 수 있습니다.물론 코드베이스/프로젝트/팀의 일반적인 스타일에 관계없이 이를 따르는 것이 최선입니다.Python Style Guide에서 지적했듯이 내부 일관성이 가장 중요합니다.
나를 이단자로 치부해도 좋다.:-) OP와 마찬가지로, 나는 아직 "피토니스타"가 아니다.
바와 같이 에서는 'PEP 8'을 사용하도록 .lower_case_with_underscores
변수, 방법 및 함수에 대해 설명합니다.
사용하는 것을 선호합니다.lower_case_with_underscores
및 "의 경우mixedCase
메서드와 함수의 경우 코드를 보다 명확하고 읽기 쉽게 만듭니다.따라서 Python의 Zen은 "암묵적인 것보다 명시적인 것이 낫다"와 "가독성이 중요하다"를 따릅니다.
PEP 8은 다른 답변에서 알 수 있듯이 표준 라이브러리의 스타일 가이드일 뿐이며 가스펠로만 받아들여지고 있습니다.다른 코드 조각에 대한 PEP 8의 가장 빈번한 편차는 변수 이름, 특히 메서드에 대한 것입니다.mixed Case를 사용하는 코드의 양을 고려할 때, 만약 엄격한 인구 조사를 실시한다면, 아마도 mixed Case를 사용하는 PEP 8 버전이 될 것입니다.PEP 8에서 매우 일반적인 다른 편차는 거의 없습니다.
@JohnTESlade가 대답한 것까지.구글의 비단뱀 스타일 가이드에는 꽤 깔끔한 추천이 있다.
피해야 할 이름
- 카운터 또는 반복자를 제외한 단일 문자 이름
- 임의의 패키지명 또는 패키지명 대시(-)
\__double_leading_and_trailing_underscore__ names
Python ) (Python 예약)
명명 규칙
- "내부"는 모듈 내부 또는 클래스 내에서 보호되거나 비공개임을 의미합니다.
- 1개의 언더스코어(_)를 붙이면 모듈 변수와 함수를 보호할 수 있습니다( Import * from 에는 포함되지 않습니다).인스턴스 변수 또는 메서드에 이중 밑줄(_)을 붙이면 변수 또는 메서드를 클래스(이름 망글링 사용)에 비공개로 만들 수 있습니다.
- 모듈에 관련 클래스 및 최상위 함수를 함께 배치합니다.Java와 달리 모듈당 1개의 클래스로 제한할 필요가 없습니다.
CapWords
만,lower_with_under.py
모듈명을 지정합니다.「 」라고 하는 이름의 기존 만,CapWords.py
I write -- I write i 、 I write did i 、 I write i 、 I write i 、 I write , 、 I write 잠 잠 잠 、 I write 잠 잠 잠 i ( 「 I write did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did did didimport StringIO
★★★★★★★★★★★★★★★★★」from StringIO import StringIO
대부분의 비단뱀 사람들은 밑줄을 선호하지만, 저도 5년 이상 전부터 비단뱀을 사용하고 있지만, 여전히 마음에 들지 않습니다.내 눈엔 못생겼지만 내 머릿속엔 자바어인 것 같아
Camel 과 더 잘 때문에 Camel Case를 더 .Camel Case는 Camel Case가 더 논리적으로 .SomeClass.doSomething()
SomeClass.do_something()
비단뱀이것은 다양한 소스의 라이브러리 모음으로, Sun과 같은 한 회사가 엄격한 코딩 규칙을 가지고 개발한 것이 아니라, 시간외가 증가했기 때문입니다.을 사용하다당신이 좋아하는 것을 사용하세요.그건 단지 개인적인 취향에 관한 문제일 뿐이에요.
개인적으로 저는 Camel Case를 클래스, mixed Case 메서드, 함수에 사용하려고 합니다.변수는 보통 밑줄로 구분됩니다(기억할 수 있을 때).이렇게 하면 모든 것이 똑같아 보이는 것이 아니라 내가 정확히 무엇을 부르고 있는지 한눈에 알 수 있습니다.
http://www.cs.kent.edu/ ~jmaletic/papers/ICPC2010-CamelCaseUnderScoreClouds.pdf 에 관한 문서가 있습니다.
TL;DR snake_case가 camelCase보다 읽기 쉽다고 합니다.그것이 현대 언어들이 뱀을 그들이 할 수 있는 모든 곳에 사용하는 이유입니다.
코딩 스타일은 보통 조직의 내부 정책/컨벤션 표준의 일부이지만, 일반적으로 python에서는 all_lower_case_underscore_separator 스타일(snake_case라고도 함)이 가장 일반적이라고 생각합니다.
저는 개인적으로 다른 프로그래밍 언어로 개발할 때 Java의 명명 규칙을 사용하고 있는데, 이는 일관성 있고 따르기 쉽기 때문입니다.이렇게 하면 프로젝트에서 가장 어려운 부분이 아닌 어떤 규약을 사용해야 할지 끊임없이 고민하지 않아도 됩니다.
레닌이 말했다...저도 자바/C#월드에서 왔어요.SQL도 마찬가지입니다.모든 것이 객체인 목록 사전의 목록과 같은 복잡한 구성의 첫눈에 이해할 수 있는 예를 찾기 위해 나를 면밀히 조사했다.저는 camel Case 또는 그 변종이 모든 언어에 표준이 되어야 합니다.복잡한 문장은 밑줄을 유지해야 한다.
수업 중인지 아닌지 여부:
변수와 함수는 다음과 같이 소문자입니다.
name = "John"
def display(name):
print("John")
두 단어 이상일 경우 다음과 같이 밑줄 "_"로 구분됩니다.
first_name = "John"
def display_first_name(first_name):
print(first_name)
변수가 상수인 경우 다음과 같이 대문자로 표시됩니다.
FIRST_NAME = "John"
일반적으로 언어의 표준 라이브러리에서 사용되는 규칙을 따릅니다.
언급URL : https://stackoverflow.com/questions/159720/what-is-the-naming-convention-in-python-for-variable-and-function
'itsource' 카테고리의 다른 글
file_put_module - 스트림을 열지 못했습니다.권한 거부 (0) | 2023.02.06 |
---|---|
비동기 작업을 수행하는 Redx 모달 대화 상자를 표시하려면 어떻게 해야 합니까? (0) | 2023.01.28 |
치명적인 오류: 클래스 'Iluminate'기초\응용 프로그램을 찾을 수 없습니다. (0) | 2023.01.28 |
mysql에서 증분 값 업데이트 (0) | 2023.01.28 |
MySQL: MySQL에서 플러시 권한이 필요한 경우 (0) | 2023.01.28 |