연랩

[Microsoft AI School 6기] 12/19(4일차) 정리 - 파이썬 기본 문법(입력, 출력, 조건문 등) 본문

MS AI school 6기

[Microsoft AI School 6기] 12/19(4일차) 정리 - 파이썬 기본 문법(입력, 출력, 조건문 등)

parkjiyon7 2024. 12. 19. 17:57

파이썬 기본

 

 

파이썬

 

-> 프로그래밍 언어

 

- 플랫폼 독립성: 다양한 운영체제에서 시행 가능

- 동적 타이핑: 변수의 데이터 타입 미리 선언 안함

  -> 프로그램 중간에 바꿀 수 있음

- 멀티 패러다임 언어: 객체지향 프로그래밍, 절차지향적 프로그래밍

- 인터프리터 언어: 컴파일 과정 없이 코드를 실행 가능(Jupyter Notebook)- 줄별로 실행 가능, 개발 주기가 비교적 빠름

(실행 속도는 빠르지 않음.....)

- 쉬운 확장성: C, C++, Java 등 다른 언어와의 통합 용이

 

파이썬의 강점

- 간결하고 유연한 문법

- 풍부한 라이브러리와 프레임워크

  (단기간에 풍부한 라이브러리가 생겨남)

- 방대한 사용자 커뮤니티

 

파이썬 적용 분야

- 웹 프로그래밍

- 인공지능과 머신러닝

- numpy 모듈을 이용하여 데이터 분석

- 데이터 베이스 프로그래밍

- GUI 프로그래밍

- C/C++와 결합하기

- 사물 인터넷 

 

개발 환경

- Python IDLE

- Visual Studio Code

- PyCharm

- Jupyter

- Google Colab

 

VS code에서 파이썬 문법을 실행해 보도록 하겠다

 

우선, cell을 추가하기 위에서는 cell 우측 상단에 점3개>insert cell로 어디에 추가할 지 정하면 된다

 

Insert Cell

 

셀 양식을 변경하는 것 또한 가능하다

 

셀 선택 -> esc -> y 누르면 코드 셀,

                           m 누르면 마크다운 셀

로 변경이 되니 참고할 것

 

공식 홈페이지에서 자료를 확인 할 수 있는데,

python.org>docs로 가면 공식 문서를 확인할 수 있다

 

https://docs.python.org/ko/3.13/

 

python docs

 

 

파이썬 문법

 

print 함수

 

print(값, ..., [sep=''], [end=''])

 

- 값: 출력 대상(숫자, 문자열, 변수, 계산식)

- sep: 출력 대상들 사이에 넣을 구분 기호 지정, 기본은 공백

- end: 값 출력하고 마지막에 출력할 문자열 지정, 기본값은 줄바꿈

 

" ",' ' 활용하기

 

print 함수

 

"을 열어주었을 경우, 닫아주지 않으면 Syntax error가 뜨며,

'는 "으로 닫을 수 없다

 

print 함수

 

print 함수를 제외하고 ""만 쓰는 경우에는 마지막 내용이 출력되며,

""이 없으면 Syntax error가 뜬다

 

print 함수

 

,를 찍는 경우 Name error가 뜬다

 

print에 숫자를 넣는 경우,

 

print 함수

 

''을 넣는 경우 문자열로 인식하여 1+2를 출력하지만,

아래에서는 1+2를 숫자의 덧셈을 인식하여 3으로 인식한다

 

print 함수

 

이도 마찬가지로 숫자를 인식하여 계산한 결과를 출력하지만,

앞선 문자열과 마찬가지로 마지막 결과만을 출력한다

 

문자열은 반드시

'',""을 붙여주어야 한다

print

 

print

 

, 연산자로 분리 하여 출력할 수 있다. 이 경우, 출력시 띄어쓰기가 자동으로 반영된다

print함수 제작 시 인자가 여러 개 반영되면 출력을 띄어쓰기로 정했기 때문이다.

 

이는 아래의 옵션으로 해결할 수 있다

 

