파이썬 pip 설명 및 사용법

1. pip 이란 무엇인가?

pip는 Package Installer for Python의 약자로, 파이썬 패키지를 설치하고 관리하는 도구입니다. 파이썬은 다양한 기능을 제공하기 위해 많은 라이브러리(패키지)들을 사용하는데, pip를 사용하면 이러한 라이브러리들을 쉽게 설치하고 업데이트, 삭제할 수 있습니다.

쉽게 말해, pip는 파이썬 프로그램에 필요한 부품들을 가져다 설치해주는 도구라고 생각하면 됩니다.

2. pip 설치 확인 및 업데이트

대부분의 파이썬 설치본에는 pip가 기본적으로 포함되어 있습니다. pip가 설치되어 있는지 확인하려면 터미널 또는 명령 프롬프트에서 다음 명령어를 입력합니다.

pip --version
Use code with caution.Bash

pip가 설치되어 있지 않다면, 파이썬을 다시 설치하거나 다음 명령어를 사용하여 설치할 수 있습니다.

python -m ensurepip --default-pip
Use code with caution.Bash

pip를 최신 버전으로 업데이트하려면 다음 명령어를 사용합니다.

python -m pip install --upgrade pip
Use code with caution.Bash

3. pip 인스톨 방법

pip를 사용하여 패키지를 설치하는 방법은 매우 간단합니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 입력합니다.

pip install <패키지_이름>
Use code with caution.Bash

예를 들어, requests라는 패키지를 설치하려면 다음과 같이 입력합니다.

pip install requests
Use code with caution.Bash

4. pip 종류 및 주요 명령어

  • pip install <패키지_이름>: 패키지 설치
  • pip uninstall <패키지_이름>: 패키지 삭제
  • pip list: 설치된 패키지 목록 확인
  • pip show <패키지_이름>: 패키지 정보 확인 (버전, 위치 등)
  • pip freeze: 현재 환경에 설치된 패키지 목록을 requirements.txt 파일로 저장 (프로젝트 공유 시 유용)
  • pip install -r requirements.txt: requirements.txt 파일에 명시된 패키지들을 일괄 설치
  • pip install <패키지_이름>==<버전>: 특정 버전의 패키지 설치 (예: pip install requests==2.25.1)
  • pip install -U <패키지_이름>: 패키지 업데이트

5. 추가 정보

  • 가상 환경 (Virtual Environment): 프로젝트별로 독립적인 패키지 환경을 만들 수 있습니다. 이를 통해 패키지 충돌을 방지하고 프로젝트 관리를 용이하게 할 수 있습니다. venv 모듈을 사용하여 가상 환경을 만들 수 있습니다.
  • requirements.txt 파일: 프로젝트에 필요한 패키지 목록을 저장하는 파일입니다. 다른 사람과 프로젝트를 공유하거나, 다른 환경에서 프로젝트를 실행할 때 유용합니다
반응형
LIST

generate_code_block.exe 실행화면
generate_code_block.exe
8.11MB

 

소스 코트 붙여 넣기 시에 화면 깨짐 현상

 

파이썬 코드 HTML로 쉽게 변환하기: 블로그 포스트 제작 위한 무료  배포 프로그램

 

html 화면에서 소스 코드를 붙여 넣으면 위에 그림 처럼 화면 깨짐 현상을 해결하기 위해 자체 제작 프롬그램을 무료배포 하겠습니다. 

 

이 프로그램을 사용하면 소스 코드가 아래 그림처럼 원본 그대로 깔끔하게 보여 집니다.

프로그램 사용시 원본 소스가 유지됨

 

이 프로그램은 파이썬으로 제작 되었습니다. 오류 사항을 보고 하여주시면 감사하겠습니다.

마음껏 사용하시길 바랍니다.

이 코드는 오픈소스로 제작하였으나 제가 알지 못하는 라이센스가 적용되어 있을 수 있습니다.

 

커다란 기업의 압력을 받기 싫으시다면 무단 배포는 삼가하여 주십시오.

반응형
LIST

AI 생성이미지 프롬프트 제조(?)를 돕기 위해서 개인 제작 프로그램을 무료 배포 하겠습니다.

