오늘보다 더 나은 내일의 나에게_

스마트인재개발원 국비지원무료교육 Python 기초 본문

스마트인재개발원

스마트인재개발원 국비지원무료교육 Python 기초

chan_96 2022. 3. 25. 20:50
728x90

저번 주부터 이번 주 수요일까지 파이썬 기초강의를 들었다. 기초강의 후 파이썬 라이브러리를 활용한 강의, 머신러닝 수업이 있기 때문에 파이썬 기초 부분을 열심히 해둬야 할 것 같다는 생각이 들어 이번 주는 파이썬 수업 내용을 정리해볼 생각이다.👀

 

파이썬을 이번 IoT과정 시작 전에 기초문법 정도만 인강으로 3주 정도 공부했었는데 벌써 3달.. 4달.. 전이라서🤦‍♂️ 생각나는 게 많이 없었다. 자바, Jsp/servlet, Spring 수업은 공부를 계속하면서 수업을 들었고 프로젝트 때도 계속 코드를 작성해서 새로운 개념이 나와도 많이 어렵다고 느낀 적은 없었다. 하지만 파이썬은 자바와는 다르게 간결한 문법을 사용했지만 자바에 익숙해진 나는 좀 어색하고 어렵게 느껴졌다...😵😵😵

 

먼저 파이썬 기초 수업 동안 jupyter nodebook을 사용했다. 일반 메모장 같은 느낌이었는데 간편하게 파이썬 코드 작성과 메모를 할 수 있어서 쉽게 적응했다. 

주피터 노트북

주피터 노트북 단축키 정리

더보기

 

 

 

Python의 특징

- 초보자가 배우기 쉽다.

- 다양한 라이브러리 및 툴을 가지고 있다.

- 머신러닝, 인공지능 및 데이터 과학 라이브러리와 프레임워크를 활용할 수 있다.

- Python을 필요로 하는 기업의 수요가 증가하고 있다.

 

문자열 포매팅(Formmating)

: 문자열 안의 특정한 값을 바꿔야 할 경우 사용

함수 설명
%s 문자열(string)
%c 문자 1개
%d 정수(Integer)
%f 실수(float-point)
%% Literal % (문자 % 자체)

 

1. % 기호
2. format함수 포매팅
3. f문자열 포매팅

 

조건문

: 상황에 따라 실행 흐름을 다르게 하는 문법

if, elif, else

 

리스트

- 파이썬의 자료구조 형태 중 하나
- 순서가 있는 수정 가능한 객체의 집합
- 대괄호([,])로 작성이 되고 리스트 내부의 값은 콤마(,)로 구분이 된다.
- 추가, 수정, 삭제 가능하다

메서드 정리

append( ) => 맨 뒤에 값을 추가

insert(인덱스위치, 값) => 인덱스 위치에 값을 추가

del 리스트명[인덱스값] => 리스트 값 삭제

 

remove(값) => 리스트 값 삭제


sort( ) => 리스트 오름차순 정렬


reverse( ) => 리스트 순서를 거꾸로 뒤집기

index(값) => 리스트 값 위치 반환

pop( ) => 리스트 값을 반환한 다음 리스트에서 제거
count(값) => 리스트에서 찾고자 하는 데이터가 몇 번 들어있는지 확인

len(리스트 명) => 리스트의 값 개수 반환
list12 = ['a','b','b','v','c','d']

튜플

- 파이썬의 자료구조
- 형태중 하나 순서가 있는 집합
- 소괄호((,))로 작성이 되며, 튜플의 내부 값은 콤마(,)로 구분
- 추가, 수정, 삭제 불가능

 

반복문

 

while문

흐름도

 

예제

더보기
while True:
    num1 = int(input("첫 번째 정수 입력 >> "))
    num2 = int(input("두 번째 정수 입력 >> "))
    
    if num1==0 and num2==0:
        print("프로그램이 종료되었습니다.")
        break
    print("두 정수의 합 : {}".format(num1+num2))




weight1 = int(input("현재 몸무게 : "))
weight2 = int(input("목표 몸무게 : "))
cnt = 1

while True:
    w1 = int(input(f"{cnt}주차 감량 몸무게 : "))
    weight1 -= w1
    cnt += 1
    
    if(weight1 <= weight2):
        print("{}kg 달성!! 축하합니다!".format(weight1))
        break​

 

for문