sep, end 옵션

 

print sep 옵션

 

중간에 분리(seperation)을 *로 하도록 하였다

 

즉, 이와 같이 아무것도 넣지 않으면

print sep 옵션

 

이와 같이 띄어쓰기 아니게 된다.

혹은, 연산자를 안 쓰고 작성하면 띄어쓰기를 할 수 있다

print +연산자

 

+연산자를 활용하여 문자열을 작성하면 띄어쓰기가 디폴트로 제공되지 않으므로 활용할 수 있다

 

또한 다른 옵션들도 존재하는데, python은 디폴트로 줄바꿈을 제공하는데, 이를 다른 것으로 바꾸고 싶으면 end =  옵션을 사용하면 된다

 

print end 옵션

 

즉,

end는 자동으로 문단변경이 되고

sep은 자동으로 띄어쓰기 되는 것이 디폴트이다

 

그외 다른 유의 사항을 살펴보자

 

print 함수

 

print 함수

 

한줄에 여러 개의 명령어를 작성하고 싶은 경우 ;을 붙여야 하지만 권장 사항은 아니다

또한 \없이 줄바꿈을 하는 것도 Syntax error를 만든다

 

print 함수

 

이렇게 출력하는 경우 리턴 값이 없어서 (None, None)이 뜨는 데 이후 함수에서 다시 다루도록 하겠다

 

 

 

자료형과 변수

 

변수

- 데이터(값)을 저장하는 메모리 공간

- 파이썬에서는 변수는 값을 가리키는 이름이다

- 파이썬에서는 변수에 값이 할당 될 때, 그 값의 데이터 형에 따라 변수 타입 결정

- 변수 이름은 영문, 숫자, _로 만등 수 있고, 숫자로 시작할 수 없음

- 변수 이름 대소문자 구분

- 변수 이름 사용자 keyword(for, in 등)는 불가

 

- 객체(자료형의 데이터 값)를 가리키는 것

 

키워드는 다음과 같이 확인 가능

keyword

 

자료형

- 프로그램에서 사용할 수 있는 자료의 종류

  • 정수(int)
  • 실수(float)
  • 문자열(str)
  • 논리형(bool)

-파이썬에서는 char, string 구별을 하지 않음

 

정수형- 소수점이 없는 수(10진수가 기본)

- 2진수는 0b1010

- 8진수는 0o71

- 16진수는 0xff

 

실수형- 소수점이 있는 수

- e, E 등의 지수 표현 활용

 

문자열형- 하나 또는 다수의 문자로 구성

부울 형- True, Flase 두가지 값을 가짐

 

type()으로 확인 가능

 

type 확인

 

파이썬은 동적으로 저장되기 때문에 자료형이 자동으로 바뀔 수 있다

 

type 변형

 

그러니 type을 확인할 것

 

자료형 변환

- 자료형은 서로 간의 변환이 가능하며 '형 변환'이라고도 함

- 함수를 사용하여 자료형 변환 가능

 

  • str()- 문자형으로 변환
  • int()- 정수형으로 변환
  • float()- 실수형으로 변환
  • bool()- 논리형으로 변환

0이면 False

1이상이면 True

 

bool

 

문자열도 마찬가지이다.

값이 존재하면 True라는 사실을 알 수 있다.

None, '', Flase

는 Flase 이다

 

다음의 예시를 살펴보자,

 

형변환

 

bool() 함수 자체가 형변환을 하는 것이 아니다. 이는 True, Flase 만을 판단해준다.

즉, 위 사진에서 살펴보면 bool(hello)가 논리형 데이터인거지, hello는 여전히 str이라 str로 출력된 것이다.

 

따라서 완전히 형변환을 하고 싶으면

hello = bool(hello)

와 같이 대입을 해주어야 한다

 

"안에는 ', ' 안에는 "를 써서 표현하면 되지만, 그렇지 않고 '안에'를 쓰고 싶으면

\를 써서 escape하면 된다

 

escape

 

