| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Class
- 프로그래머스
- WHERE절
- 정보처리기사실기
- 알고리즘
- 2주차
- 정보처리기사
- poetry
- sql
- channels
- vscode
- 채팅
- 백준
- re-id
- Commpot
- WebSocket
- REDIS
- 미니프로젝트
- resnet50
- 마스킹
- 1주차
- github
- 가상환경
- 파이썬
- 개발일지
- 프로젝트
- WIL
- js
- 장고
- Git
Archives
- Today
- Total
개발일기
#6 파이썬 심화 (가상환경, 코드 컨벤션, 변수 유효 범위) 본문
상식적으로 알고 있기~
1. 가상환경
- 파이썬 가상환경 장점: 각 프로젝트마다 독립적인 환경을 구성해 호환성 문제를 최소화시킨다.
1. 가상환경 구축하기
더보기
python -m venv venv
터미널에서 명령어를 통해 가상환경을 구축할 수 있다.
venv라는 이름의 폴더가 생성되고 이후 가상환경에서 설치하는 패키지들은 해당 폴더에 설치된다.
2. 가상환경 활성화하기 ... 이거 까먹지 말자..ㅎㅎㅎ
더보기
Windows: venv\scripts\activate
mac/linux: source venv/bin/activate
2. 코드 컨벤션 .. 지켜야하는 것! (파이썬 기준)
- 변수/함수는 스네이크 표기법 ex) number_list, python_is_very_good
- 클래스는 파스칼 표기법 ex) Class, Pascal, PythonIsVeryGood
- PIE = 3.14 : 상수를 표현할 때는 예외적으로 모든 문자를 대문자로 표현
- numbers = [1,2,3,4] : 리스트를 표기할 떄는 복수로 표현하거나 number_list로 표현한다.
- 문법이 틀리지 않아도 코드컨벤션이 틀리면 아주 큰 감점!
- 파이썬에서는 Hello_World라는 변수명은 존재하지 않는다.
3. 변수 유효 범위 (지역변수, 전역변수)
: 변수가 선언된 위치나 키워드에 따라 변수를 사용할 수 있는 범위가 달라진다. 이를 변수유효범위라 부른다.
- 지역변수: 함수 내부에서 선언, 다른 함수에 영향 없음
- 전역변수: 함수 밖에서 선언, 어디서든 접근
number = 10
# 전역 변수인 10을 출력하고 지역 변수로 다시 선언하는 코드 작성
def func():
print(number) #변수를 선언하기 전에 출력을 했으므로 에러
number = 5
# 실행시켜 보면 에러가 발생한다.
func()
"""
Traceback (most recent call last):
File "sample.py", line 7, in <module>
func()
File "sample.py", line 4, in func
print(number)
UnboundLocalError: local variable 'number' referenced before assignment
"""
주의할 점 1. 함수 내부에서 전역 변수와 동일한 이름으로 지역변수를 할당하면, 함수에서는 해당 변수를 지역변수로 간주한다.
더보기
위 코드의 순서를 바꿔주면 에러는 발생하지 않는다..
number = 5
print(number)
이때는 지역변수를 출력하는 것
number = 10
def func():
global number # 함수에서 number 변수를 다시 할당할 수 있도록 해줍니다.
number = 5 # global 키워드를 사용했기 때문에 전역 변수의 값이 변경됩니다.
func()
print(number) # 5
global을 이용해 전역변수로 할당할 수 있음!
주의할 점 2. 전역변수를 남용하는 것은 권장하지 않는다.
코드가 길어질수록 전역 변수로 선언된 값은 어디서 값이 변했는지 추적하기 어렵고,
문제가 생겼을 때 디버깅을 하기 어려워진다.
따라서 PIE = 3.14 같은 전역 상수를 선언하는 것을 제외하면 전역변수는 사용하지 않는 게 좋은 코드를 만드는 방법..!
대신 return을 사용하길 권장한다.
느낀 점)
- 코드컨벤션이 정말 중요하다는 걸 알았다.
- 변수명이나 클래스명 그동안은 그냥 맘대로 지었는데.. 이젠 신경쓰도록 해야겠다.
- 그동안 썼던 변수명이나 함수.. 클래스.. 제대로 썼는지, 코드컨벤션에 어긋나는지 한 번 살펴보아야겠다.
'오늘의 공부일기 > 파이썬 공부일기' 카테고리의 다른 글
| #8 파이썬 연습 (클래스를 활용하여 게임 만들기) (0) | 2023.03.24 |
|---|---|
| #7 파이썬 연습 (모듈 및 패턴) (0) | 2023.03.23 |
| #5 파이썬 연습 (map, filter, lamda, class) (0) | 2023.03.21 |
| #4 파이썬 연습 (예외처리, 파일 불러오기, 한 줄의 마법) (0) | 2023.03.21 |
| #3 파이썬 연습 (튜플, 집합, f-string) (0) | 2023.03.21 |