나의개발일지(TIL)

[스파르타 내일배움캠프]1일차 -인공지능을 위한 파이썬

development-1 2024. 9. 30. 21:06
 
 

 

인공지능을 위한 파이썬 1-6[完]

인공지능을 위한 파이썬 2-6[完]

 


 

 

프로그래밍 언어란?

 

2진수를 사용하는 컴퓨터언어를 사람이 익히기엔 어렵기에,

쉽게 컴퓨터에 명령을 내리기위해 만들어진 언어

 

주요 기능

1.명령어 전달 -컴퓨터에서 명령 하달

2.논리 표현 - 조건, 반복등 복작한 논리를 표현할수 있음

3.데이터 처리 -숫자,문자열 등의 데이터를 처리할수있음

 

프로그래밍 언어는 2가지로 나뉘어 지며 '저수준 언어'와 '고수준 언어'로 나뉨

각각의 특징은 다음과 같음 .

 

저수준 언어 - 컴퓨터가 직접 이해하기 쉬운 언어로 이루어져 있는 언어

                      예시 - 어셈블리어 ,기계어

특징   

  • 빠른 실행속도 -컴퓨터가 이해하기 쉽기에 처리속도가 빠름
  • 직접적인 하드웨어 제어  -메모리관리나 하드웨어와의 상호작용을 세밀하게 할수 있음
  • 어려운 문법 - 보다 복잡하고 어려운 문법을 사용 할 수 있음

고수준 언어  - 사람이 이해하기 쉽게 만들어진 언어 컴퓨터에게는 저수준언어로 변화하여 전달.

                           예시 - 파이썬 , 자바 , C++

 

특징

  • 쉬운 문법 -배우기 쉽고 개발속도가 빠름
  • 포터블 - 다양한 시스템에서 사용가능 .

그 중에도 인터프리터 언어와 컴파일 언어로 나뉘어 지며, 내가 배울 파이썬은 인터프리터 언어에 속한다.

인터프리터는 코드를 한줄씩 해석하며 실행하고 컴파일 언어는 한번에 모두 번역후 실행한다

 

인터프리터 언어  = 놀이공원 대기줄                  컴파일언어 = 대형마트 결제 줄 이라고 생각하면 편하다.

그렇기에 실행 속도는 컴파일 언어가 인터프리터언어보다 빠르지만 ,

디버깅 시 수정후 다시 컴파일해야 하므로 개발 속도는 인터프리터 언어보다 느릴수있다.

 

 

 

IDE란?

프로그래밍을 더 편하게 할수 있도록 도와주는 소프트웨어들을 통칭하며, 여러 도구들을 하나로 통합해서 제공한다

  • 코드 작성 - 자동완성, 구문 강조 등 편리한 기능을 제공합니다.
  • 디버깅 - 코드를 실행하면서 오류를 찾아내고 수정할 수 있습니다.
  • 컴파일 및 실행 - 코드를 작성하고 바로 실행 할 수 있습니다.

그중 내가 사용할 VSCode는 마이크로 소프트에서 만든 무료 코드 편집이며, 가벼우면서 다양한 기능을 제공한다

주요 특징 으로는 

  • 확장성 - 다양한 확장 기능을 설치해 나만의 환경을 꾸릴수 있다.
  • 다양한 언어 지원 - 파이썬 ,자바스크립트 ,c++ 등 여러 언어를 지원한다.
  • 통합 터미널 - 별도의 터미널 프로그램 없이 ,  VSCode 내에서 명령어를 실행할수있다.

 설치방법

https://code.visualstudio.com/ 이동하여 본인 OS 에 맞는 버전을 다운로드하고 설치,

 Extensions으로 들어가파이썬 검색후 설치

 

VSCode에서 Hello World 실행하기

상기 내용으로 파이썬 설치까지 완료 했다면

 

