Lina's Toolbox

VScode 파이썬 익스텐션 추천, Vscode 단축키, 파이썬 파일 실행하기, 가상환경, 파이썬 코드 컨벤션, autopep8 formatter 설정 본문

스파르타 내일 배움 캠프 AI 웹개발 과정/python

VScode 파이썬 익스텐션 추천, Vscode 단축키, 파이썬 파일 실행하기, 가상환경, 파이썬 코드 컨벤션, autopep8 formatter 설정

Woolina 2024. 7. 8. 15:38
VScode 파이썬 익스텐션 추천

 

VScode에서 파이썬 코드 작성 시 유용한 확장 프로그램들.

 

[ 필수 ]

  • python / 파이썬 debug, 자동완성, 코드 서식 지정, 코드 탐색 등 파이썬 개발 환경에서 다양한 기능을 지원해주는 확장 프로그램입니다. 해당 확장 프로그램을 설치하면 python과 관련된 다른 확장 프로그램들 또한 자동으로 설치됩니다.

 

 

[optional]

  • 한국어 언어 팩 / vscode의 언어를 한글로 변경해줍니다.

 

 

  • Material Icon Theme / vscode 탐색기에서 보여지는 파일 아이콘을 더 예쁘게 만들어줍니다.

 

 

  • code runner / 단축키를 사용해 코드를 더 쉽고 빠르게 실행시켜 줍니다.

 


 

파이썬 파일 실행

 

 📌 한글로 파일 이름을 설정할 경우, 추후 특정 os에서 파일이 정상적으로 실행되지 않는 등의 문제가 발생할 수 있으므로, 폴더와 파일 이름은 최대한 영어로 네이밍 해야한다.

 

1. 좌측 상단의 탐색기(Explorer) → Open Folder 를 클릭한 후 생성한 폴더를 선택해줍니다.

2. 만약 폴더를 열 때 아래와 같은 창이 나올 경우 Trust ~ 체크박스를 체크 Yes, I trust the authors 버튼을 눌러주시면 됩니다.

   

  3. 탐색기 창을 우클릭 한 후 New File 버튼을 클릭하고 .py 확장자를 가진 파이썬 파일을 생성합니다.

 

 

4. hello world를 출력하는 코드를 작성한 후 Termial → New Terminal 버튼을 클릭해 터미널 창을 실행시킵니다.

 

 

5. 터미널을 실행시켜 주면 자동으로 vscode에서 선택 한 폴더 경로를 지정하여 터미널이 실행됩니다.

 

 

 

6. 실행 된 터미널에서 python main.py를 입력하면 작성 한 코드를 실행시킬 수 있습니다.

 

 

VS Code 단축키 모음

새로고침

  • F5

저장

  • Windows: Ctrl + S
  • macOS: command + S

전체선택

  • Windows: Ctrl + A
  • macOS: command + A

잘라내기

  • Windows: Ctrl + X
  • macOS: command + X

콘솔창 줄바꿈

  • shift + enter

코드정렬

  • Windows: Ctrl + Alt + L
  • macOS: option + command + L

들여쓰기

  • Tab
  • 들여쓰기 취소 : Shift + Tab

주석

  • Windows: Ctrl + /
  • macOS: command + /

 

가상환경

 

💡 파이썬에서는 pip라는 패키지 인스톨러를 사용해 패키지들을 설치하고 관리합니다.
기본적으로 pip를 사용해 설치하는 패키지들을 특정 프로젝트에 관계 없이 파이썬을 실행하는 모든 환경에 설치되게 됩니다.
만약 한 개의 프로젝트만 다룬다면 크게 문제되진 않지만, 2개 이상의 프로젝트를 개발하게 될 경우 버전 등의 호환성 문제가 발생할 수 있습니다.

이 때 python 가상 환경을 활용하면 각 프로젝트마다 독립적인 환경을 구성하여 호환성 문제를 최소화 시킬 수 있습니다.

 

 

가상 환경 구축하기

 

터미널에서 python -m venv venv 명령어를 통해 가상 환경을 구축할 수 있습니다. (venv는 virtual environment의 약자)

 

해당 명령어를 실행시키면 venv 라는 이름의 폴더가 생성되고 이후 가상 환경에서 설치하는 패키지들은 해당 폴더에 설치됩니다.

(이후로 pip install requests 하면, requests는 venv의 lib폴더 안에 생성됨)

 

 

 

가상 환경 활성화 하기

 

venv 폴더를 생성했다고 가상 환경에서 파이썬을 실행시킬 수 있는 것은 아니다.

가상 환경을 활성화 하기 위해서는, venv 폴더 내에 있는 activate 파일을 실행시켜야 한다.

아래 명령어를 통해 가상 환경을 활성화 해보자.

 

windows : venv\\Scripts\\activate

mac / linux : source venv/bin/activate

venv 폴더 안에 있는 Scrips 폴더 안에 있는 activate를 실행시킨다는 의미!

 

가상 환경이 활성화 되면 터미널 좌측에 (venv)가 추가된 것을 확인할 수 있다.

가상 환경에서 패키지를 설치하고 사용하기 위해서는, 좌측에 (venv)가 있는지 확인하여 가상 환경의 활성화 여부를 확인할 수 있다.

 

 

 

가상환경 비활성화 하고 싶은 경우

 

deactivate

