본문 바로가기
부트캠프(LIKELION AIS7)/수업

[AI스쿨 7기, 0주차] 파이썬 기초, 크롤링, API 학습

by aimaimee 2023. 4. 7.

220914 멋쟁이 사자처럼 AI스쿨 7기

220914

일단 만드는 PYTHON 강의(240분)

Python으로 만드는 메뉴 자판기

  • List와 Dictionary
  • 집합
  • if문

Python으로 만드는 익명 질문 게시판

  • 함수
  • 이상형이 뭐에요?

220915

[기초] 같이 푸는 Python (360분)

순차

  • 친구야 안녕(인사하기)
    처음 print("hello world!")를 작성한 날일 것이다. 모두가 익숙하게 아는 것조차 생소해서, 갑갑해졌었다.
  • 계산하기
    int() : 문자를 숫자로 변환
  • food1 = input("내가 먹은 음식의 가격 : ") food2 = input("친구가 먹은 음식의 가격 : ") food1 = int(food1) food2 = int(food2) print(food1 + food2)
  • 월세와 관리비
    위의 계산하기 코드를 활용
    월세와 관리비를 입력받는 변수를 생성
    print(월세 + 관리비), print(월세 - 관리비), print((월세 + 관리비) * 12), print(월세 / 관리비) 등
  • 중식당 주문
    orders = [] 라는 빈 리스트에 짜장, 짬뽕, 탕수육과 같은 메뉴 작성
    print(orders) 하면 메뉴가, print(orders[0])하면 짜장이 나온다.
  • 숫자 리스트
    위의 orders라는 변수처럼 number라는 빈 리스트에 숫자 작성 후 출력해봄
  • 중식장 메뉴판
    append 개념 학습
    orders.append("냉면") 하면, 기존의 orders 리스트에 냉면에 추가된다.
    3번 인덱스를 따로 지정해서 추가할 수도 있다. => orders.index(3, "양장피")리스트 개수 확인
    print(len(orders))
  • 삭제 방법
    첫 번째, del orders[1]
    두 번째, orders.remove(orders[1])
    => 이 때는 orders[1] 할 때는 대괄호를, .remove() 할 때는 소괄호를 사용하던 것이 엄청나게 헷갈렸다.

조건

  • 학번 계산기 : 관계 연산자
    ==, !=, >, >= 학습
    맞으면 True를, 틀리면 False를 반환
    => ==와 !=를 신기하게 봤던 기억이 난다.
  • 조건문
    if문을 활용해서, menu에 있다면 주문 가능하다는 메세지를 출력하는 코드 작성
    if food in menu:

반복

  • 무한반복
    while 10<90: 이라는 구문이라면, True만 계속해서 나온다. 멈추기 위해서는 ctrl C
  • 순차출력
    i = 0 이라는 변수를 생성하고,
    while 조건문이라면:
  • i = i + 1
  • 탈출하기
    break를 사용해서 반복문 종료
  • 건너뛰기
    i % 2 == 0: i를 2로 나누었을 때 나머지가 0이라면
  • x부터 y까지 반복
    for x in range():
  • x부터 y까지 z만큼 반복
    for x in range(처음, 끝, 얼마만큼 건너뛸건지)
  • 100까지의 합
  • for x in range(1, 101): result = result + x

문제

  • 별이 빛나는 밤
    print("*" *5)
    for x in range(5):
        print("*****")
    for x in range(5):
        print("*"*(x+1))
  • 줄 바꿔 출력하기
    위의 예제에서 마지막처럼
  • 오늘의 당첨 번호
    import random을 해서, random.sample(range(1,100), 10) =>1부터 100까지의 숫자 중 10개를 샘플로 뽑아라

220916

[심화] 같이 푸는 Python (360분)

실시간 검색어 확인

  • 크롤링
  • 블록 조립 키트
    함수(function)와 모듈(module)
    => 23.04.07 와, 함수랑 모듈을 배우긴 했었구나
  • Requests 모듈에서
    Get 함수를 꺼내
    요청을 보내줘
    Get 함수 : 자! 여기 응답값~ = return 응답값
  • 요청하고 응답받기
    requests.get(url) : get 요청을 보내는 기능(요청에는 put, get, post, delete가 있음)
  • import requests print(requests.get)
  • Beautiful Soup
    str 문자 타입, bs4.BeautifulSoup 타입
    response.text가 하나의 문자열 덩어리
    • 데이터에는 html과 xml이 올 수 있다. 우리는 여기에 requests.get해서 다음의 url을 가져온 것
    • parsing 문자열을 의미있는 값으로 분해, 분석, 의미 있는 데이터로 변경
    • 이 외에도 a 태그만 가져오기, datetime 활용해서 오늘의 날짜만 가져오기, 읽기모드 쓰기모드 append모드 등 출력
    • headers에 로봇이 아니고 크롤링 하는 사용자니까, 막아둔 거 풀어달라고 입력
    • import requests from bs4 import BeautifulSoup url = "http://www.daum.net/" response = requests.get(url) print(type(response.text)) print(type(BeautifulSoup(response.text, "html.parser')))
  • BeautifulSoup(데이터, 파싱방법)

날씨 정보 받아오기

  • API key 발급
  • 날씨 받아오기

번역하기

메일 보내기

  • SMTP
  • MIME
  • Header
  • 메일 전송하기
  • 사진 첨부하기
  • 유효성 검사하기

=> 메일은 보내보고 싶었는데, 오류가 생겨서 코드는 작성했지만 안보내졌었다.

댓글