파이썬으로 제작하였으며 본래 이 프로그램을 사용 하려면 파이썬이 설치 되어있어야 하는데

초보자를 위하여 즉시 실행 되도록 만들었습니다. 혹시 안되시는 분들은 오류사항 문의 부탁드립니다.

 

prompt_generator.exe
8.09MB
자체제작 Prompt generator.exe

 

왼쪽에서 슬라이드 메뉴로 선택하시고 혹시 원하는 속성에 메뉴가 없으시면 오른쪽에다가 직접 입력하시면 됩니다.

그리고 Generate Prompt를 누르시면 아래 빈칸에 프롬프트가 완성 됩니다.

 

혹시 파이썬 버전을 설치 하시려면 3.10.6 버전 입니다. 

 

생성된 프롬프트는 Midjourney, Stable Diffusion, and DALL-E 2 에서 최적합하고 대부분에 AI 모델에서 적용 가능하실꺼라 생각 됩니다. 우선은 스테이블 디퓨전 기준 입니다.

 

각 속성에는 20개의 속성을 배치 해놨습니다. 로또 확률 보다도 많은 조합이니 충분히 유용하리라 생각됩니다.

업그레이드가 필요하시면 요청해 주십시오.

 

많이 사용해주시고 오류 사항 보고 부탁드립니다.

반응형
LIST

2025.03.14 - [파이썬 프로그래밍] - 3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

 

3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

텍스트 에디터 : 비주얼 스튜디오 코드 현업에서 많이 사용하는 여러 텍스트 에디터 중에서 일반적으로 많이 사용하는 텍스트 에디터 중에 비주얼 스튜디오 코드 라는 프로그램을 설치해 보

suncommq.tistory.com

 

네이버 블로그,티스토리, 워드프레서 등에서 iframe을 쉽게 삽입할 수 있도록 간단한 프로그램을 제작했습니다.

파이썬으로 제작하였으며 마음껏 사용하셔도 상관없습니다.

iframe_inserter2_0.z01
19.53MB
iframe_inserter2_0.zip
3.56MB
iframe inserter 2.0

 

※사용방법※

URL: 이 부분에 iframe에 뿌려줄 다른 url 주소를 적습니다.

width: iframe의 가로 크기 입니다.

Height: iframe의 세로 크기 입니다.

블로그 플랫폼: iframe 적용 양식을 선택합니다. 거의 동일 합니다. 

 

사용 예시

 

1.iframe에 보여줄 다른 url 주소를 가져옵니다.

 

iframe에 보여줄 다른 url 주소를 가져옵니다.
iframe에 보여줄 다른 url 주소를 가져옵니다.

 

2. iframe 크기를 입력합니다. width, height

 

3. 블로그 플랫폼을 선택합니다.

 

4. iframe 코드 생성을 클릭 합니다.

 

5. 블로그 글쓰기 화면에 들어가서 작성모드를  html로 선택합니다.

 

6. iframe을 삽입하고자 하는 코드 위치에 ctrl + v 붙여 넣기 합니다.

 

iframe을 삽입하고자 하는 코드 위치에 ctrl + v 붙여 넣기 합니다.

 

iframe 적용 화면

 

귀찮은 코드 입력 없이 iframe을 쉽게 삽입할 수 있습니다.

 

프로그램을 더 업그레이드 하길 원하시면 구독과 댓글 요청을 해 주세요.

감사합니다.

반응형
LIST

2025.03.14 - [파이썬 프로그래밍] - 3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

 

3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

텍스트 에디터 : 비주얼 스튜디오 코드 현업에서 많이 사용하는 여러 텍스트 에디터 중에서 일반적으로 많이 사용하는 텍스트 에디터 중에 비주얼 스튜디오 코드 라는 프로그램을 설치해 보

suncommq.tistory.com

 

파이썬과 Visual Studio Code(VS Code)를 연동하고, 모듈을 사용하며, GitHub Copilot을 활용하여 예제를 학습하는 방법을 단계별로 자세히 설명하겠습니다. 이 조합은 파이썬 학습 효율을 극대화할 수 있는 강력한 도구입니다.

