[TIL]파이썬 심화

이성언·2022년 2월 25일
0

강의만 들어도 버벅거리는데 강의 수가 계속 늘어나니 컴퓨터 앞에 앉아있는 시간은 계속 늘어난다.

파이썬 기초과정에서도 엄청 버벅였는데 마지막 수업은 심화과정이라 더 걱정이었다.
생각한 것에 비해서는 해볼만하다였긴 한데 이해하는데 시간이 오래 걸렸다.

소스를 끌어오는 작업들이 흥미롭긴 했다.
그간 내가 해왔던 노가다를 컴퓨터가 해주니 뿌듯함도 존재하는 것 같다.
사실 내가 해보려던 아이디어가 데이터 수집이 상당부분 차지해서
이를 노가다 한 것들이 좀 있었기 때문에 그런 부분들에 힌트를 얻은 부분이 있다.

잘한건지 못한건지 어찌 되었던 속학으로 마무리한 5일동안의 강의가
나에게 의미가 있었는지에 대한 평가가 필요해 보인다.

짧게나마 평가를 해보자면
코드라는 것이 정형화되어 있지만서도 그것을 추론하는 아이디어는 주관적이라
짜여진 수강을 다 듣고 리뷰를 하면 순서대로 완벽하게 기억할 수 없기 때문에
그 때부터 나의 상상력을 발휘하게 되는데 그러면서 완벽히 정의되지 않은 이론을 가지고 발휘하는
상상은 완전히 산으로 가는 결과를 야기시켜 시간을 낭비하는 경우가 많았다.

확실히 내가 부족하다 느낀 것이 3가지 정도 있는데
1. 영타 속도 개선(오타율이 높음)
2. 내가 생각한 것을 -> 코드화 시키는 것
(예를 들면, 코드 기호를 함축한 문장을 코드화 시키는 트레이닝을 지속적으로 진행해서
코드에 익숙해 지는 방법을 찾는 것(이런 책이나 강의 없나 싶은 생각))
3. 같은 패턴의 복습(한문제에 관한 유사문제 5번씩 풀어보기 등)

전공이 아닌 일에 전공처럼 접근하는 것은 정말 피나는 노력을 해야 한다.
그 분야에 특별한 능력을 갖추고 있고 재능이 있다면
조금 늦더라도 빠르게 따라잡을 수 있지만,
그러한 소질이 아닌 곳에 투자를 해야 한다면 정말 많은 노력을 기울여야 한다.

내가 음악을 헀을 떄는 내가 음악에 소질이 있어서 금방 따라갔지만,
지금 냉정하게 코딩은 소질과 능력으로 평가하면 부족한 것이 사실이다.
일단 문송이고..
컴퓨터는 좋아하는데 소프트쪽이 아닌 하드웨어쪽으로 관심이 많고
소프트웨어 쪽도 완성된 소프트를 다루는 것에 소질이 있기 때문..
언어 쪽은 아무래도 많이 부족하다.
그 말은 코딩을 이해하려는 머리로 체인지 되어야 하는데 그것이 부족하다
-> 이걸 극복하면 잘 할 수 있을거 같긴 하다

마지막 수업을 완료했다
시간이 너무 소요됨에 아쉬움이 남는다.
리뷰를 할 시간이 부족하다. 그래서 작업 한 것은 일단 기록을 해놓았다.
리뷰할 수 있을 때 계속 해봐야 겠다.
블로그에도 기록을 해놨지만 노트에 적어놓고 내 머리속으로 이해하고자 노력을 많이 했다.
아쉽게도 머리에 다 들어오지는 않았지만, 기억을 끄집어 내볼만한 자료는 일부 추출해 낸 것 같다.

일단 그것에 만족해야 겠다.
수업이 본경화 되면 더 많은 노력을 해야겠다.


//실시간 검색어 확인하기 
// 실시간 검색어 기능이 사라져서 리뷰가 좀 부족했다. 
// 내가 다른 부분을 끄집어 오는 연습이 필요하다. 

