일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- MS
- msai
- 마이크로소프트 ai 스쿨 6기
- microsoft ai school 6기
- micsrosoft ai
- 마이크로소프트 ai 스쿨
- 마이크로소프트 AI
- microsoft
- 마이크로소프트
- 마이크로소프트 ai school 6기
- microsoft ai
- 마이크로소프트 ai 스클
- microsoft ai school
- Today
- Total
연랩
[Microsoft AI School 6기] 12/19(4일차) 정리 - 파이썬 기본 문법(입력, 출력, 조건문 등) 본문
[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로 어디에 추가할 지 정하면 된다
셀 양식을 변경하는 것 또한 가능하다
셀 선택 -> esc -> y 누르면 코드 셀,
m 누르면 마크다운 셀
로 변경이 되니 참고할 것
공식 홈페이지에서 자료를 확인 할 수 있는데,
python.org>docs로 가면 공식 문서를 확인할 수 있다
https://docs.python.org/ko/3.13/
파이썬 문법
print 함수
print(값, ..., [sep=''], [end=''])
- 값: 출력 대상(숫자, 문자열, 변수, 계산식)
- sep: 출력 대상들 사이에 넣을 구분 기호 지정, 기본은 공백
- end: 값 출력하고 마지막에 출력할 문자열 지정, 기본값은 줄바꿈
" ",' ' 활용하기
"을 열어주었을 경우, 닫아주지 않으면 Syntax error가 뜨며,
'는 "으로 닫을 수 없다
print 함수를 제외하고 ""만 쓰는 경우에는 마지막 내용이 출력되며,
""이 없으면 Syntax error가 뜬다
,를 찍는 경우 Name error가 뜬다
print에 숫자를 넣는 경우,
''을 넣는 경우 문자열로 인식하여 1+2를 출력하지만,
아래에서는 1+2를 숫자의 덧셈을 인식하여 3으로 인식한다
이도 마찬가지로 숫자를 인식하여 계산한 결과를 출력하지만,
앞선 문자열과 마찬가지로 마지막 결과만을 출력한다
문자열은 반드시
'',""을 붙여주어야 한다
, 연산자로 분리 하여 출력할 수 있다. 이 경우, 출력시 띄어쓰기가 자동으로 반영된다
print함수 제작 시 인자가 여러 개 반영되면 출력을 띄어쓰기로 정했기 때문이다.
이는 아래의 옵션으로 해결할 수 있다
sep, end 옵션
중간에 분리(seperation)을 *로 하도록 하였다
즉, 이와 같이 아무것도 넣지 않으면
이와 같이 띄어쓰기 아니게 된다.
혹은, 연산자를 안 쓰고 작성하면 띄어쓰기를 할 수 있다
+연산자를 활용하여 문자열을 작성하면 띄어쓰기가 디폴트로 제공되지 않으므로 활용할 수 있다
또한 다른 옵션들도 존재하는데, python은 디폴트로 줄바꿈을 제공하는데, 이를 다른 것으로 바꾸고 싶으면 end = 옵션을 사용하면 된다
즉,
end는 자동으로 문단변경이 되고
sep은 자동으로 띄어쓰기 되는 것이 디폴트이다
그외 다른 유의 사항을 살펴보자
한줄에 여러 개의 명령어를 작성하고 싶은 경우 ;을 붙여야 하지만 권장 사항은 아니다
또한 \없이 줄바꿈을 하는 것도 Syntax error를 만든다
이렇게 출력하는 경우 리턴 값이 없어서 (None, None)이 뜨는 데 이후 함수에서 다시 다루도록 하겠다
자료형과 변수
변수
- 데이터(값)을 저장하는 메모리 공간
- 파이썬에서는 변수는 값을 가리키는 이름이다
- 파이썬에서는 변수에 값이 할당 될 때, 그 값의 데이터 형에 따라 변수 타입 결정
- 변수 이름은 영문, 숫자, _로 만등 수 있고, 숫자로 시작할 수 없음
- 변수 이름 대소문자 구분
- 변수 이름 사용자 keyword(for, in 등)는 불가
- 객체(자료형의 데이터 값)를 가리키는 것
키워드는 다음과 같이 확인 가능
자료형
- 프로그램에서 사용할 수 있는 자료의 종류
- 정수(int)
- 실수(float)
- 문자열(str)
- 논리형(bool)
-파이썬에서는 char, string 구별을 하지 않음
정수형- 소수점이 없는 수(10진수가 기본)
- 2진수는 0b1010
- 8진수는 0o71
- 16진수는 0xff
실수형- 소수점이 있는 수
- e, E 등의 지수 표현 활용
문자열형- 하나 또는 다수의 문자로 구성
부울 형- True, Flase 두가지 값을 가짐
type()으로 확인 가능
파이썬은 동적으로 저장되기 때문에 자료형이 자동으로 바뀔 수 있다
그러니 type을 확인할 것
자료형 변환
- 자료형은 서로 간의 변환이 가능하며 '형 변환'이라고도 함
- 함수를 사용하여 자료형 변환 가능
- str()- 문자형으로 변환
- int()- 정수형으로 변환
- float()- 실수형으로 변환
- bool()- 논리형으로 변환
0이면 False
1이상이면 True
문자열도 마찬가지이다.
값이 존재하면 True라는 사실을 알 수 있다.
None, '', Flase
는 Flase 이다
다음의 예시를 살펴보자,
bool() 함수 자체가 형변환을 하는 것이 아니다. 이는 True, Flase 만을 판단해준다.
즉, 위 사진에서 살펴보면 bool(hello)가 논리형 데이터인거지, hello는 여전히 str이라 str로 출력된 것이다.
따라서 완전히 형변환을 하고 싶으면
hello = bool(hello)
와 같이 대입을 해주어야 한다
"안에는 ', ' 안에는 "를 써서 표현하면 되지만, 그렇지 않고 '안에'를 쓰고 싶으면
\를 써서 escape하면 된다
또한, 여러 줄을 한번에 print할 수 있다
연산자
수식: 연산자와 피연산자로 이루어지는 계산식
- 컴퓨터에 복잡한 계산을 시키기 위해 사용
- 산술 연산자 : +, -, *, /, %(나머지), //(몫), **(거듭제곱)
- 할당 연산자 : =, +=, -=, *=, /=, %=, //=, **=
- 비교 연산자 : ==, !=, >, >=, <, <=
- 논리 연산자 : and, or, not
산술 연산자 계산
- 비교 연산자의 연산 결과는 bool 형이다
- 논리 연산자는 어떤 조건을 만족하는 참과 거짓을 이용해 연산
and, or, not
and에서는 앞의 문항이 False이면 뒤를 검사하지 않고 False
or에서는 앞의 문항이 True이면 뒤를 검사하지 않고 True이다
참고로 &&, || 는 안된다...ㅠ
& 와 |는 되는 듯..(2024.12.27 업데이트)
문자열 연산
+ 연산자
무엇과 함께 쓰이느냐에 따라 +로 문자열을 연결할 수 있다
- 연산자는 문자열과 쓰일 수 없다
* 연산자
*연산자를 문자열과 사용하면 반복하여 출력해 준다
len()
또한 문자열은 len() 함수와 쓰일 수 있다
파이썬에서는 문자열 길이를 그대로 출력하여 준다(공백 있으면 공백 포함)
문자열 인덱싱(Indexing)
파이썬에서 인덱싱은 0부터 시작한다
뒤에서 부터 세는 것도 가능하다
뒤에서 부터 셀 때는 맨 뒤에 있는 것이 -1이다
(헷갈린다면 맨 뒤에 \0이 있다고 생각하자....)
여러 개를 한꺼번에 지정할 하고 싶은 경우,
ex) Life is too short에서 too 가져오기
1) +연산자 사용
2) 문자열 슬라이싱(Slicing)
[시작 인덱스 : 끝 인덱스: (간격)]
여기서 알 수 있는 것은 시작은 포함이며 끝은 미만이다
문자열 슬라이싱에 대해 더 살펴보면,
앞을 생략하면 0이 디폴트 이며,
뒤를 생략하면 해당하는 번호부터 끝까지 출력된다.
또한,
::2를 입력하면 2개씩 건너 뛰어 나타나며, ::3을 입력하면 3개씩 건너 뛰어 나타난다
이 경우는 에러가 뜨는 것을 알 수 있다.
입력
파이썬은 input() 함수를 입력으로 사용한다
위와 같이 input을 사용하면
상단에 입력할 수 있는 창이 뜬다
프롬프트에 내용을 기재할 수 있는데.
위와 같이 입력하면 프롬포트가 아래와 같이 뜬다
다음의 예시를 살펴보자
ex)
1) 사용자로부터 두 개의 정수를 압력 받아서 덧셈을 출력
여기서 유의할 점은 input으로 받은 a는 우선적으로 string으로 저장이 된다.
그렇기 때문에 형변환을 해주어야 한다
그리고, + 연산자의 경우, 문자열은 문자열끼리만 더할 수 있기 때문에 add를 str 형식으로 바꿔야 한다
제어문자, 이스케이프 시퀀스(escape sequence)
- 화면에 출력되지는 않지만 출력 결과를 제어하는 문자
-> \ 뒤에 문자나 숫자가 오는 조합
x) \n, \t, \' 등
서식 지정자
: %로 시작하고 자료형을 뜻하는 문자로 구성
'%자료형' %(값)
ex) %d, %f
출력
출력형태- format()함수
{}와 format() 함수 안의 값들을 순서대로 대응하여 출력
- '{인덱스}'.format(값)
- '{인덱스 : 서식지정자}'.format
보통은 string의 인덱스를 값으로 가져감
ex) {0}은 0번 인덱스, 즉 format의 a를 말함
{2:,}의 경우 1000이 넘는 경우 ,로 구분 ex) 123,456
출력형태- f-string
- format 함수의 업그레이드 버전
- 파이썬 사용 시 f-string 사용을 권장한다
- f'{값:서식지정자}'
여기에서
{a*b: ,.2f}에서 ,.2f는 띄어쓰기를 하면 안된다.
또한 여러 개를 한꺼번에 입력할 수 있다
중괄호{} 안에 변수를 넣으며, 그 외에는 문자열로 인식한다
참조: ㄹ+한자 누르면 ㎥같은 표기를 할 수 있다
조건문
제어구조
: 프로그램에서 해야 할 흐름이나 순서를 처리하는 방법
- 조건문은 특정 조건을 만족할 때 어떤 동작을 수행하도록 하는 문장
- 조건식의 참(True)과 거짓(Flase)의 상태에 따라 그 사태에서 필요서 하는 코드들을 수행
조건문의 종류는 다음과 같다
기본적인 조건문의 형식은 다음과 같이 작성한다.
if (조건):
명령
else:
명령
조건문의 예시를 살펴보자
ex)
여기서 주목해야할 점은 인덴트이다. 마지막의 print('출력을 해보자')의 경우 조건문에 소속되지 않기 때문에 조건문에 관계 없이 출력됨을 알 수 있다
한가지 더 예시 코드를 작성해보면 다음과 같다
if~elif
- 다중 비교를 할 때 사용하는 조건문
- elif는 else if의 줄임말고 '그렇지 않고 ~라면'
- 중첩 조건문도 있다
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기의 강의 자료 및 수업 내용을 담고 있습니다.
'MS AI school 6기' 카테고리의 다른 글
[Microsoft AI School 6기] 12/23(6일차) 정리 - Dictionary, Tuple, 함수 (0) | 2024.12.23 |
---|---|
[Microsoft AI School 6기] 12/20(5일차) 정리 - 반복문, list (1) | 2024.12.20 |
[Microsoft AI School 6기] 12/18(3일차) 정리 - Git, GitHub 설치, 연결, 사용 (3) | 2024.12.18 |
[Microsoft AI School 6기] 12/17(2일차) 정리 - 이미지, 비디오 AI, AI Index Report (6) | 2024.12.17 |
[Microsoft AI School 6기] 12/16(1일차) 정리 - 생성(Generative AI) 소개 (6) | 2024.12.16 |