: 문자열 또는 리스트 또는 튜플이 들어갔을 때 안에 있는 요소를 하나씩 반복

range( ) 함수

- 필요한 만큼의 숫자를 만들어내는 유용한 기능

- range(시작할 숫자, 종료할 숫자, 증가량)

- range(1, 10, 1) -> 1부터 9까지 1씩 증가

- range(1, 100, 3) -> 1부터 99까지 3씩 증가

- range(10, 1, -1) -> 10부터 2까지 1씩 감소(-1씩 증가)

 

 

예제

더보기
for i in range(97,76,-1):
    print(i, end=" ")
    
for i in range(23,40,1):
    print(i, end=" ")

 


# 1번 문제
sum = 0
for i in range(0,101,3):
    sum +=  i
print(sum)

#2번 문제
for i in range(1,10,1):
    print(f"2 * {i} = {2*i}")

num = int(input("정수 입력 >> "))
print(f"{num}의 약수 : ", end="")

for i in range(1,num+1):
    if num%i==0:
        print(i, end=" ")

 

딕셔너리(dictionary)

: dictionary는 단어 그대로 해석하면 사전이라는 뜻

=> dictionary는 Key와 Value를 한 쌍으로 갖는 자료형

=> 타입은 immutable한 key mutable한 value로 맵핑되어 있는 순서가 없는 집합

딕셔너리명 = {Key : Value, Key:value, .........}
*Key에는 변하지 않는 값을 사용
*Value에는 변하는 값과 변하지 않는 값 모두 사용
dic_test = {'노래제목':'아무노래'}​


Key, Value 추가하기

dic_test['가수'] = '지코'
dic_test['날짜'] = '2022.01.13'​


딕셔너리 값 가져오기

#1번 방법 => 딕셔너리명[Key]
dic_test['노래제목']

#2번 방법 => 딕셔너리명.get(Key)
dic_test.get('노래제목']​


Key, Value 값 전부 가져오기

#key값 가져오기
dict_test.keys()

#value값 가져오기
dict_test.values()​

#반복문으로 한번에 출력
for key, value in dict_test.items():
    print(key,value)

 


in -> True, False
>>> in 딕셔너리의 키에 한에서 동작한다!
'노래제목' in dict_test #True
'아무노래' in dict_test #False​


딕셔너리 값 삭제

#딕셔너리 값 삭제 -> del 딕셔너리명[Key]
del dic_test['노래제목']

#딕셔너리 값 모두 지우기 -> clear()
dic_test.clear()​

 

함수란?

: 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합

함수를 사용하는 이유

- 반복적인 프로그래밍을 피할 수 있다
- 모듈화로 인해 전체적인 코드의 가독성이 좋아진다
- 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수가 가능하다

함수의 구조 

def 함수명(매개변수):
     실행 문장
     return 반환 변수

 

예제

더보기
def number_sub(num1,num2):
    return num1-num2

num1=int(input("첫 번째 정수 입력>> "))
num2=int(input("두 번째 정수 입력>> "))
result = number_sub(num1,num2)
print(result)​



def cal(num1,num2, op):
    """덧셈과 뺄셈을 계산하는 함수"""
    if op == "+":
        result = num1+num2
    elif op == "-":
        result = num1-num2
    return result
    
num1 = int(input("첫 번째 정수 입력 >> "))
num2 = int(input("두 번째 정수 입력 >> "))
op = input("연산자 입력(+,-) >> ")
result = cal(num1,num2, op)
print(f"결과 : {result}")​

독스트링(docstring) => 함수의 설명을 작성(Shift+<Tab>)

 

 

가변 매개변수(*)

: 함수 호출 시 몇 개의 인수가 전달될지 알 수 없다면, 사용자가 직접 매개변수의 개수를 정할 수 있도록 선언

전달된 모든 인수는 튜플(tuple)의 형태로 저장


예제
def add(*args):
    print(args)

add(1,2,3,4,5)​

 

=> 함수의 반환 값은 언제나 하나이다! return 값

 

기본값 설정

=> num**power에서 **는 지수를 뜻 함!

 


현재 모집 중인 과정

3월 25일 기준!

 

스마트인재개발원 본점 남구 CGI센터

 

 

 

스마트인재개발원 분점 동구 아트센터

 

 

 

스마트 인재개발원이 궁금하다면 아래 링크! 

https://www.smhrd.or.kr/

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr

728x90
Comments