또한, 여러 줄을 한번에 print할 수 있다

 

여러줄 print

 

 

연산자

 

수식: 연산자와 피연산자로 이루어지는 계산식

- 컴퓨터에 복잡한 계산을 시키기 위해 사용

 

  • 산술 연산자 : +, -, *, /, %(나머지), //(몫), **(거듭제곱)
  • 할당 연산자 : =, +=, -=, *=, /=, %=, //=, **=
  • 비교 연산자 : ==, !=, >, >=, <, <=
  • 논리 연산자 : and, or, not

산술 연산자 계산

 

산술 연산자

 

- 비교 연산자의 연산 결과는 bool 형이다

 

- 논리 연산자는 어떤 조건을 만족하는 참과 거짓을 이용해 연산

  and, or, not

 

and에서는 앞의 문항이 False이면 뒤를 검사하지 않고 False

or에서는 앞의 문항이 True이면 뒤를 검사하지 않고 True이다

논리 연산자

 

참고로 &&, || 는 안된다...ㅠ

& 와 |는 되는 듯..(2024.12.27 업데이트)

& ❘

 

문자열 연산

 

+ 연산자

+ 연산자

 

무엇과 함께 쓰이느냐에 따라 +로 문자열을 연결할 수 있다

- 연산자는 문자열과 쓰일 수 없다

 

* 연산자

*연산자

 

*연산자를 문자열과 사용하면 반복하여 출력해 준다

 

len()

또한 문자열은 len() 함수와 쓰일 수 있다

 

len()

 

파이썬에서는 문자열 길이를 그대로 출력하여 준다(공백 있으면 공백 포함)

 

 

문자열 인덱싱(Indexing)

 

파이썬에서 인덱싱은 0부터 시작한다

 

문자열 indexing

 

뒤에서 부터 세는 것도 가능하다

 

음수 인덱싱

 

뒤에서 부터 셀 때는 맨 뒤에 있는 것이 -1이다

(헷갈린다면 맨 뒤에 \0이 있다고 생각하자....)

 

여러 개를 한꺼번에 지정할 하고 싶은 경우,

 

ex) Life is too short에서 too 가져오기

 

1) +연산자 사용

 

+ 연산자 활용

 

2) 문자열 슬라이싱(Slicing)

 

[시작 인덱스 : 끝 인덱스: (간격)]

 

문자열 슬라이싱

 

여기서 알 수 있는 것은 시작은 포함이며 끝은 미만이다

 

문자열 슬라이싱에 대해 더 살펴보면,

 

인덱싱 시작 생략

 

앞을 생략하면 0이 디폴트 이며,

 

인덱싱 끝 생략

 

뒤를 생략하면 해당하는 번호부터 끝까지 출력된다.

또한, 

 

문자열 슬라이싱

 

::2를 입력하면 2개씩 건너 뛰어 나타나며, ::3을 입력하면 3개씩 건너 뛰어 나타난다

 

Type error

 

이 경우는 에러가 뜨는 것을 알 수 있다.

 

 

입력

 

파이썬은 input() 함수를 입력으로 사용한다

 

input

 

위와 같이 input을 사용하면 

input

 

상단에 입력할 수 있는 창이 뜬다

 

프롬프트에 내용을 기재할 수 있는데.

 

input

 

위와 같이 입력하면 프롬포트가 아래와 같이 뜬다

 

input

 

다음의 예시를 살펴보자

ex)

1) 사용자로부터 두 개의 정수를 압력 받아서 덧셈을 출력

 

, 연산자 활용

 

여기서 유의할 점은 input으로 받은 a는 우선적으로 string으로 저장이 된다.

그렇기 때문에 형변환을 해주어야 한다

그리고, + 연산자의 경우, 문자열은 문자열끼리만 더할 수 있기 때문에 add를 str 형식으로 바꿔야 한다

 

+ 연산자 활용

 

 

제어문자, 이스케이프 시퀀스(escape sequence)

