- 파이썬의 활용법
- 개발자란?
- 복습
- 파일 다루기!
- 이터레이터(Iterator) 제너레이터(Generator)
- 느낀 느낌
파이썬의 활용법
python으로 할 수 있는 일
1. 시스템 유틸리티 제작
※유틸리티란? 컴퓨터 사용에 도움을 주는 소프트웨어
2. GUI 프로그래밍
창을 만들고 그 창에 프로그램을 동작시킬 수 있는 메뉴나 버튼, 그림 등을 추가할 수 있다.
3. 웹 프로그래밍
4. 데이터 분석, 사물 인터넷
결론
무엇을 할 수 있는지 알 수 있었지만
정확하게 어떤 식으로 UI나 웹 프로그램이 구현되는 것인지가 궁금해졌다.
이 부분은 강의를 계속 듣고 실습하다 보면 자연스럽게 알게 될 것으로 생각한다.
기회가 된다면 파이썬으로 설계한 웹사이트를 구경하고 UI 버튼을 누를 때마다 파이썬으로 짠 코드가 진행되는
모습을 직접 경험해 보고 싶다.
개발자란?
위에 파이썬을 어떻게 어디에 쓰는지 궁금해서 알아보았는데
알아보던 중
파이썬으로 우리는 개발자가 되는 과정을 배우고있다라는 생각과 함께
개발자란 무엇인지 궁금해져 찾아 보았고 이해하기 쉽게 정리 된 글을 가져왔습니다.
개발자는 코딩을 할 수 있고 새로운 문제를 만났을 때 해결할 수 있는 지식을 가지고있는 사람이라는 설명이있습니다.
더욱 연습해서 개발자에 가까워 지고싶습니다.
복습
딕셔너리: 키와 값을 데이터로 저장하는 거이다. 중괄호{}로 표현하고 콜론:으로키와 값을 구분한다.
셋: 중복요소를 하나로 처리한다.
변수.union(qustn2) 합집합을 나타낸다.
변수.intersection(변수2) 교집합
조건문
IF문: 조건식이 오고 조건식이 True면 실행 된다.
else문: IF문의 조건이 False일 때 실행 된다.
elif문: 여러개의 조건을 순차적으로 검사할 때 사용한다.
반복문
For문: 컬렉션의 각 요소를 순차적으로 순회하면서 코드 실행한다.
While문: 조건식이 True일 때 반복해서 코드 블록을 실행한다.
(조건이 False일 때 종료된다.)
breake문: 반복문을 즉시 종료시킨다.
continue문: 현재 반복을 건너뛰고 다음 반복을 이어간다.
range함수: 특정 숫자 시퀸스를 생성한다.
for i in range(시작, 종료, 단계):
실행할 코드
for i in range(끝나는 자리)
실행할 코드
들여쓰기오류 코드 IndentationError
sorted함수: 리스트 요소들을 정렬한다.
sort()와 sorted()차이
sort()는 원본 자체를 변환 시킨다.
sorted()는 원본은 변경하지 않고 정렬 된 경우를 보여준다.
round함수: 숫자를 지정한 자리까지 반올림한다.
round(변수, 소수점 자리)
매개변수: 함수를 호추할 때 사용하는 괄호 내부의 여러가지 자료를 말한다.
가변 매개변수: 함수에 전달하는 인자의 수를 유연하게 조절한다.
tip. *args로 사용하고 튜플로 처리 된다.
기본 매개변수: 함수를 정의할 때 기본값을 설정하는 매개변수
(인자가 잘 전달 되지 않으면 기본 매개변수가 기본값으로 사용된다.)
키워드 매개변수: 함수를 호출할 때 매개변수의 이름과 함께 값을 전달한다.
(매개변수의 순서에 구애받지 않고 인자전달 가능)
greet(name): 주어진 이름에 대한 인사를 출력하는 함수
calculate(a,b,c): 세개의 매개변수를 받아 계산하는 함수
add(a,b): 두 수를 더해서 결과를 반환하는 함수
add(*args): 주어진 모든 수를 더하는 함수
def process_data(*args): 매개변수로 받은 값들을 튜플로 처리하는 함수
square함수: 입력값의 제곱을 계산한다.
return: 함수가 작업을 완료한 후 호출된 위치로 돌려준다.
import키워드: 다른 파일에 있는 모듈을 불러와 사용 가능하다.
from키워드: 모듈에서 특정 항목만 불러오기
(from 모듈이름 import 항목이름)
사용자 정의 모듈
(사용할 모듈 만들기)
ex)
def greet(name):
return f"안녕하세요, {name}님!"
(내가 사용할 모듈 불러오기)
ex)
import my_module
message = my_module.greet("Alice")
print(message) # 안녕하세요, Alice님!
패키지: 모듈의 모음 __init__.py 파일이 있어야 한다.
ex)
mypackage/
__init__.py
module1.py
module2.py
파일 다루기!
1) 파일 열기
file = open(파일이름, 모드)
file = open("example.txt", "r")
저는 파일을 찾을 수 없는 FileNotFoundError 구문이 나와서 튜터님의 도움으로
file = open('C:\\Users\\USER\\Desktop\\이게맞나.txt', 'r')
으로 파일 열기를 했습니다.
2) 파일 모드
'r': 읽기 모드(기본값). 파일이 존재하지 않으면 오류가 발생합니다.
'w': 쓰기 모드. 파일이 존재하지 않으면 새로 만들고, 파일이 존재하면 내용을 덮어씁니다.
'a': 추가 모드. 파일 끝에 데이터를 추가합니다.
'b': 바이너리 모드. 이진 파일을 읽거나 쓸 때 사용하며, 다른 모드와 함께 사용됩니다.
('rb', 'wb')
3) 파일 닫기
file.close()
4) 파일 자동으로 닫기
with open('C:\\Users\\USER\\Desktop\\이게맞나.txt', 'r')
5) 파일 읽기
file.read() 파일 내용 전체읽기file.readline() 파일 한줄씩 읽기file.readlines() 파일의 모든 줄을 리스트 형태로 일기file.seek(0) 읽은 위치를 처을으로 되돌린다.
6) 파일쓰기
file = open('C:\\Users\\USER\\Desktop\\이게맞나.txt', 'w')
파일쓰기가 작동 되지않아 검색을 통해
open('C:\\Users\\USER\\Desktop\\이게맞나.txt', 'w', encording = 'UFT-8')
encording = 'UFT-8'을 추가해 쓰기를 작동할 수 있었다.
file.write("이것도 써지나") #7 파일에 글을 넣을 수 있다
tip. 덮어써지는 형식으로 원본이 사라지게 된다.(주의필요!!)
tip. flie.close()를 해야지 적용이 된다.
file.writelines() 리스트에 담긴 여러줄을 한꺼번에 쓴다.
ex)
lines = ["첫 번째 줄\\n", "두 번째 줄\\n", "세 번째 줄\\n"]
with open('C:\\Users\\USER\\Desktop\\이게맞나.txt', 'w', encording = 'UFT-8') as file:
file.writelines(lines)
줄 나누기 언어 = \\n
7) 파일 추가
with open('C:\\Us ers\\USER\\Desktop\\이게맞나.txt', 'a') as file:
file.write("이 내용은 기존 파일의 끝에 추가됩니다.")
이터레이터(Iterator)
반복 가능한 객체의 요소를 하나씩 꺼내오는 객체다.
__iner__() : 이터레이터 객체 자신을 반환하는 메서드
__next__() : 이터레이터의 다음 요소를 반환하는 메서드
stopIteration : 더이상 반환할 요소가 없을 경우 예외를 발생시킨다.
반복 가능한 객체(Iterable)
for 루프에서 반복할 수 있으며
내부적으로는 __iter__() 메서드를 통해 이터레이터를 반환한다.
제너레이터(Generator)
이터레이터를 생성하는 특별한 함수로
yield 키워드를 사용해 값을 하나씩 반환한다.
(한번에 메모리에 올리지 않고 필요 시 값을 생성한다.)
yield가 호출될 때 마다 함수의 상태가 유지 되며 다음 호출에도 그 상태로 실행한다.
next() 함수를 사용해 제너레이트 값을 하나씩 가져온다.
회의
오늘 오전 회의에서 팀원들에게 어제 공부한 부분에서 궁금한 것을 물어보았다.
그것은 바로sorted()함수이다.
해답을 듣고 느낀 생각은 내가 너무 근본적이지만
실사용에서는 크게 영향을 끼치지 않는 부분을 고민하고 있다고 생각이 들었다.
오후 회의에서는 금요일에 있을 파이썬에 대한 발표를 맏게 되었다.
사다리타기로 뽑혔지만 내일 쉬는 만큼 더 열심히 준비해야할 것 같다.
공부
이때까지 진도 나가는게 너무 느려서 내가 파이썬을 모르고 개발 언어 등을 잘 모르기 때문인가
생각했지만 근본적으로 파이썬이라는 것 자체를 모르기 때문이라는 생각이 들었다.
내가 왜, 무엇을 하기 위해 파이썬을 공부하는지 알아보는 시간을 가진 뒤
한결 가벼운 마음으로 복습을 구석구석 확실하게
어떤 구문은 어떻게 작성하고 기본문법인지 아닌지 등
파이썬을 알던 사람들은 이런걸 왜 궁금해하지 하는 부분까지 확실하게 복습을 진행하였다.
그리고 얼마 남지 않은 시간에 진도를 나갓고 저녁을 먹고 회의가 끝나 다시 진도를 나가려는데
.............
내가 복습하면서 적고 진도 나가면서 적은 필기들을 저장하지 않았고 블로그에 쓰고있었기 때문에 노트북이 절전 모드로
바뀌어서 인터넥이 잠깐 끊겨 전부 날라가 버렸다.
멘탈이 조금 흔들렸지만 다시 검색기록을 뒤져가며 중요하게 생각했던 부분들을 다시 적어 나갓다.
복습한 부분은 마음에 들지 않지만 그래도 복습만 2번한 것 같아 다시 적을때 더욱 많은 것을 알게 된 것 같아 그나마 나았다.
내일 공휴일인 만큼 진도를 나가고 발표준비를 해야겟다.
'TIL' 카테고리의 다른 글
내일배움캠프 weekend 1일차 TIL + 데이터 활용 (2) | 2024.10.06 |
---|---|
내일배움캠프 6일차 TIL + python의 확장 기능과 조별 과제 (2) | 2024.10.04 |
9/30 내일배움캠프 3일차 TIL + 파이썬의 기초(설치, 문법) (3) | 2024.09.30 |
9/27 2일차 TIL (0) | 2024.09.27 |
9/26 1일차 TIL (4) | 2024.09.26 |