1.좌측 상단의 file을 통해 새 파일을 만들고 파일 이름을 작성하는데  확장자명을 .py로 만들어 준다.

이후 만들어진 test.py를 클릭하고 

 

2.print("Hello, World!") 코드 작성

3.VSCode 하단에서 터미널을 연다.  (단축키 ctrl+~)

   터미널에 다음 명령어를 입력하여 코드를 실행한다.

    python test.py

   터미널에서  Hello, World 출격 결과를 확인할수 있다.

 

 

 

데이터 저장의 기본 :  변수의 선언과 할당

변수란 ?

컴퓨터 프로그램에서 데이터를 저장하기 위해 사용되는 "이름이 붙은 저장공간" ,

어떤 값을 저장해두고 필요할 때 그 값을 꺼내 사용하는 역할을 한다.

 

변수 이름을 지을 때의 규칙

1. 문자 (A-Z,a-z),숫자(0-9),밑줄(_)만 사용 할수 있다.

2. 숫자로 시작할수 없다.

3. 대소문자를 구분한다.

4. 파이썬의 예약어는 변수로 사용할수 없다.

 

ex) name = "alice"

      age = 25

위 예시에서 name과 age가 변수, 각각 alice 라는 문자열과 25라는 숫자를 저장하고 있다.

 

파이썬에서는 변수를 선언 할때 별도의 키워드를 사용하지 않아서 그냥 변수를 사용하고 싶은 이름으로 선언만 하면 된다.

한번 선언된 변수는 다른 값으로 언제든 재할당 할수 있다.

 

ex) x = 10 

      a = 30

      a = 15

위 예시는 x에 10을 저장하고 a에 30을 저장했다가, 이후 a에 15라는 값으로 재 할당한 모양이다.

그러면 이전의 30이란 값은 사라지고 a에는 15만 남는다

     

 

변수에 값을 할당 할때는 = 기호를 사용하며, 변수의 이름을 왼쪽에 저장하고 싶은 값을 오른쪽에 적는다.

컴퓨터에서  =는 '같다'라는 의미가 아니라 '할당하다' 라는 의미로 해석하며,

다음예시 처럼 여러 변수에 한번에 값을 할당하는 것도 가능하다.

 

ex1 )  a , b , c = 1 , 2 , 3 

 

ex2 )  x = y = z = 100

 

ex1의 코드는 a,b,c,는 각각 1,2,3,의 값을 가지게 되며 

ex2의 코드는 x,y,z, 모두 100의 값을 가지게 된다

 

 

 

다양한 연산자 알아보기

 

 

산술 연산자

 

산술 연산자는 기본적인 수학 연산을 수행하는데 사용한다.

 

비교 연산자

 

비교 연산자는 두 값을 비교하여 참(True) 또는 거짓(False)를 반환 한다.

 

논리 연산자

논리 연산자는 논리값(True,False)을 결합하여 새로운 논리값을 반환한다.

 

대입 연산자

 

 

대입 연산자는 변수에 값을 할당 할때 사용되며 , 기본적인 = 외에도 여러 복합 대입 연산자가 있다.

 

멤버십 연산자

 

멤버십 연산자는 특정 값이 시퀀스(문자열,리스트,튜플 등)에 속해 있는지 확인한다.

 

식별 연산자

 

식별 연산자는 두 변수가 동일한 객체를 가리키는지 확인한다.

비트 연산자

비트 연산자는 이진수(bit) 수준에서 연산을 수행한다.

 

 

데이터 타입 알아보기 : 숫자형, 문자형, 불리언

숫자형

  • 정수형(int) ex) 10 , -5 , 0
  • 실수형(float) ex) 3.66 , 0.004 , 5.0
  • 복소수형(complex) ex) 1+ 2j , 3+4j

