전체 글 41

241122 인공지능을 위한 파이썬 - 4주차_3

이터레이터와 반복 가능한 객체 - 반복 가능한 객체(Iterable) : 하나씩 차례대로 값을 꺼내올 수 있는 객체리스트, 튜플, 문자열, 딕셔너리 등은 모두 반복 가능한 객체for 루프를 통해 반복, 내부적으로는 __iter__() 메서드를 통해 이터레이터 반환numbers = [1, 2, 3, 4, 5]for num in numbers: print(num)  - 이터레이터(Iterator) : 반복 가능한 객체의 요소를 하나씩 꺼내오는 객체numbers = [1, 2, 3, 4, 5]iterator = iter(numbers) # 리스트로부터 이터레이터 생성next(iterator) # 1 / 이터레이터의 각 요소를 하나씩 꺼내기next(iterator) # 2next(iterator) # 3n..

TIL/Python 2024.11.22

241122 인공지능을 위한 파이썬 - 4주차_2

파이썬에서 파일 다루기- open() 함수 : 파일을 열고, 파일 객체를 반환f = open("파일이름", "모드")# 파일 모드의 종류# "r" : 읽기 모드(기본값)# "w" : 쓰기 모드 / 파일이 존재하지 않으면 새로 만들고, 존재하면 내용 덮어씀# "a" : 추가 모드 / 파일 끝에 데이터 추가# "b" : 바이너리 모드 / 이진 파일을 읽거나 쓸 때 사용, "rb", "wb" 모드와 함께 사용됨 - close() 함수 : 파일 처리가 끝난 후 닫을 때 사용파일을 닫지 않으면, 데이터 손실이나 파일 잠금과 같은 문제가 발생할 수 있으므로 주의 요망f = open("example.txt", "r") # 읽기 모드로 파일 열기# 파일 처리 작업 수행f.close() # 파일 닫기 - read()..

TIL/Python 2024.11.22

241121 인공지능을 위한 파이썬 - 4주차_1

초기의 프로그래밍은 절차를 지향절차에 따라 명령을 순서대로 실행단순한 문제나 수식적 해결에 용이하며 관리하기가 편함 그러나, 점점 프로그램이 커지고 컴퓨터의 성능 발달에 따라 해결하고자 하는 문제도 커지고 복잡해짐 이런 문제점을 해결하기 위해 객체 지향 프로그래밍이 등장프로그램을 객체라는 독립적인 단위로 작성하기 시작  객체 지향 프로그래밍의 핵심인 클래스와 객체 이해하기 - 클래스 : 객체를 만들기 위한 설계도클래스는 속성(객체의 데이터)과 메서드(객체의 동작)로 구성 - 객체 : 클래스라는 설계도로부터 생성된 구체적인 데이터와 기능을 가지는 실체 - 객체 지향 프로그래밍(Object-Oriented Programming, OPP)의 핵심 개념클래스와 객체를 사용해 프로그램을 설계하고 구현하는 방식 -..

TIL/Python 2024.11.21

241120 인공지능을 위한 파이썬 - 3주차_2

- Module : 관련된 함수, 클래스, 변수 등을 하나의 파일에 모아놓은 코드 묶음ex) 파이썬 파일(.py) 하나가 하나의 모듈모듈은 각기 다른 이름의 공간을 가지므로, 이름의 충돌을 피할 수 있다. - import : 다른 파일에 있는 모듈 불러오기모듈에 별칭 부여 가능import math as m # math 모듈 불러오기 / alias m 부여함result = m.sqrt(81) # math 모듈의 sqrt 함수 사용print(result) # 9.0 - from : 모듈 전체가 아닌, 모듈 내의 특정 함수, 클래스, 변수를 선택적으로 불러오기from math import sqrt # math 모듈의 sqrt 함수만 불러오기result = m.sqrt(81)print(result) # ..

TIL/Python 2024.11.20

241119 인공지능을 위한 파이썬 - 3주차_1

- 파이썬에서의 함수 : 미리 정의되어 있는 특정 작업을 수행하는 코드 블록함수는 필요할 때마다 이름을 호출하여 코드 실행함수는 입력값(매개변수)을 받아 처리하고, 결과값을 반환 - 함수의 사용처1. 반복되는 코드의 재사용2. 코드의 모듈화 - 각 함수의 독립적 사용 / 디버깅과 테스트가 쉬워짐3. 복잡한 작업의 분할 - 함수의 장점1. 코드 재사용성2. 코드 가독성3. 유지보수 용이성4. 테스트 및 디버깅 용이성 ※ 함수 사용 시 주의사항1. 함수는 가능한 하나의 작업만 수행하도록 설계2. 입력값(매개변수)의 수를 적절히 유지3. 이름과 기능을 명확히 표현해야 함4. 부작용을 최소화해야 함  - 파이썬 내장 함수1. print() 함수 : 다양한 값을 받아 출력 가능내부에 함수가 있으면 내부 함수 먼저..

TIL/Python 2024.11.19

241118 인공지능을 위한 파이썬 - 2주차_2

