Skip to main content

Command Palette

Search for a command to run...

gpt로 웹개발 2 (파이썬 문법, 파이썬 가상 환경, 패키지, Flask)

Web Development

Updated
3 min readView as Markdown
gpt로 웹개발 2 (파이썬 문법, 파이썬 가상 환경, 패키지, Flask)

파이썬 문법

기본 연산

# 대입 연산자
a = 10 # a에 10을 넣는다.
b = 3 # b에 3을 넣는다.

# 연산
print(a + b) # 13
print(a - b) # 7
print(a * b) # 30
print(a / b) # 3.3333333333333335 나누기
print(a % b) # 1 나머지
print(a // b) # 3 몫
print(a ** b) # 1000 제곱 10x10x10

# 비교 연산자
print(a > b) # True
print(a <= b) # False

자료형

변수에 들어가는 데이터의 형식

# 자료형 : 변수에 들어가는 데이터의 형식 / 숫자, 문자, 리스트, 딕셔너리

name = 'Bob'
hobby = 'python'
print(name + hobby)

num = 12

a_list = ['망고', '귤', '포도', '딸기']
print(a_list[0])        # 망고
a_list.append('체리')
print(a_list)       # ['망고', '귤', '포도', '딸기', '체리']

a_dict = {'name' : '미소', 'age' : 7}
print(a_dict)
print(a_dict['name'])

조건문

조건이 참(true), 거짓(false) 중 하나를 만족할 때 실행

age = 25 # age라는 나이 값을 담은 변수 만들기

if age > 20: # 조건 age가 20보다 크다면 -> True
    print("성인입니다") # 조건이 참일 때 작동하는 코드
else: # 조건이 False라면 아래 내용을 실행
    print("청소년입니다") # 조건이 거짓일 때 작동하는 코드

조건이 세개 이상인 경우는 elif를 사용하면된다.

elif는 else if의 줄인말로 이전 조건들이 모두 거짓일 때 해당 조건을 검사하고 참일 경우에만 실행

if 조건1:
    # 조건1이 참일 때 실행할 코드
elif 조건2:
    # 조건1이 거짓이고 조건2가 참일 때 실행할 코드
elif 조건3:
    # 조건1과 조건2가 모두 거짓이고 조건3이 참일 때 실행할 코드
else:
    # 위의 모든 조건이 거짓일 때 실행할 코드

반복문

fruits = ['사과','배','감','귤'] 

# fruits라는 리스트의 요소를 돌아가면서 반복할건데, 
# 그 요소 중 하나를 fruit라고 하고, fruit는 순서대로 사과/배/감/귤이 된다.
for fruit in fruits:
    print(fruit)

# 사과, 배, 감, 귤 하나씩 꺼내어 찍어낸다.

함수

같은 행위를 반복하게 하는것
파이썬으로 평균 구하는 코드는 직관적으로 바로 알아내기 힘들지만 함수를 이용하여 평균을 구하는 코드는 바로 이해하기 쉽다.

# 파이썬으로 평균 구하는 함수
def average(numbers):
    total = 0
    for number in numbers:
        total += number
    return total / len(numbers)

# 함수로 평균 구하기
numbers = [1, 2, 3, 4, 5]
print(average(numbers)) # 3.0
# 헤이를 출력하는 함수 만들기 (재료가 없는 함수)
def hey(): # 함수를 선언(만들기)할 때는, 항상 뒤에 콜론(:)까지 써주기
    print("헤이") # 함수가 작동하는 코드는 들여쓰기

hey() # "헤이"를 출력하는 함수 hey() 작동시키기

# a,b,c 라는 세 숫자를 더하는 함수 만들기
def sum(a,b,c): # 필요한 요소를 명시
    return a+b+c

# 함수 호출 및 변수에 저장
# 함수를 작동시키고 내보내는 결과물을 result라는 변수에 담는다
result = sum(1,2,3)
print(result)

파이썬 가상 환경

프로젝트별로 다른 버전의 파이썬 및 패키지를 독립적으로 관리할 수 있게 해주는 격리된 작업 공간

가상 환경 만들기

  1. 보기 → 명령 팔레트 실행 (command + shift + p)

  2. env 검색

  3. Python : Create Environment(환경 만들기) 클릭

  4. 선택지 중 venv 클릭

  5. 익스플로러에서 .venv 폴더가 생성되어다면 가상 환경 생성 성공


패키지

패키지는 모듈을 모아놓은 단위이다.
이러한 패키지 묶음을 라이브러리라고 하는데, 특정 기능을 구현하기 위해 필요한 기능들을 모아둔 것이다.
파이썬에서는 외부 라이브러리를 사용하기 위해 피기지를 설치한다.

패키지 설치 방법

패키지를 설치할 때는 PIP를 사용하는데 여러 패키지를 설치할 수 있게 도와주는 프로그램이다.

  1. 터미널에 pip install requests 입력

  2. requests라는 패키지를 .venv라는 가상 환경에 설치하겠다는 뜻이다.

  3. import requests 적어서 사용


Flask

Falsk 폴더 구조

flask
 - venv
 - app.py (서버)
 - templates
  - index.html (클라이언트 파일)
  1. 폴더 안에 app.py 파일 생성

  2. 폴더 안에 templates 폴더 생성

  3. templates 폴더 안에 index.html 파일 생성

파일 이름 규칙

  1. templates 폴더는 반드시 고정

  2. 첫 페이지의 파일명은 index.html 사용

  3. app.py는 변경해도 되지만 라이브러리 이름과 같은 것을 이름으로 사용하면 안된다.

flask 패키지 설치

  1. 터미널에 pip install flask 입력

  2. 터미널 아래에 Successfully installed … 라고 적혀 있다면 설치 완료

flask 기본 폴더 구조

flask 서버를 만들 때 항상 프로젝트 폴더 안에 templates폴더, app.py 파일 두개를 만들어 두고 시작한다.
venv는 실제로 보이지만 안보인다라고 생각하기

flask 프레임워크

서버를 구동시켜주는 편한 코드 모음

More from this blog

s3사용 및 s3:PutBucketPolicy 권한 오류

1. S3 생성 중 정책 생성 페이지에서 s3:PutBucketPolicy 권한이 없어 오류 발생 IAM 사용이 아닌 루트 사용자 버전으로 설명 AWS IAM 콘솔 → 정책 → AdministratorAccess⁠검색→ 정책이 나타나면 사용자에 연결→ 없다면 새로운 정책 추가 없으므로 AdministratorAccess 생성 정책 생성 버튼 클릭 → JSON 탭 선택 후 아래 코드 입력 → 생성 { "Version": "2012-10-1...

Mar 12, 20252 min read9
s3사용 및 s3:PutBucketPolicy 권한 오류

챗봇과 사용자의 대화 내용이 길어질수록 llm 호출 시 토큰 수가 증가하여 응답 시간이 지연되는 문제가 발생

https://youtu.be/5soSQgVHGEA OpenAI API를 이용한 챗봇을 만들면서 대화가 길어질수록 LLM 호출 시 토큰 수 증가로 응답 시간이길어지는 문제가 발생 문제분석 여기서 생각하는 문제는 db 조회의 부하 처음 챗봇에게 부여하는 역할이 너무 긴데, 이걸 매 API 호출마다 전송함 대화 흐름을 기억하기 위해 챗봇-유저 간 대화 내용을 모두 DB에 저장한 다음 그대로 API 호출 마다 LLM에 전달함 → 모든 대화 ...

Jan 16, 20253 min read122
챗봇과 사용자의 대화 내용이 길어질수록 llm 호출 시 토큰 수가 증가하여 응답 시간이 지연되는 문제가 발생

dayeon's blog

124 posts