문자형

  • 문자형(string) -따옴표 ( '   ' ) 나 큰따옴표 ( "  " ) 로 표현 함 ex) '서숭문'  "seo soongmoon" 
  • 여러줄 문자열- 작성하려면 삼중따옴표 ('''  ''')를 사용한다. ex) massage = '''안녕하세요 !      
                                                                                                         여러줄은 따움표 3개 사용 해 주세요 '''
  • 문자열 인덱싱과 슬레이싱 - 인덱스를 통해 개별 문자에 접근 할수 있으며 슬라이싱을 통해 부분 문자 추출가능 
                                                 ex) text = "python"
                                                                 
                                                       print(text[0])         # 'p'
                                                       print(text[1:4])      # 'yth' 

불리언

  • 불리언은 True 또는 False를 나타내는 데이터 타입 주로 조건문에서 사용되며 2가지 값만 가질수있다.
  • 불리언 연산의 경우 논리 연산자(and,or,not)과 함게 사용된다.
    ex) a= true
          b= false
    print(a and b)          #false
    print(a or b)             #true
    print(not a)              #false
  • 비교 연산자(==,!=.>,<) 등을 사용한 결과는 불리언 값으로 반환된다.
    ex) x = 10
          y = 20
    print (x==y)       #false
    print (x<y)         #true

 

컬렉션 자료형 알아보기 : 리스트 , 튜플 , 딕셔너리 , 셋

 

리스트

리스트는 여러개의 항목을 순서대로 저장하는 가변 자료형, 대괄호 [   ] 로 표현

특징으로는 순서가 있고 가변적이며 중복된 요소를 가질수 있음

 

 

튜플

리스트와 유사하지만, 생성되면 수정할수 없는 불변 자료형, 소괄호 (   ) 로 표현

특징으로는 리스트와 같지만 불변적이다.

 

딕셔너리

딕셔너리는 키-값 쌍 으로 데이터를 저장하는 자료형, 중괄호 {  } 로 표현하며 키와 값은 콜론 :  으로 구분함.

특징으로는 순서가 없고 키를 통해 접근 가능하며 가변적이다. 키는 유일해야 하고 값은 중복될수있다.

 

 

셋은 중복되지 않은 요소들의 집합을 나타내는 자료형, 중괄호 {   } 로 표현한다

특징으로는 순서가 없고 가변적이며 중복된 요소를 가질수 없다.

 

 

 

PYTHON 조건문

 

조건문이란 주어진 조건에 따라 특정 코드 블록을 싱행 또는 건너뛰는 기능을 하며,

조건문을 통해 순차적 실행을 넘어 결정을 할수 있게 한다.

 

 

if문 : 기본적인 조건문

if문의 기본구조  -  if 뒤에는 조건식이 오고, 조건식이 true면 해당 코드 블록이 실행됨.

 

ex) age =20

 

if age >= 18 :

             print ("성인입니다")

 

이 예시에서는 age가 18 이상이므로 if안의 코드가 실행되어 성인입니다가 출력된다.

 

else문 : 조건이 거짓일때 실행

else문 기본구조 - if문의 조건이 false일때 실행되는 코드 블록을 정의한다.

 

ex) age =16

 

if age >= 18 :

             print ("성인입니다")
else : 

            print("미성년자입니다")

 

이 예시에서 age는 16이라 18보다 작으므로 else 블록이 실행되어 미성년자입니다가 출력된다.

 

 

elif문 : 여러 조건 검사하기

elif문은 여러개의 조건을 순차적으로 검사할 때 사용가능 하며,

if문 다음에 여러개의 elif문을 사용하여 각 조건을 순서대로 검사하고

처음으로 참인 조건이 발견되면 해당 코드 블록이 실행됩니다

 

ex) age =16

 

if age >= 20 :

             print ("성인입니다")

elif age >= 17 :

             print ("고등학생입니다")

elif age >= 14 :

             print ("중학생입니다")

elif age >= 8 :

             print ("초등학생입니다")

else : 

            print("미취학아동 입니다")

 

 