1. 파이썬 & VS Code 연동 설정

  • 파이썬 설치: 아직 파이썬이 설치되어 있지 않다면, https://www.python.org/downloads/ 에서 최신 버전을 다운로드하여 설치합니다. 설치 시 "Add Python to PATH" 옵션을 반드시 선택해야 합니다.
  • VS Code 설치: https://code.visualstudio.com/ 에서 VS Code를 다운로드하여 설치합니다.
  • Python 확장 설치: VS Code를 실행하고, 확장(Extensions) 탭(Ctrl+Shift+X)에서 "Python"을 검색하여 Microsoft에서 제공하는 Python 확장을 설치합니다. 이 확장은 파이썬 개발에 필요한 다양한 기능을 제공합니다.
  • 파이썬 인터프리터 선택: VS Code 하단의 상태 표시줄에서 파이썬 인터프리터를 선택합니다. 설치된 파이썬 버전을 선택하거나, 가상 환경을 설정하여 사용할 수 있습니다. (가상 환경 설정은 아래 '모듈 활용' 섹션에서 설명합니다.)

2. GitHub Copilot 설치 및 설정

  • GitHub Copilot 구독: GitHub Copilot은 유료 서비스입니다. https://github.com/features/copilot 에서 구독합니다.
  • VS Code에 Copilot 설치: VS Code 확장 탭에서 "GitHub Copilot"을 검색하여 설치합니다.
  • GitHub 계정 연결: VS Code에서 GitHub Copilot을 사용하려면 GitHub 계정에 로그인해야 합니다. VS Code에서 Copilot을 처음 실행하면 GitHub 계정으로 로그인하라는 메시지가 표시됩니다.