from bs4 import BeautifulSoup
import requests
from datetime import datetime

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
url = "https://datalab.naver.com/keyword/realtimeList.naver?age=20s"
response = requests.get(url,headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
rank = 1
# span - item_title
results = soup.findAll('span','item_title')

print(response.text)

search_rank_file = open("rankresult.txt","a")

print(datetime.today().strftime("%Y년 %m월 %d일의 실시간 검색어 순위입니다.\n"))

for result in results:
    search_rank_file.write(str(rank)+"위:"+result.get_text()+"\n")
    print(rank,"위 : ",result.get_text(),"\n")
    rank += 1
    
    
    

//날씨정보 받아오기 

//api 데이터를 활용하여 자료를 활성화 시키는 것
//json으로 변환하는 것을 완벽하게 이해하지는 못한 것 같다. 

import requests
import json


city = "Seoul"
apikey = "9ab3116199980b7391fca5fd5e4aaebc"
lang = "kr"
#api = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={apikey}&lang={lang}&units={metaric}"
api = f"""http://api.openweathermap.org/data/2.5/\
weather?q={city}&appid={apikey}&lang={lang}&units=metric"""
re = requests.get(api)
# data = BeautifulSoup(re.text,'html.parser')


data = json.loads(re.text)

print(data)
# print(type(result.text))
# print(type(data))

print(data["name"],"의 날씨입니다.")
print(data["weather"])
print(data["name"],"의 날씨입니다.")
print("날씨는 ",data["weather"][0]["main"],"입니다.")
print("현재 온도는 ",data["main"]["temp"],"입니다.")
print("하지만 체감 온도는 ",data["main"]["feels_like"],"입니다.")
# 최저 기온 : main - temp_min
print("최저 기온은 ",data["main"]["temp_min"],"입니다.")
# 최고 기온 : main - temp_max
print("최고 기온은 ",data["main"]["temp_max"],"입니다.")
# 습도 : main - humidity
print("습도는 ",data["main"]["humidity"],"입니다.")
# 기압 : main - pressure
print("기압은 ",data["main"]["pressure"],"입니다.")
# 풍향 : wind - deg
print("풍향은 ",data["wind"]["deg"],"입니다.")
# 풍속 : wind - speed
print("풍속은 " ,data["wind"]["speed"],"입니다.")



// 번역하기 
// 구글의 번역 기능을 활용한 코드 추출 
// 쪼금 더 오바해서 출력에 답을 넣어주는 거 생각해볼 수 있겠다 

from googletrans import Translator

translator = Translator()

# sentence = "안녕하세요 코드라이언입니다."
sentence = input("번역을 원하는 문장을 입력해주세요 : ")
dest = input("어떤 언어로 변경할까요? : ")
result = translator.translate(sentence,dest)
detected = translator.detect(sentence)
print(result)

print("===========출 력 결 과===========")
print(detected.lang,":",sentence)
print(result.dest,":",result.text)
print("=================================")



// 메일보내기 
// 구글 보안정책이 바뀌어서 이것도 리뷰가 좀 힘들었다. 
// 나는 틀린게 없어 보이는데 로그인이 안되었다. 



import smtplib
from email.message import EmailMessage
import imghdr

SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 465

message = EmailMessage()
message.set_content("코드라이언 수업중입니다.")

message["Subject"] = "이것은 제목입니다."
message["From"] = "sungaen@gmail.com"
message["To"] = "sungaen@gmail.com"

with open("codelion.png","rb") as image:
    image_file = image.read()

image_type = imghdr.what('codelion',image_file)
message.add_attachment(image_file,maintype='image',subtype=image_type)

smtp = smtplib.SMTP_SSL(SMTP_SERVER,SMTP_PORT)
smtp.login("sungaen@gmail.com","sa2378sa2378@@")
smtp.quit()
profile
multiplayer

0개의 댓글

관련 채용 정보