제어문과 반복문 - 제어문 : 프로그램의 실행 흐름을 제어하는 명령문특정 조건을 만족할 때만 특정 코드를 실행 or 여러 조건에 서로 다른 코드 실행 - 반복문 : 특정 코드 블록을 여러 번 반복 실행하는 구조 제어문과 반복문 결합 사용 가능 어떻게 구성할지는 개발자의 몫   제어문과 반복문의 프로그래밍에서의 중요성 1. 유연성 : 프로그램의 다양한 상황 대처2. 코드 재사용 : 코드의 길이를 보다 간결하게 하고, 유지보수를 쉽게 만들 수 있음3. 자동화 : 대량의 데이터 처리나 반복 작업을 자동화 가능   파이썬의 조건문 : 주어진 조건에 따라 특정 코드 블록을 실행하거나 건너뛰는 기능 ※ 파이썬은 들여쓰기를 기준으로 코드 구조를 구분함 1. if문 : 해당 조건식이 참이면 해당 코드 블록 실행age ..

TIL/Python 2024.11.18

241118 인공지능을 위한 파이썬 - 2주차_1

컬렉션 자료형의 종류 1. 리스트 - 가변 자료형# 리스트 생성anything_list = [4, 1, 3.14, 5, 7]# 리스트 요소 접근anything_list[0] # 4# 슬라이싱을 통해 리스트 요소 범위로 접근anything_list[0:2] # [4, 1]anything_list[-1] # 7 (거꾸로 뒤에서 접근도 가능)# 리스트는 가변 자료형이기 때문에 데이터 변경이 가능anything_list[1] = "beady"anything_list # [4, 'beady', 3.14, 5, 7]# 리스트에 요소 추가anything_list.append(100)anything_list # [4, 'beady', 3.14, 5, 7, 100]# 리스트에 요소 제거anything_list.remo..

TIL/Python 2024.11.18

241117 인공지능을 위한 파이썬 - 1주차_2

데이터 타입의 종류별로 알아보자.5 # 숫자형 데이터"Hello!" #문자형 데이터10 == 10 # True(불리언=논리 데이터)10 == 9 # False(불리언=논리 데이터) 정수형(int) 데이터 : 소수점 없이 정수를 나타내는 데이터a = 5b = -5c = 0  실수형 데이터 : 소수점을 포함한 숫자를 나타내는 데이터※ 실수형 데이터는 컴퓨터에서 오차가 발생하므로 사용에 주의가 필요함!x = 3.14y = -0.002z = 2.0 정수형 + 문자열은 에러정수형 + 실수형은 연산 가능  복소수형 데이터 : 실수 부분과 허수 부분으로 구성된 숫자c1 = 1 + 2jc2 = 3 - 4j  문자형 데이터 : 문자나 단어, 문장을 저장하는 데이터작은따옴표 or 큰따옴표를 사용해서 표현함name = 'b..

TIL/Python 2024.11.17

241116 인공지능을 위한 파이썬 - 1주차_1

파이썬에서 변수를 설정하기 파이썬에서 변수를 선언하기name = "beady"age = 100 name은 "beady"라는 문자열을 저장한 변수가 됨age는 100이라는 숫자를 저장한 변수가 됨 파이썬에서 변수는 정해져 있지 않고, 사용하고 싶은 이름으로 사용 가능= 은 변수에 값을 할당해주는 할당 연산자의 역할을 함 변수를 재할당하기a = 10a = 20a를 20으로 다시 할당하면, 기존의 10값은 사라지고 20만 남게된다. 여러 변수에 값 할당하기a, b, c = 1, 2, 3각각, a = 1 / b = 2 / c = 3 의 값을 가지게 됨 x = y = z = 1x, y, z 모두 1의 값을 가지게 됨   이외에도 파이썬에서 사용되는 여러 연산자의 종류에 대해 알아보자. 산술 연산자 : 기본적인 사..

TIL/Python 2024.11.16

241115 아티클 스터디 - 비전공자도 이해할 수 있는 AI 지식

AI 트랙을 진행하면서 관련된 도서를 선물받았다. 금일 팀원들과 함께 책의 첫번째 챕터 "인공지능"을 읽고 내용을 공유하는 아티클 스터디를 진행했다. 팀원들과 공통적으로 도출한 인사이트는 바로, 1. 포기하지 않는 도전의 중요성AI 기술의 발전 과정은 여러 난관과 좌절을 겪어왔지만, 이를 극복하고 끊임없이 도전한 사람들이 있었기에 지금의 발전이 가능했다.이는 AI뿐만 아니라 모든 분야에서 중요한 태도로, 포기하지 않고 지속적인 노력과 도전하는 태도가 중요하다.2. AI 기술의 일상화와 중요성AI는 이미 우리의 생활 곳곳에 깊숙이 자리 잡고 있으며, 이러한 기술을 이해하고 활용하는 능력은 개인과 조직의 경쟁력을 높이는 중요한 요소로 작용한다.AI는 현재도 빠르게 발전 중이며, 앞으로도 많은 가능성을 품고 ..

TIL/AI 2024.11.15