3. 모듈 활용 및 가상 환경 설정 (필수)

  • 모듈이란? 모듈은 파이썬 코드를 담고 있는 파일입니다. 다른 파이썬 프로그램에서 모듈의 코드를 재사용할 수 있습니다.
  • 가상 환경이란? 가상 환경은 프로젝트별로 독립적인 파이썬 환경을 만들어줍니다. 이를 통해 프로젝트 간의 모듈 버전 충돌을 방지할 수 있습니다.
  • 가상 환경 설정 방법:
    1. VS Code 터미널(Ctrl+`)을 엽니다.
    2. 프로젝트 폴더로 이동합니다.
    3. python -m venv .venv 명령어를 실행하여 가상 환경을 생성합니다. (.venv는 가상 환경 폴더 이름입니다.)
    4. source .venv/bin/activate (Linux/macOS) 또는 .venv\Scripts\activate (Windows) 명령어를 실행하여 가상 환경을 활성화합니다.
    5. VS Code 하단의 상태 표시줄에서 활성화된 가상 환경이 선택되었는지 확인합니다.
  • 모듈 설치: 가상 환경이 활성화된 상태에서 pip install <모듈 이름> 명령어를 사용하여 필요한 모듈을 설치합니다. 예를 들어, pip install requests는 requests 모듈을 설치합니다.

4. Copilot 활용 예제 학습

이제 Copilot을 활용하여 파이썬 예제를 학습하는 방법을 살펴보겠습니다.

  • 예제 1: requests 모듈을 사용하여 웹 페이지 내용 가져오기
    1. 새로운 파이썬 파일(예: web_scraper.py)을 생성합니다.
    2. 다음과 같이 코드를 입력합니다.
      import requests

# 웹 페이지 URL
url = "https://www.example.com"

# 웹 페이지 내용 가져오기
response = requests.get(url)

# 상태 코드 확인
if response.status_code == 200:
    # 내용 출력
    print(response.text)
else:
    print("오류 발생:", response.status_code)
    
    1. import requests를 입력하고 잠시 기다리면 Copilot이 자동으로 requests 모듈을 사용하는 코드 스니펫을 제안합니다. Tab 키를 눌러 제안을 수락합니다.
    2. # 웹 페이지 내용 가져오기 주석을 입력하고 잠시 기다리면 Copilot이 requests.get(url) 코드를 제안합니다.
    3. # 상태 코드 확인 주석을 입력하고 잠시 기다리면 Copilot이 if response.status_code == 200: 코드를 제안합니다.
    4. Copilot의 제안을 수락하고 코드를 완성합니다.
    5. 코드를 실행하고 결과를 확인합니다.
  • 예제 2: pandas 모듈을 사용하여 CSV 파일 읽고 분석하기
    1. 새로운 파이썬 파일(예: data_analysis.py)을 생성합니다.
    2. 다음과 같이 코드를 입력합니다.
      import pandas as pd

# CSV 파일 읽기
df = pd.read_csv("data.csv")

# 데이터 프레임 정보 출력
print(df.info())

# 처음 5개 행 출력
print(df.head())

# 특정 열의 평균값 계산
print(df["column_name"].mean())
    
    1. import pandas as pd를 입력하고 잠시 기다리면 Copilot이 pandas 모듈을 사용하는 코드 스니펫을 제안합니다.
    2. # CSV 파일 읽기 주석을 입력하고 잠시 기다리면 Copilot이 pd.read_csv("data.csv") 코드를 제안합니다.
    3. # 데이터 프레임 정보 출력 주석을 입력하고 잠시 기다리면 Copilot이 print(df.info()) 코드를 제안합니다.
    4. Copilot의 제안을 수락하고 코드를 완성합니다.
    5. data.csv 파일을 준비하고 코드를 실행하여 결과를 확인합니다.

5. Copilot 활용 팁

  • 명확한 주석 작성: Copilot은 주석을 기반으로 코드를 제안합니다. 명확하고 구체적인 주석을 작성하면 Copilot이 더 정확한 코드를 제안할 수 있습니다.
  • 코드 컨텍스트 유지: Copilot은 현재 코드 컨텍스트를 고려하여 코드를 제안합니다. 코드 컨텍스트를 유지하면서 코드를 작성하면 Copilot이 더 유용한 코드를 제안할 수 있습니다.
  • 제안 검토 및 수정: Copilot이 제안하는 코드는 항상 완벽하지 않을 수 있습니다. 제안된 코드를 주의 깊게 검토하고 필요에 따라 수정해야 합니다.
  • 다양한 예제 학습: 다양한 예제를 학습하면서 Copilot의 활용 능력을 향상시킬 수 있습니다.

2025.03.15 - [분류 전체보기] - 파이썬 주요 모듈(module) 상세 설명

 

파이썬 주요 모듈(module) 상세 설명

파이썬은 방대한 표준 라이브러리와 수많은 외부 모듈을 제공하여 다양한 작업을 수행할 수 있습니다. 여기서는 자주 사용되는 주요 모듈들을 하나씩 자세히 설명하겠습니다. 각 모듈에 대한

suncommq.tistory.com

 

반응형
LIST

2025.03.15 - [파이썬 프로그래밍] - 4.파이썬 자료와 자료 처리: Visual Studio Code 활용을 위한 기초

 

4.파이썬 자료와 자료 처리: Visual Studio Code 활용을 위한 기초

2025.03.14 - [파이썬 프로그래밍] - 3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기 3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드

suncommq.tistory.com

 

앞선 설명에 이어, 파이썬의 자료와 자료 처리에 대한 더욱 자세한 설명과 해설, 그리고 VS Code 활용법을 심층적으로 다루겠습니다.

1. 자료형의 중요성: 왜 자료형을 알아야 할까요?

자료형은 단순히 자료의 종류를 구분하는 것 이상으로 중요합니다.

  • 메모리 효율성: 각 자료형은 컴퓨터 메모리에서 차지하는 공간이 다릅니다. 적절한 자료형을 사용하면 메모리 사용량을 줄여 프로그램의 성능을 향상시킬 수 있습니다.
  • 정확한 연산: 자료형에 따라 사용할 수 있는 연산이 다릅니다. 예를 들어, 문자열에 숫자를 더하려고 하면 오류가 발생합니다.
  • 오류 방지: 자료형을 명확히 이해하면 프로그램 실행 중 발생할 수 있는 오류를 예방할 수 있습니다.
  • 코드 가독성: 자료형을 명시적으로 사용하면 코드의 가독성을 높여 다른 사람이 코드를 이해하기 쉽게 만들 수 있습니다.

2. 기본 자료형 심층 분석

2.1. 숫자형 (int, float)

  • 정수 (int): 소수점이 없는 숫자를 나타냅니다. 파이썬 3부터는 정수형의 크기 제한이 없어졌습니다.
    • 연산: 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%), 몫(//), 거듭제곱(**) 등
    • 예시:
            a = 10
      b = -5
      print(a + b)  # 5
      print(a / b)  # -2.0 (나눗셈 결과는 항상 float)
          
  • 실수 (float): 소수점이 있는 숫자를 나타냅니다. 부동소수점 방식으로 표현되기 때문에 정확한 값을 표현하는 데 한계가 있을 수 있습니다.
    • 연산: 정수형과 동일한 연산 가능
    • 예시:
      pi = 3.14159
radius = 5.0
area = pi * radius * radius
print(area)  # 78.53975
    

2.2. 문자열 (str)

  • 문자들의 나열을 나타냅니다. 작은따옴표('') 또는 큰따옴표("")로 묶어서 표현합니다.
  • 연산: 문자열 연결(+), 문자열 반복(*), 인덱싱([]), 슬라이싱([:]) 등
  • 메서드: 문자열을 조작하기 위한 다양한 메서드를 제공합니다. (예: upper(), lower(), strip(), split(), replace())
  • 예시:
      greeting = "Hello, world!"
print(greeting[0])  # H (첫 번째 문자)
print(greeting[7:12])  # world (7번째부터 12번째 문자까지)
print(greeting.upper())  # HELLO, WORLD!
    

 

2.3. 불리언 (bool)

  • 참(True) 또는 거짓(False) 값을 나타냅니다.
  • 연산: 논리 연산 (and, or, not)
  • 활용: 조건문, 반복문 등에서 조건식을 평가하는 데 사용됩니다.
  • 예시:
      is_valid = True
is_empty = False
print(is_valid and is_empty)  # False
print(not is_valid)  # False
    

3. 복합 자료형 심층 분석

3.1. 리스트 (list)

  • 여러 개의 자료를 순서대로 저장하는 자료형입니다.
  • 특징:
    • 변경 가능 (mutable)
    • 순서가 있음 (ordered)
    • 중복된 값을 허용
  • 메서드: append(), insert(), remove(), pop(), sort(), reverse()
  • 예시:
      fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits)  # ['apple', 'banana', 'cherry', 'orange']
    

3.2. 튜플 (tuple)

  • 리스트와 비슷하지만, 변경할 수 없는 자료형입니다.
  • 특징:
    • 변경 불가능 (immutable)
    • 순서가 있음 (ordered)
    • 중복된 값을 허용
  • 활용: 자료의 변경을 방지해야 할 때 사용합니다.
  • 예시:
      coordinates = (10, 20)
# coordinates[0] = 30  # TypeError: 'tuple' object does not support item assignment
    

3.3. 딕셔너리 (dict)

  • 키(key)와 값(value)의 쌍으로 이루어진 자료형입니다.
  • 특징:
    • 변경 가능 (mutable)
    • 순서가 없음 (unordered)
    • 키는 중복될 수 없지만, 값은 중복될 수 있음
  • 메서드: get(), keys(), values(), items(), update()
  • 예시:
      person = {"name": "Alice", "age": 30}
print(person["name"])  # Alice
person["city"] = "New York"
print(person)  # {'name': 'Alice', 'age': 30, 'city': 'New York'}
    

4. VS Code 활용 심화

  • IntelliSense: VS Code의 IntelliSense 기능은 자료형에 따라 자동 완성, 오류 검사, 코드 제안 등을 제공하여 개발 생산성을 높여줍니다.
  • 디버깅: VS Code의 디버깅 기능을 사용하면 변수의 값과 자료형을 실시간으로 확인하고, 코드 실행 과정을 추적할 수 있습니다.
  • 확장 기능:
    • Python: 공식 파이썬 확장 기능은 린팅, 포매팅, 디버깅 등 다양한 기능을 제공합니다.
    • Pylance: Microsoft에서 개발한 Pylance 확장 기능은 더욱 강력한 IntelliSense 기능을 제공합니다.
  • Jupyter Notebook: VS Code에서 Jupyter Notebook을 사용할 수 있습니다. Jupyter Notebook은 코드, 텍스트, 이미지 등을 함께 작성하고 실행할 수 있는 대화형 환경을 제공합니다.

5. 자료형 변환

  • int(): 문자열이나 실수를 정수로 변환합니다.
  • float(): 문자열이나 정수를 실수로 변환합니다.
  • str(): 숫자나 불리언을 문자열로 변환합니다.
  • list(): 튜플이나 문자열을 리스트로 변환합니다.
  • tuple(): 리스트를 튜플로 변환합니다.
  • dict(): 키-값 쌍의 리스트나 튜플을 딕셔너리로 변환합니다.

예시:

      num_str = "10"
num_int = int(num_str)  # 문자열 "10"을 정수 10으로 변환
print(type(num_int))  # <class 'int'>
    

 

반응형
LIST

2025.03.14 - [파이썬 프로그래밍] - 3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

 

3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

텍스트 에디터 : 비주얼 스튜디오 코드 현업에서 많이 사용하는 여러 텍스트 에디터 중에서 일반적으로 많이 사용하는 텍스트 에디터 중에 비주얼 스튜디오 코드 라는 프로그램을 설치해 보

suncommq.tistory.com

 

1. 자료란 무엇일까요?

컴퓨터 프로그램에서 '자료'는 프로그램이 다루는 모든 것을 의미합니다. 숫자, 글자, 이미지, 소리 등 다양한 형태가 있을 수 있습니다. 파이썬에서는 이러한 자료를 저장하고 관리하기 위해 '자료형'이라는 개념을 사용합니다. 자료형은 자료의 종류를 나타내며, 각 자료형에 따라 저장 방식과 사용할 수 있는 연산이 달라집니다.

예시:

  • 숫자: 10, 3.14, -5
  • 글자: "Hello", "Python", "123"
  • 참/거짓: True, False

2. 자료를 처리하는 방법

파이썬에서는 다양한 방법으로 자료를 처리할 수 있습니다.

  • 변수: 자료를 저장하는 공간입니다. 변수에 이름을 부여하고, 자료를 할당하여 사용할 수 있습니다.
x = 10  # x라는 변수에 숫자 10을 할당
name = "Alice"  # name이라는 변수에 문자열 "Alice"를 할당

 

변수는 x, name

 

  • 연산자: 자료를 가지고 계산, 비교, 논리 연산 등을 수행하는 기호입니다.
a = 5
b = 3
print(a + b)  # 덧셈 연산
print(a > b)  # 비교 연산

 

 

연산자는 +,-,×,÷,<,>,=

  • 함수: 특정 작업을 수행하는 코드 블록입니다. 자료를 입력받아 처리하고 결과를 반환할 수 있습니다.
def add(x, y):
	return x + y

result = add(5, 3)  # add 함수 호출
print(result)

 

3. 가장 일반적으로 쓰이는 자료형

파이썬에서 가장 많이 사용되는 자료형은 다음과 같습니다.

자료형 설명 예시
정수 (int) 소수점이 없는 숫자 10, -5, 0
실수 (float) 소수점이 있는 숫자 3.14, -2.5, 0.0
문자열 (str) 글자들의 나열 "Hello", "Python", "123"
불리언 (bool) 참(True) 또는 거짓(False) 값 True, False
리스트 (list) 여러 개의 자료를 순서대로 저장하는 자료형 [1, 2, 3], ["apple", "banana", "cherry"]
튜플 (tuple) 리스트와 비슷하지만, 변경할 수 없는 자료형 (1, 2, 3), ("apple", "banana", "cherry")
딕셔너리 (dict) 키(key)와 값(value)의 쌍으로 이루어진 자료형 {"name": "Alice", "age": 30}

 

각 자료형에 대한 추가 설명 및 예제:

  • 정수 (int): 소수점이 없는 숫자
    10, -5, 0
age = 25
print(type(age))  # <class 'int'>
  • 실수 (float):  소수점이 있는 숫자 
    3.14, -2.5, 0.0
pi = 3.14159
print(type(pi))  # <class 'float'>
  • 문자열 (str): 글자들의 나열
    "Hello", "Python", "123"
message = "Hello, world!"
print(type(message))  # <class 'str'>
  • 불리언 (bool): 참(True) 또는 거짓(False) 값
    True, False
is_active = True
print(type(is_active))  # <class 'bool'>
  • 리스트 (list): 여러 개의 자료를 순서대로 저장하는 자료형
    [1, 2, 3], ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
print(type(numbers))  # <class 'list'>
print(numbers[0])  # 1 (리스트의 첫 번째 요소)
  • 튜플 (tuple): 리스트와 비슷하지만, 변경할 수 없는 자료형
    (1, 2, 3), ("apple", "banana", "cherry")
coordinates = (10, 20)
print(type(coordinates))  # <class 'tuple'>
print(coordinates[0])  # 10 (튜플의 첫 번째 요소)
  • 딕셔너리 (dict): 키(key)와 값(value)의 쌍으로 이루어진 자료형
    "키(key) : 값(value)"
    {"name": "Alice", "age": 30}

person = {"name": "Alice", "age": 30}
print(type(person))  # <class 'dict'>
print(person["name"])  # Alice (딕셔너리의 "name" 키에 해당하는 값)

4. VS Code에서 자료형 확인 및 활용

VS Code에서는 다음과 같은 방법으로 자료형을 확인하고 활용할 수 있습니다.

  • type() 함수: 변수의 자료형을 확인하는 데 사용합니다
x = 10
print(type(x))  # <class 'int'>
  • 디버깅: VS Code의 디버깅 기능을 사용하면 프로그램 실행 중에 변수의 값을 확인하고 자료형을 파악할 수 있습니다.
  • 자동 완성: VS Code는 코드 자동 완성 기능을 제공하여 자료형에 맞는 메서드나 속성을 쉽게 사용할 수 있도록 도와줍니다.
  • 확장 기능: VS Code에는 파이썬 개발을 위한 다양한 확장 기능이 있습니다. 이러한 확장 기능을 활용하면 자료형 검사, 코드 분석 등 더욱 편리하게 파이썬을 공부하고 개발할 수 있습니다.

5. 추가 학습 자료

 

 

 

 

 

반응형
LIST

 

TETRIS.PY
0.00MB

 

      import pygame
import random

# Define colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GRAY = (128, 128, 128)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)
CYAN = (0, 255, 255)
MAGENTA = (255, 0, 255)
ORANGE = (255, 165, 0)

# Define shapes
SHAPES = [
    [[1, 1, 1, 1]],  # I
    [[1, 1], [1, 1]],  # O
    [[0, 1, 1], [1, 1, 0]],  # S
    [[1, 1, 0], [0, 1, 1]],  # Z
    [[1, 0, 0], [1, 1, 1]],  # J
    [[0, 0, 1], [1, 1, 1]],  # L
    [[0, 1, 0], [1, 1, 1]]   # T
]

COLORS = [CYAN, YELLOW, GREEN, RED, BLUE, ORANGE, MAGENTA]


class Tetris:
    def __init__(self, width, height):
        self.width = width
        self.height = height
        self.grid = [[0 for _ in range(width)] for _ in range(height)]
        self.current_piece = None
        self.current_x = 0
        self.current_y = 0
        self.game_over = False
        self.score = 0
        self.speed = 1  # Adjust for game speed
        self.current_color_index = 0

    def new_piece(self):
        self.current_piece = random.choice(SHAPES)
        self.current_x = self.width // 2 - len(self.current_piece[0]) // 2
        self.current_y = 0
        self.current_color_index = SHAPES.index(self.current_piece)

        if self.is_collision(self.current_piece, self.current_x, self.current_y):
            self.game_over = True

    def rotate_piece(self):
        rotated_piece = list(zip(*self.current_piece[::-1]))
        if not self.is_collision(rotated_piece, self.current_x, self.current_y):
            self.current_piece = rotated_piece
            try:
                self.current_color_index = SHAPES.index(self.current_piece)
            except ValueError:
                self.current_color_index = 0

    def move(self, dx):
        if self.is_collision(self.current_piece, self.current_x + dx, self.current_y):
            return
        self.current_x += dx

    def drop(self):
        if self.is_collision(self.current_piece, self.current_x, self.current_y + 1):
            self.lock_piece()
            return True
        self.current_y += 1
        return False

    def lock_piece(self):
        for y in range(len(self.current_piece)):
            for x in range(len(self.current_piece[0])):
                if self.current_piece[y][x]:
                    self.grid[self.current_y + y][self.current_x + x] = 1
        self.clear_lines()
        self.new_piece()

    def is_collision(self, piece, x, y):
        for py in range(len(piece)):
            for px in range(len(piece[0])):
                if piece[py][px]:
                    grid_x = x + px
                    grid_y = y + py
                    if grid_x < 0 or grid_x >= self.width or grid_y >= self.height:
                        return True
                    if self.grid[grid_y][grid_x]:
                        return True
        return False

    def clear_lines(self):
        lines_cleared = 0
        for y in range(self.height):
            if all(self.grid[y]):
                del self.grid[y]
                self.grid.insert(0, [0 for _ in range(self.width)])
                lines_cleared += 1

        if lines_cleared > 0:
            self.score += lines_cleared ** 2 * 100

    def draw(self, screen):
        for y in range(self.height):
            for x in range(self.width):
                if self.grid[y][x]:
                    pygame.draw.rect(screen, GRAY, (x * 30, y * 30, 30, 30), 0)

        if self.current_piece:
            for y in range(len(self.current_piece)):
                for x in range(len(self.current_piece[0])):
                    if self.current_piece[y][x]:
                        pygame.draw.rect(screen, COLORS[self.current_color_index],
                                         ((self.current_x + x) * 30, (self.current_y + y) * 30, 30, 30), 0)

        font = pygame.font.Font(None, 36)
        score_text = font.render(f"Score: {self.score}", True, WHITE)
        screen.blit(score_text, (10, 10))

        if self.game_over:
            game_over_text = font.render("Game Over!", True, RED)
            text_rect = game_over_text.get_rect(center=(self.width * 30 // 2, self.height * 30 // 2))
            screen.blit(game_over_text, text_rect)


def main():
    pygame.init()
    width = 10
    height = 20
    screen_width = width * 30
    screen_height = height * 30
    screen = pygame.display.set_mode((screen_width, screen_height))
    pygame.display.set_caption("Tetris")

    game = Tetris(width, height)
    game.new_piece()

    clock = pygame.time.Clock()
    fall_time = 0
    fall_speed = 500

    running = True
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    game.move(-1)
                if event.key == pygame.K_RIGHT:
                    game.move(1)
                if event.key == pygame.K_DOWN:
                    game.drop()
                if event.key == pygame.K_UP:
                    game.rotate_piece()

        fall_time += clock.get_rawtime()
        if fall_time > fall_speed:
            fall_time = 0
            game.drop()

        if game.game_over:
            running = False

        screen.fill(BLACK)
        game.draw(screen)
        pygame.display.flip()

        clock.tick(60)

    pygame.quit()


if __name__ == "__main__":
    main()
    

 

콘트롤 : 방향 키 , 왼쪽, 오른쪽, 아래

블록 변환 : 방향 키 위

 

2025.03.14 - [파이썬 프로그래밍] - 3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

 

3.파이썬 프로그래밍 Copilot 연동 가능한 비주얼 스튜디오 코드 다운로드해서 설치하기

텍스트 에디터 : 비주얼 스튜디오 코드 현업에서 많이 사용하는 여러 텍스트 에디터 중에서 일반적으로 많이 사용하는 텍스트 에디터 중에 비주얼 스튜디오 코드 라는 프로그램을 설치해 보

suncommq.tistory.com

 

반응형
LIST

+ Recent posts