보안교과서
[sesac 성동캠퍼스 1기] 10/30 인프라 활용을 위한 파이썬프로그래밍 교육 1일차(1) 본문
Ⅰ. 프로그램이란
컴퓨터에서 실행될 때 특정 작업을 수행하는 일련의 명령어들의 모음을 말합니다. 특정 문제를 해결하기 위해 처리 방법과 순서를 기술하여 컴퓨터에 입력되는 일련의 명령문 집합체이며 대부분의 프로그램은 실행 에 사용자의 입력에 반응하도록 구현된 일련의 명령어들로 구성되어 있다고합니다.
즉 프로그램 = 소프트웨어(SOFTWARE)=애플리케이션(APPLICATION),앱(APP), 응용 프로그램 모두 동일하다고 볼 수 있습니다.
파이썬을 이용하는 이유는 무엇인가?
파이썬이 데이터 분석하기 좋은 언어이기 때문이다.
컴파일러(compiler) 언어 | 스크립트 언어 |
소스 코드를 실행 가능한 기계어로 일괄 번역한 후에, 번역이 완료된 파일을 실행하는 언어를 의미함 | 소스 코드를 한 줄씩 읽어서 실행하는 언어 |
ex) C, C++, JAVA, C# | Python, 자바스크립트(javaScript), 펄(Perl) 등 |
수업 메모
- 파이썬은 스크립트 언어입니다. 언제든지 보고 수정이 가능합니다.
- 컴파일러 언어는 한번에 기계어로 번역하여 목적 프로그램으로 만들어 두기 때문에 스크립트 언어보다 속도가 빠릅니다.
- 컴파일러의 실행 파일은 컴퓨터가 이해하기 쉬운 언어이다. 스크립트의 소스코드 언어는 사람이 이해하기 쉬운 언어이다. 그렇기 때문에 컴퓨터로 작동하기 때문에 컴파일러의 작동 시간이 더 빠르다.
- 스크립트 언어는 수정가능하고 정보 공개가 쉽다.(그렇기 때문에 사업자 입장에서는 별로...?)
확인문제
소스 코드를 기계어로 번역하는 언어를 컴파일러 언어라고 부르고, 소스 코드가 한 줄씩 실행되는 언어를 스크립트 언어라고 부른다
프로그래밍 언어의 점유율
2020년도 말에는
C > 파이썬 > JAVA > C++ > C#.......이라고 하는데
https://www.tiobe.com/tiobe-index/ 를 참고하면
현재 점유율 파이썬 > C > C++ > JAVA > C# 순이다.
그럼 현재 점유율인 파이썬에 대해 알아보자
파이썬의 장점 | 파이썬의 단점 |
무료 오픈 소스와 강력한 기능 제공 사용의 용이성 다양하고 강력한 외부 라이브러리 제공 강력한 웹 개발 환경 제공 |
다른 언어에 비해 실행 속도가 느림 모바일 컴퓨팅 분야에 지원이 약함 하드웨어 제어 등과 관련된 부분도 사용하기가 쉽지 않음 |
이라고 하지만
모바일 컴퓨팅 분야는 라이브러리를 활용해서 해결할 수 있는 등 지금은 단점이 많이 보완되고 있는 듯 합니다.
확인 문제
파이썬의 장점으로는 다양하고 강력한 웹 개발 환경 제공(무료 오픈 소스와 강력한 기능?) ,파이썬의 단점으로는 컴파일러 언어가 아닌 스크립트 언어이기에 실행 속도가 느리다는 것이다.
파이썬 설치는 (https://www.python.org)에서 하면 됩니다.
파이썬 IDLE( Integrated Development and Learning Environment )
print를 활용해 출력하거나 계산식을 활용한다. 하지만 다른 곳에서 쓰이는 printf를 사용하면 다음과 같은 오류가 나온다.
친절하게 printf 대신에 print 를 활용하라고 설명해준다. 그리고..
print("100+200")으로 300이 아닌 100+200이 나온 이유는 " " 으로 인한 문자열로 인식하기 떄문에 그대로 출력된다.
그리고 IDLE 에서 File -> new file에 접속 후 스크립트 모드로 작성하여 f5를 활용하면
한 번에 나와서 간편하다. 공백 오류( 띄어쓰기 ), 문법 오류( printf 조심하자 )
파이썬의 변수
print() 함수 안에서 여러 개를 출력하고 싶다면 콤마(,)로 구분해야한다.
위와 같이 콤마로 구분하지 않고 바로 넣으면 아래와 같은 오류가 발생하기 때문에
a , b ,c 의 변수를 정해주고 다음과 같이 c를 출력하는 것으로 표현해봤다.
그리고 c = a + b로 표현하였는데 이렇게 표현한 이유는 대입 연산자인 =이 나오면 무조건 =의 오른쪽 부분이 모두 계산된 후에 왼쪽으로 대입되기 때문이다. 고로 a + b = c 는 오류가 발생한다.
확인 문제
100 = 150 + 200 은 변수가 숫자여서(?) 안되는 것으로 알고 있다.
result + 100 = 50 은 대입 연산자 =의 왼쪽 변수가 한 개가 아니다. 뺄셈 곱셈 나눗셈도 다 같다.
문자열을 변수에 대입 str 문자열 변수에 큰따옴표를 해야 오류가 안 뜬다. 또한 콤마를 넣어서 분리 하면 띄어쓰기한 상태로 나오는데 저렇게 +를 하면 붙여서 나온다고 말해주셨다.
참고로 문자열 덧셈은 가능하지만 뺄셈, 나눗셈, 곱셈은 불가하다. (22page는 오류인 듯하다 나눗셈 식에 덧셈 그림?)
계산기 문제 print 부분을 뺴도 상관없는데 습관적으로 해버렸다.
변수명 규칙
변수명은 영문 및 숫자만 사용할 수 있다. 영문 숫자 섞어서 가능하다.
a = 100 , abcd = 200, zzzz = 300 , p1234 = 400 , its4you = 600
하지만 위와 같이 영문으로 시작하면 괜찮다.
언더바(_)는 중간,앞 뒤 상관없다고 한다. 2갷씩 쓰이는 것만 주의하자
대문자 소문자 구별한다. tastydoorian 과 Tastydoorian 은 다르다.
변수 이름 잘하자..
input() 함수
키보드로 입력받도록 도와주는 함수
input() 함수는 입력받은 값을 모두 문자열로 취급한다..
num1 , num2에 입력된 100, 200은 숫자가 아니다?!?! 문자열이라고 한다.
int() 함수
는 정수로 변환한다
""을 나타내는 문자열 "100" 은 100으로 , 100.12는 100으로 변하게 하는 int()
int()는 문자열을 정수로 바꾼다 고로 안에 있는 input("숫자1 ==>") , input() = 문자열로 취급하기 때문에 int(input()) 이렇게 표현한다.
48page 택배 배송 다시 풀어보자
거북이 그래픽 코드 53page 는 다음에 해보자
'SK쉴더스' 카테고리의 다른 글
[sesac 성동캠퍼스 1기] 11/02 인프라 활용을 위한 파이썬프로그래밍 교육 4일차 (0) | 2023.11.03 |
---|---|
[sesac 성동캠퍼스 1기] 11/01 인프라 활용을 위한 파이썬프로그래밍 교육 3일차 (0) | 2023.11.01 |
[sesac 성동캠퍼스 1기] 10/30 인프라 활용을 위한 파이썬프로그래밍 교육 1일차(2) (0) | 2023.11.01 |
[sesac 성동캠퍼스 1기] 10/31 인프라 활용을 위한 파이썬프로그래밍 교육 2일차(1) (0) | 2023.10.31 |
[sesac 성동캠퍼스 1기] SK쉴더스 클라우드 기반의 모빌리티 융합보안 과정 지원 및 OT(오리엔테이션) 후기 (0) | 2023.10.30 |