위 명령어를 입력하면, 명령어 입력창 앞에 (venv)가 사라진 것을 볼 수 있다.

 

⛔️ 가상환경을 비활성화 할 경우, 가상환경을 실행하고 설치했던 requests 모듈(ex) 등은 사용하지 못하게 된다.

또한, 다시 가상환경을 활성화 해 주면 다시 사용할 수 있게 된다.

 


 

코드 컨벤션

 

프로그래밍 언어에는 각 언어에 맞는 코드 컨벤션이 존재한다.

 

코드 컨벤션이란?

개발을 하다 보면 내가 짠 코드가 1주일만 지나도 "과거의 나는 과연 무슨 생각으로 이런 코드를 짠 걸까.." 라는 생각이 들 때가 있습니다.

내가 짠 코드를 봐도 이런 생각이 드는데, 팀 프로젝트를 하며 다른 사람이 짠 코드를 볼 때는 어떨까요?

코드 컨벤션은 이러한 상황을 만들지 않게 하기 위해 스타일을 통일하자는 "약속"입니다.
파이썬에서는 PEP-8 이라는 컨벤션 가이드를 제공하고 있습니다.

파이썬 코드 컨벤션(PEP-8) : https://peps.python.org/pep-0008/

 

코드 컨벤션은 언어에 따라 요구하는 내용이 다르기 때문에, 내가 개발하는 언어에 맞는 컨벤션 스타일에 맞춰 코드를 작성할 필요가 있다.

 

Snake 표기법

파이썬 변수/ 함수 네이밍에 사용

각 단어를 언더바(_)로 구분한다. 모양이 뱀과 비슷하게 생겼다고 해서 지어진 이름

ex) python_is_good 

 

Pascal 표기법

파이썬 클래스 네이밍에 사용

각 단어를 대문자로 구별한다.

ex) PythonIsGood

 

Camel 표기법

파이썬에서는 사용하지 않음.

Pascal과 동일하지만, 첫 문자가 소문자로 시작한다. 모양이 쌍봉낙타와 비슷하게 생겼다고 해서 지어진 이름

ex) pythonIsGood

더보기

Camel 표현식은 첫 번째 문자가 소문자로 시작하는 Lower Camel Case와
첫 번째 문자가 대문자로 시작하는 Upper Camel Case가 존재합니다.

이 때문에 간혹 Pascal과 Camel 표현법의 용어가 혼동되기도 하는데,
Microsoft에서는 소문자로 시작하는 표현법만 Camel로, 대문자로 시작하는 것은
Pascal이라고 명시하고 있습니다. 

 

더 자세한 내용: https://en.wikipedia.org/wiki/Camel_case

 

🚨 대문자와 언더바(_)의 혼용은 ❌, 둘 중 하나만 사용

 

코딩 테스트, 깃허브에 올린 포트폴리오에 코드컨벤션을 안지키면 감점될 수 있음.

 

✅ 상수는 모두 대문자로 적는다.

ex) PIE = 3.14

 

✅ 클래스, 함수, 변수 등을 네이밍할 때는 이름만 보고 해당 코드가 어떤걸 의미하는 지 추측할 수 있어야 한다.

ex) numbers = [1,2,3,4]

number_list도 가능하지만 for number in numbers 반복문 사용 시 가독성을 늘릴 수 있다.

 

  함수 사이 개행은 2줄씩 해준다.

 

. . . 

 

 

 

실제 코드에 사용되는 네이밍 예시

# django rest framework의 serializer 코드 일부

class ModelSerializer(Serializer):
    def validate(self, attrs):
        """
        입력 된 데이터의 유효성을 검증하는 메소드입니다.

        Args:
            attrs : 검증할 데이터(attribute)입니다.
        """

    def create(self, validated_data):
        """
        유효성 검증(validate) 후 instance를 생성할 때 사용되는 메소드입니다.

        Args:
            validated_data : validate의 attrs에서 검증 된 데이터들이 담깁니다.
        """

    def update(self, instance, validated_data):
        """
        생성 된 instance를 수정할 때 사용되는 메소드입니다.

        Args:
            instance : 수정 할 대상입니다.
            validated_data : validate의 attrs에서 검증 된 데이터들이 담깁니다.
        """

 

 

 

pep8 패키지를 설치하고 자동으로 코드가 정렬되도록 설정하기

python에서는 pep8 코드 컨벤션에 맞게 내가 작성한 코드를 자동으로 서식을 맞춰주는 formatter가 존재한다.

 

1. vscode에서 formatter를 설정하기 위해, ctrl + , 단축키를 눌러 vscode 설정으로 진입합니다.

이후 설정에서 python formatting을 검색하고, Python > Formatting: Provider 설정을 찾아 autopep8로 설정해줍니다.

여기서 none을 설정해 줄 경우 formatter를 사용하지 않는 다는 것!

 

 

2. 이후 파일이 저장 될 때 자동으로 formatter를 실행시키기 위해, format on save를 검색 한 후 설정을 활성화 시켜줍니다. 해당 설정을 활성화 시키면 파일이 저장될 때 자동으로 formatter가 실행되며, 설정하지 않은 경우 수동으로 formatter를 실행시켜야 합니다.

 

 

3. 이후 파이썬 파일로 돌아간 후 저장버튼을 누르면 autopep8이 설치되지 않았다는 메세지가 나오며, Yes를 누르면 패키지가 자동으로 설치됩니다.