파이썬 튜토리얼
변수 변수란 무엇인가? 변수의 생성 참고 자료 https://docs.python.org/ko/3/tutorial/index.html https://realpython.com/python-variables/ https://roadmap.sh/python https://www.w3schools.com/python/default.asp
idocleancode.tistory.com
1. 변수명의 중요성이해
- 코드의 가독성 향상
의미 있는 변수명을 사용하면 코드를 읽는 사람이 해당 변수가 어떤 정보를 담고 있는지 쉽게 이해할 수 있습니다. - 버그 예방
변수명을 명확하게 지으면, 변수의 용도를 잘못 이해하거나, 의도하지 않은 변수를 사용하는 실수를 줄일 수 있습니다. 잠재적인 버그를 예방하는데 도움됩니다. - 문서화의 일부
좋은 변수명은 코드 자체의 문서화 역할을 합니다. 따라서 별도의 문서없이도 코드를 이해하는 데 도움됩니다. - 팀 작업의 원활성
여러 사람이 함께 작업할 때, 일관된 변수명 규칙을 따르면 팀원들이 서로 코드를 이해하고 수정하는데 더 쉽습니다.
예제: 의미없는 변수명 사용
<python />
def calc(a, b, c):
d = a * 24
e = b * 60
f = d + e + c
return f
calc함수는 어떤 계산을 하는지 변수명만으로 알 수 없습니다. a, b, c, d, e, f라는 변수명은 어떤 값을 의미하는지 전혀 알 수 없으므로, 코드를 처음 본사람 이해하기 어럽습니다.
예제: 의미 있는 변수사용
<python />
def calculate_area(width, height):
area = width * height
return area
위에 코드에 각각 변수명에 통해서 함수가 넓이를 계산하는 것을 쉽게 이해할 수 있습니다.
2. 변수명의 규칙
- 사용 가능한 문자 종류
파이썬의 변수명은 알파벳문자(대소문자), 숫자, 그리고 언더스코어(_)를 사용할 수 있습니다.
<python /># 알파벳 대문자 사용 MyVariable = 10 print(MyVariable) # 출력: 10 # 알파벳 소문자 사용 myvariable = 20 print(myvariable) # 출력: 20 # 숫자 사용 variable1 = 30 print(variable1) # 출력: 30 # 언더스코어(_) 사용 my_variable = 40 print(my_variable) # 출력: 40
- 시작하는 문자에 대한 규칙
변수명은 숫자로 시작할 수 없습니다. 알파벳이나 언더스코어로 시작해야합니다.
<python /># 올바른 변수명 user_name = "John" counter_1 = 0 # 잘못된 변수명 (숫자로 시작) 1_number = 123 # SyntaxError: invalid syntax # 잘못된 변수명 (띄어쓰기) user name = "Jane" # SyntaxError: invalid syntax # 잘못된 변수명 (특수문자로 시작) $price = 50 # SyntaxError: invalid syntax
- 대소문자 구분 규칙
파이썬은 대소문자를 구분합니다. 따라서 같은 철자라도 대문자와 소문자는 서로 다른 변수로 취급합니다.
<python /># 올바른 변수명 myVariable = 42 another_variable = "Hello, World!" # 변수명은 대소문자를 구분하므로 다른 변수로 인식됨 MyVariable = 100 # 변수명이 서로 다르게 인식됨 print(myVariable) # 42 print(MyVariable) # 100 # 함수명도 대소문자를 구분함 def greet(): print("Hello!") def Greet(): print("Hi!") # 함수명이 서로 다르게 인식됨 greet() # Hello! Greet() # Hi!
- 특수문자와 숫자 사용규칙
특수문자는 언더스코어만 사용가능하며, 변수명에 숫자를 사용할 수 있지만, 숫자로 시작할 수 는 없습니다.
<python /># 언더스코어는 사용 가능한 특수문자 special_character_variable = "Allowed" # 특수문자를 제외한 다른 특수문자는 사용 불가능 special@character = "Not Allowed" # SyntaxError: can't assign to operator # 숫자는 변수명에 사용 가능하지만, 숫자로 시작하는 변수명은 사용 불가능 number_variable = 42 1number = 123 # SyntaxError: invalid syntax # 변수명에서 언더스코어(_)와 숫자를 함께 사용 가능 variable_with_number = "Combined_123" # 숫자로 시작하는 변수명은 사용 불가능 123variable = "Not Allowed" # SyntaxError: invalid syntax
3. 예약어와의 총돌방지
- 예약어란?
예약어는 프로그래밍 언어에서 이미 특정한 목적으로 사용되고 잇는 단어를 의미합니다. - 예약어 총돌방지
예약어를 변수명으로 사용하려고 하면, 파이썬 인터프리터는 이를 오류로 처리하며, 이를 통해 예약어와의 총돌을 방지 합니다.<python />for = 10 # 에러: invalid syntax
- 예약어 확인
콘솔/터미널에서 파이썬을 실행한후 help("keywords")입력면 예약어를 확인할수 있습니다예약어 확인
4. 변수명의 선택
- 명확성
변수명은 변수가 담고 있는 데이터의 내용을 명확하게 표현해야합니다.
<python /># 좋은 예 user_name = "홍길동" user_age = 30 # 나쁜 예 u = "홍길동" a = 30
- 간결성
너무 긴 변수명은 코드를 읽는 데 방해가 될 수 있으므로, 가능한 간결하게 유지하는 것이 좋습니다. 하지만, 너무 짧아서 의미를 파악하기 어려운 변수명보다는 약간 길더라도 명확한의미를 전달하는 변수명이 더 좋습니다.
<python /># 좋은 예 employee_count = 10 # 나쁜 예 number_of_employees_in_the_company = 10 ec = 10
- 일관성
같은 종류의 변수에 대해 일관된 명명 규칙을 사용하는 것이 중요합니다.
<python /># 좋은 예 student1_name = "홍길동" student1_score = 85 student2_name = "이순신" student2_score = 90 # 나쁜 예 student_name1 = "홍길동" score_student1 = 85 name_student2 = "이순신" student2_score = 90
5. 변수명의 길이
- 25자 이내
변수명의 길이는 1-2단어를 사용하여 간결하게 유지하는게 좋고, 복잡한 로직은 좀더 길게 만들어 그 역할을 명확하게 설명하는게 유용합니다 일반적으로 25자 이내 제한하는게 좋습니다. 이러한 지침은 단지 참고용이지, 실제 코딩시에는 프로젝트의 요구사항과 개발 팀의 규칙에 따라 선택하는 것이 좋습니다.
<python /># 좋은 예 employee_count = 10 product_price = 5000 # 나쁜 예 the_total_number_of_employees_in_the_company = 10 # 너무 긴 변수명 pp = 5000 # 너무 짧은 변수명
6. 네이밍 컨벤션
네이밍 컨벤션은(Naming Convention)은 프로그래밍에서 변수, 함수, 클래스 등의 이름을 지을 때 지켜야하는 규칙이나 가이드라인을 말합니다. 파이썬에서 변수명을 지을 때 주로 사용하는 케멜 케이스(Camel Case), 스네이크 케이스(Snake Case), 파스칼 케이스(Pascal Case) 등이 있습니다.
- 카멜 케이스
첫 번 째 단어를 제외하고 각 단어의 첫 글자를 대문자로 표기하는 방식입니다.
<python />myVariable = "Hello" anotherVariable = 42 sampleCamelCase = [1, 2, 3] totalItemCount = 10 userProfileData = {"username": "John", "age": 25}
- 스네이크 케이스
각 단어를 언더스코어로 연결하고 모든 글자를 소문자로 표기하는 방식입니다.
<python />my_variable = "Hello" another_variable = 42 sample_snake_case = [1, 2, 3] total_item_count = 10 user_profile_data = {"username": "John", "age": 25}
- 파스칼 케이스
각 단어의 첫 글자를 대문자로 표기하는 방식입니다. 보통 클래스명을 지을때 사용합니다.
<python />MyVariable = "Hello" AnotherVariable = 42 SamplePascalCase = [1, 2, 3] TotalItemCount = 10 UserProfileData = {"username": "John", "age": 25}
7. 변수명을 통한 가독성 향상
- 의미전달
변수가 어떤 데이터를 나타내는지 쉽게 이해할 수 있도록 이름을 지어야합니다.
<python /># 나쁜 예 a = 42 # 좋은 예 total_score = 42
- 스네이크 케이스 사용
파이썬에서는 주로 스네이크 케이스를 사용합니다
<python /># 나쁜 예 totalScore = 42 # 좋은 예 total_score = 42
- 명확한 컨텍스 제공
변수명은 해당 변수의 사용되는 컨텍스(문맥)를 고려하여 명명되어야합니다.
<python /># 나쁜 예 def calculate(a, b): return a + b # 좋은 예 def calculate_sum(first_number, second_number): return first_number + second_number # 나쁜 예 for i in range(5): print(i) # 좋은 예 for index in range(5): print(index)
추천 자료
참고 자료
https://www.geeksforgeeks.org/python-programming-language/?ref=shm
https://docs.python.org/ko/3/tutorial/index.html
https://roadmap.sh/python
https://www.w3schools.com/python/default.asp