- 화면에 출력되지는 않지만 출력 결과를 제어하는 문자

-> \ 뒤에 문자나 숫자가 오는 조합

x) \n, \t, \'   등

 

서식 지정자

: %로 시작하고 자료형을 뜻하는 문자로 구성

'%자료형' %(값)

ex) %d, %f

 

 

출력

 

출력형태- format()함수

{}와 format() 함수 안의 값들을 순서대로 대응하여 출력

 

- '{인덱스}'.format(값)

- '{인덱스 : 서식지정자}'.format

 

format

 

보통은 string의 인덱스를 값으로 가져감

ex) {0}은 0번 인덱스, 즉 format의 a를 말함

{2:,}의 경우 1000이 넘는 경우 ,로 구분 ex) 123,456

 

 

출력형태- f-string

- format 함수의 업그레이드 버전

- 파이썬 사용 시 f-string 사용을 권장한다

- f'{값:서식지정자}'

 

f-string

 

여기에서

{a*b: ,.2f}에서 ,.2f는 띄어쓰기를 하면 안된다.

또한 여러 개를 한꺼번에 입력할 수 있다

 

f-string

 

중괄호{} 안에 변수를 넣으며, 그 외에는 문자열로 인식한다

참조: ㄹ+한자 누르면 ㎥같은 표기를 할 수 있다

 

 

조건문

 

제어구조

: 프로그램에서 해야 할 흐름이나 순서를 처리하는 방법

 

- 조건문은 특정 조건을 만족할 때 어떤 동작을 수행하도록 하는 문장

- 조건식의 참(True)과 거짓(Flase)의 상태에 따라 그 사태에서 필요서 하는 코드들을 수행

 

조건문의 종류는 다음과 같다

 

조건문

 

기본적인 조건문의 형식은 다음과 같이 작성한다.

 

if (조건):

      명령

else:

     명령

 

if 문

조건문의 예시를 살펴보자

ex)

 

if문 예시

 

여기서 주목해야할 점은 인덴트이다. 마지막의 print('출력을 해보자')의 경우 조건문에 소속되지 않기 때문에 조건문에 관계 없이 출력됨을 알 수 있다

 

한가지 더 예시 코드를 작성해보면 다음과 같다

홀수 짝수 판별기

 

if~elif

- 다중 비교를 할 때 사용하는 조건문

- elif는 else if의 줄임말고 '그렇지 않고 ~라면'

 

elif 조건문

 

- 중첩 조건문도 있다

ex)

중첩조건문

 

 

오늘의 간단한 후기

 

사실 C언어를 할 줄 앎에도 불구하고 새로운 문법을 익히는 것은 쉽지 않은 것 같다. 정확히 말하면 기존에 알던 문법이 섞여서 헷갈린다(Syntax error) 여러가지로 경험해보고 하나씩 차분히 익힐 수 있는 좋은 기회인 것 같다. 질문하면 친절히 가르쳐 주시고 다른 분들도 채팅에 알려주셔서 어려움 없이 할 수 있었다.

 

 

 

출처

 

[1] Gabia Library, "Generative AI와 함께하는 콘텐츠 제작의 혁신," Gabia Library, 2024. Available: https://library.gabia.com/contents/9256/. Accessed: Dec. 18, 2024.

[2] Python Software Foundation, "Python: Programming language," Python.org, 2024. Available: https://www.python.org/. Accessed: Dec. 18, 2024.

 

-If any problem for references, or any questions please contact me by comments.

-This content is only for recording my studies and personal profiles

 

일부 출처는 사진 내에 표기되어 있습니다

본문의 내용은 학습과 개인 profile 이외의 다른 목적이 없습니다

출처 관련 문제 있을 시 말씀 부탁드립니다

상업적인 용도로 사용하는 것을 금합니다

본문의 내용을 Elixirr 강의자료 내용을 기반으로 제작되었습니다

본문의 내용은 MS AI School 6기의 강의 자료 및 수업 내용을 담고 있습니다.

 

 

 

 

반응형