이 예시에서 age  가 16이므로 , elif age >= 14 : 조건이 참이 되어 중학생입니다가 출력된다.

 

*조건문은 위에서 부터 순차적으로 조건을 검사함,
 첫번째로 true인 조건이 발견되면, 이후의 조건은 검사 하지 않음*

 

중첩 조건문

중첩조건문은 조건문안에 다른 조건문을 사용할수있으며

보다 복잡한 논리 구조를 만들 수 있다.

 

ex) age =20 

      is_student = true

 

if age >= 18

            if is_student :

                  print("성인이고 , 학생임 " )

            else : 

                 print("성인인데,학생이 아님")

else

           print ("미성년자입니다")

 

위 예시에서는 age가 20살 이상이며 is_student가 true 이므로 성인이며 학생입니다가 출력된다

 

PYTHON 반복문

 

반복문이란 동일 코드 블록을 여러번 실행할수 있도록 하는 구조,

반복문을 사용하면 코드의 중복을 줄이고 , 효율적인 프로그램 작성이 가능함

 

 

for문 : 컬렉션 기반 반복

for문의 기본구조는 컬렉션의 각 요소를 순차적으로 순회하며 코드 블록을 실행함 

컬렉션( 리스트 , 튜플 , 문자열 등)

 

ex) for 변수 in 컬렉션 : 

                     실행할 코드

 

이 예시에서 fruits 리스트의 각요소를 fruit 변수에 할당하여 반복문을 실행하며, 
결과적으로 apple , banana , cherry가 각각 출력됨

 

while문 : 조건 기반 반복

while문은 조건식이 참인 동안 반복해서 코드 블록을 실행하며 , 거짓이 되면 종료함.

 

ex) while 조건식 :

               실행할 코드 

 

이 예시에서는 count가 0보다 클때까지 반복문이 실행되며, 반복 할때마다 count가 1씩 감소됌
이후 카운트다운이 출력되고 가장 마지막에 발사가 출력 된다.

 

 

반복제어 : break와 continue

break는 반복문 내에서 특정 조건이 만족되면 즉시 종료시킴.

이 예시에서는 i가 5일때 break문이 실행되어 반복문이 종료되고 따라서 1에서 4까지 숫자가 출력된다.

 

continue는 특정조건에서 코드블록의 일부를 실행하지 않고 다음 반복으로 넘어가고 싶을때 사용한다.

 

이 예시에서는 i가 짝수 일때 continue 문이 실행되어 반복되기에 1,3,5,만 출력된다.

 

이 예시는 break와 continue를 같이 사용한 예시이며, 짝수를 입력하면 홀수인지 짝수인지 판단한다.

 

반복문과 컬렉션 : range() 함수 활용

 

range() 함수는 특정 범위의 숫자 시퀀스를 생성하며,for문과 자주 사용되고, 반복횟수를 지정할때 유용함.

 

ex) for test in range(1,10,2)

          print(test)

 

이 예시에서 1은 시작할 숫자(기본값은 0) 10은 종료할 숫자(해당숫자는 포함 x) 2은 숫자간의 간격을 나타냄

그래서 출력은 1부터 9까지 2씩 증가하는 숫자를 출력하고 결과적으로 1,3,5,7,9를 출력함

 

 

 

오늘의 회고

쉽지않다. 2시간 반 정도되는 짧은 강의 였는데, 아무리 OT고 팀노션 오류로 2시부터 시작했다고 하나,

돌려보고 네이버도 뒤져보고 했더니 ,, 시간이 11시다

그동안 쉬면서 머리도 많이 굳은거 같고, 앉아 있는게 많이 힘들다.

강의 영상에서는 쥬피터로 실행을 해서 그런지 코드가 굉장히 간단해서 뭔가 엄청 빠른데 

난 VScode로 실습하니 각종 코드를 일일히 다 입력하다보니 시간이 더 걸린거같다.

언젠간 익숙해 지겠지 !