목록파이썬 (8)
밤하늘공작소
python은 데이터 분석을 위해 만들어진 언어가 아니었기 때문에 그러한 기술이 많이 준비되어있지 않았습니다. pandas는 이러한 python의 단점을 보안하기 위해 만들어졌고, 데이트 더 편하게 저장하고, 정리하고, 시각화할 수 있게 합니다. pandas는 DataFrame이라는 것을 사용할 수 있게 합니다. 1. pandas DataFrame pandas에서 사용하는 DataFrame은 표형식입니다. 예를 들면 엑셀이나 구글 스프레드 시트(Google Sheets)와 같은 것을 생각하면 됩니다. 여기서 가로의 줄들은 열(column), 세로의 줄들은 행(row)라고 부릅니다. 예를 들어서 밑에 그림과 같은 축구 선수들을 담은 DataFrame이 있다면 name, age, height 등과 같이 데이..
numpy란 뉴머리컬 파이썬(numerical python)의 줄임말로 숫자와 관련한 계산 작업을 편하게 해 줄 도구입니다. python은 원래 숫자 계산을 하기 위해 만들어지지 않았고, 그런 것을 하기 위해 더 많은 코드를 써야 했었습니다. 그래서 numpy가 python으로 숫자 계산을 할 때 적은 코드로 효율적이게 실행시키기 위해 만들어졌습니다. numpy는 numpy 배열이라는 것을 제공해서 2차원 배열이나 많은 수학적 계산을 해야 할 때 유용하게 쓰입니다. numpy에는 리스트를 만들 수 있는 방법이 여러 가지 있습니다. 기존에 python 배열을 이용해 만들 수도 있고, 똑같은 숫자로 값을 채울 수도 있습니다. 또 이어지는 숫자나 랜덤한 숫자로 채울 수도 있습니다. 1. python 리스트 이..
여러분이 어떤 메일 사이트에 들어가서 이메일을 작성하고 전송을 하면, 그 사이트의 이메일 서버(1)를 통해서 전송되는 대상의 사이트 이메일 서버(2)에 전송해 그 사용자에게 전달이 됩니다. 여기서 이메일을 전송하는 1번 이메일 서버를 SMTP(Simple Mail Transfer Protocol) 서버라고 합니다. Django에서 SMTP 서버에 요청을 보내서 이메일을 보낼 수 있습니다. 사람들이 가장 많이 사용하는 구글의 G-mail로 이메일을 보겠습니다. 우선 이메일을 보낼 구글 계정(G-mail 계정)을 준비하시고, 이것을 따라해주시면 됩니다. 1. 구글 계정의 2단계 인증 사용 구글의 G-mail을 Django에서 사용하려면 2단계 인증을 해야합니다. 만약 이것이 불편하시면, 부계정을 만들어서 테..
python에서 문자를 잘라야 할 때가 있습니다. 이런 것은 "split"으로 할 수 있습니다. 우선 이러한 코드를 적어보겠습니다. name = "Kim, Dong Hyun" print(name.split(",")) 이것은 ['Kim', ' Dong Hyun'] 이 출력됩니다. 문자열이 ", "를 기준으로 잘려서 배열에 나오게 됩니다. 그래서 만약 이 뒤에 첫번째 값을 출력하게 하는 코드를 바꾸게 된다면, 성만을 출력하게 할 수 있습니다. 이를 좀더 활용해서 배열로 오는 모든 이름들의 성을 출력해보겠습니다. names = ["Kim, Dong Hyun", "Lee, Hyun Woo"] for name in names: print(name.split(",")[0]) 간단한 for in 문을 사용해서 ","..
python에서는 리스트를 많이 활용합니다. 하나의 값이 아닌 여러 가지의 값을 변수에 넣고 싶을 때 사용합니다. 이러한 리스트를 활용할 때 사용할 수 있는 팁을 드리겠습니다. 1. 리스트 값 존재 여부 확인 실제로 우리가 알아서 리스트 안에 값이 있는지 확인하는 코드를 만드는 것은 힘듭니다. for 또는 while 문을 이용해 리스트의 길이만큼 반복하는 반복문을 만들고, 그곳에서 찾고 있는 값이 있다면, True를 없다면 False를 리턴하게 해야 합니다. 물론 함수로 저장해놓으면, 계속 사용할 수 있지만, 그렇게 할 필요가 없습니다. python에서는 "in"이라는 것이 있습니다. 이러한 코드를 적어보겠습니다. numbers = [1, 3, 5, 7, 9] print(3 in numbers) prin..
python에서는 포맷팅이라는 것을 제공해줍니다. 한 번 예를 들어보겠습니다. year = 2022 month = 6 day = 28 print("오늘은 " + str(year) + "년 " + str(month) + "월 " + str(day) + "일이다.") 이러한 코드가 있습니다. 여기에서 year와 month, day는 숫자형이기 때문에 그냥 문자에 더하면 에러가 납니다. 그렇기 때문에 문자형으로 변환한 후에 더해주어야 합니다. 그런데 더해주게 되어도, 띄어쓰기를 신경을 써야 되기 때문에 힘들고, 코드가 더러워질 수 있습니다. 그럴 때 포맷팅을 사용하는 것입니다. 위와 똑같은 코드를 적어보겠습니다. year = 2022 month = 6 day = 28 print("오늘은 {}년 {}월 {}일이..
이제 실제로 우리의 페이지를 만들어보겠습니다. 전에 나왔던 페이지는 django에서 주는 페이지이므로 실제로 우리가 만든 페이지가 아닙니다. 이제 우리가 실제로 파이썬 코드를 써서 웹사이트를 만들어보겠습니다. 우선 파이썬 루트 디렉토리(~/django-test/test_project/)로 간 다음 vscode를 켜줍니다. 그런 다음 test_project 안에 있는 urls.py로 가보겠습니다. 그곳에 가보면 기본적으로 적혀 있는 코드들이 있습니다. (위에 빨간색들은 사용법이므로 무시하셔도 됩니다. 실제로 코드에는 아무 영향을 안 미칩니다.) from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/'..
이번에는 django 앱을 만들어보겠습니다. 먼저 프로젝트와 앱을 비교하겠습니다. 우선 프로젝트는 어떠한 웹사이트 즉 웹 서비스 전체이고, 앱은 프로젝트 안의 기능입니다. 우선 프로젝트의 루트 디렉토리로 이동하겠습니다. $ cd django-test/test_project ls 커맨드를 이용해서 그 폴더를 보았을 때 manage.py가 있는 위치입니다. 이곳에서 이 명령어를 치면 앱이 생성됩니다. $ python3 manage.py startapp tests python3 manage.py startapp {앱 이름}을 해주면 됩니다. test는 다른 python 모듈과 겹치기 때문에 tests로 해주겠습니다. 이곳에서 vscode로 들어가서 어떻게 생겼는지 보겠습니다. $ code . 보면 tests ..