분명 배웠던 건데 새롭다.
플랫폼도 브런치로 새롭게 도전 - 하려 했으나 작가 신청을 해야해서 일단 티스토리로 도전
나름 의욕 가득하게 시작해서 꽤 한 줄 알았는데 딱 1주차 분량까지 공부했다.

기본 숙제

- 기본 숙제
3번)
<실행 결과>
# 연습 문제
\\\\
--------
*백슬래쉬는 에스케이프 문자이기 때문에, 백슬래쉬 하나를 프린트하려면 두 번 입력해줘야함!
윈도우 키보드에선 원화 표시가 \
4번)
<실행 결과>
녕
하
세
요
IndexError : string index out of range
<이유>
인덱스는 0부터 시작하기 때문에
print ("안녕하세요"[5]) 행에서 오류가 발생한다.
안녕하세요의 index는 0~4.
[5]는 문자열의 글자수를 넘는다. 따라서 IndexError가 발생함.
5번)
<실행결과>
녕하
하세
녕하세요
안녕
다음은 옵시디언으로 정리한 내용
1주차 내용 ~ 목차 02-1 까지 (~101P)
옵시디언으로 정리해서 가독성이 떨어진다 ! 자세한 건 옵시디언 참고
# 1. 파이썬 시작하기
## 01-1. 파이썬을 하기 전에 읽는 아주 간단한 설명
- 소스 코드 : 프로그래밍 언어로 작성한 프로그램
- 파이썬의 장점
- 간단
- 사용자수 많음 = 다양한 분야에서 활용 가능
- 대부분 운영체계에서 같은 방법으로 사용 가능
- 파이썬의 단점
- 느림 (그러나 이제는 컴퓨터 성능이 좋아져서 대부분 ㄱㅊ)
- C언어같이 어려운 언어일수록 빠르다 = 대규모 게임 등 만들 때 사용
## 01-2. 파이썬을 배우기 위해 준비해야 할 것들
- 파이썬 설치 시 **>>>** : 프롬프트
=여기를 **인터랙티브 셸**이라 함
간단한 실행 결과 등 확인할 때 활용하면 편리
- 긴 모드 입력하거나 저장해야 할 때 = **텍스트 에디터** 사용
메모장도 가능. 파이썬과 함께 설치되는 IDLE 에디터 사용
- 셸shell : 간단한 대화 형식으로 명령어 입력해서 무언가를 실행하는 공간
- 코드 입력 -> 다른 프로그램 실행 or 특정 기능 수행 가능
- 파이썬에선 두 가지 셸 활용 가능
- **1) 윈도우 파워셸 (윈도우 기본셸)**
![[Pasted image 20240622144005.png]]
- python 명령어 실행 -> 다른 프로그램 실행 가능
- 입력하는 곳이 **> 로 표시**
- **2) 파이썬 인터랙티브 셸**
- 간단한 python 코드를 입력하고 실행
- 입력하는 값이 **>>>로 표시
- 윈도우 기본 셸에서 **python 명령어 실행**하면 진입가능
- 비쥬얼 스튜디오 코드로 코드 작성 -> 파워셸 (윈도우) or 터미널(Mac) 등의 셸에서 파이썬 명령어 (python) 를 입력해 코드 실행하는걸 추천
- 해당 코드가 저장된 폴더에서 바로 폴더 빈 공간에서 Shift + 우클릭 -> 여기에 PowerShell 창 열기 ![[Pasted image 20240622155625.png]]
이렇게 하거나
or
1) 현재 폴더 확인하기 : ls 명령어 / cd 명령어 / Get-Childitem 명령어 -> 모두 같은 결과 출력
![[Pasted image 20240622155808.png]]
![[Pasted image 20240622155851.png]]
explorer . (띄어쓰기 후 마침표) 명령어 쓰면 폴더 창 형태로 찾을 수 있음.
2) 폴더로 이동하기 : cd명령어
- cd.. 입력하면 상위폴더로 이동
3) 파이썬 파일 실행하기 : python 명령어
- 명령어를 실행하는 위치와 파이썬 파일이 있는 위치가 일치해야함
- python 뒤에 파이썬 파일 이름 ex) test.py
- python test.py
### Summary
1) for 파이썬
- **1) 텍스트 에디터 = 파이썬 코드 입력**
- **ex) IDLE (간단) / 비쥬얼 스튜디오 코드**
- **2) 파이썬 인터프리터 = 파이썬 코드 실행**
- **ex) 윈도우 파워셸** ?
두 가지가 필요
2) 파이썬은 명령 프롬프트의 **>>> 코드에 입력하면 바로 실행 결과를 볼 수 있음** = 한 마디씩 주고받는 것처럼 대화한다고 해서 **인터렉티브 셸** (대화형 셸) 이라고 함.
3) 파이썬으로 작성한 파일은 해당 폴더의 윈도우 파워셸이나 명령 프롬프트에서 python 명령어로 실행 가능
## 01-3. 이 책에서 자주 나오는 파이썬 용어들
- 문장 (statement): 실행할 수 있는 코드의 최소 단위
- 프로그램 (program) : 문장들이 모인 것
- 표현식 (expression) : 어떠한 **값을 만들어 내는** 간단한 코드
- 키워드 (keyword) : 특별한 의미가 부여된 단어
- 파이썬이 만들어질 때 이미 만들어진것
- 사용자 이름 정할 때 키워드와 겹치면 안된다
- 다만 대소문자 구분됨 (True는 키워드 / true는 키워드 X)
> 키워드 종류
> #False #None #True #and #as #assert #async #await #break #class #continue #def #del #elif #else #except #finally #for #from #global #if #import #in #is #lambda #nonlocal #not #or #pass #rasie #return #try #while #with #yield
- 파이썬 키워드 확인
- >>> import keyword
- >>> print(keyword.kwlist)
- 식별자 (identifier) : 프로그래밍 언어에서 이름을 붙일 때 사용하는 단어. 주로 변수 or 함수 이름 등으로 사용.
- 식별자 이름 규칙
- 키워드 사용 X
- 특수 문자는 언더 바 (_) 만 허용
- 숫자로 시작 X
- 공백 포함 X
- 전세계 모든 언어 사용 가능하지만 알파벳이 관례
- snake_case : 단어 사이에 _ 붙여 만들기
- CamelCase : 단어 첫 글자 대문자로 만들기
- 식별자 구분하기
- 캐멀 케이스 -> 클래스
- 스네이크 케이스
- 뒤에 괄호가 있다 -> 함수
- 뒤에 괄호가 없다 -> 변수
- 주석 (comment) : 프로그램 진행에 전혀 영향 주지 않는 코드, 프로그램을 설명하기 위함
- 표현하는 부분 앞에 '#' 기호 붙여 주석 처리
- 연산자와 자료
- 연산자 : 값과 값 사이에 무언가 기능을 적용할 때 사용하는 것.
- +, - 단독으로 쓰일 때는 아무 의미 X
- 양쪽에 숫자가 있을 땐 더하기, 빼기 등 기능 수행하게 되는것
- 자료 (literal) : 숫자든 문자든 어떤 '값' 자체
- 출력: print()
# 2. 자료형
## 02-1. 자료형과 문자열
- 문자열 (**string**) : 메일 제목, 메시지 내용 등 ex) "안녕하세요", "Hello World"
- 숫자 (**number**) : 물건의 가격, 학생의 성적 ex) 52
- 불 (**boolean**) : 친구의 로그인 상태 등 ex) True, False
- 자료형 확인 : type() 함수 사용
-
### 문자열 (string) 만들기
- 큰 or 작은 따옴표로 감싸 입력한 모든 것 = string
- 문자열 내부에 큰 따옴표를 넣으려면 -> 작은따옴표로 문자 만들기 / 반대도 마찬가지
- print('"안녕하세요"라고 말했습니다')
- print("'배가 고픕니다'라고 생각했습니다")
- 이스케이프 문자 (escape character) :\\(역슬래시) 기호와 함께 조합해서 사용하는 특수한 문자
- **역슬래시(\\)** = 한국어 키보드에서 원화 기호
- \\\\" -> 문자열을 만드는 기호가 아니라 단순한 따옴표로 인식
- \\\\' -> 마찬가지
- \\\\n : 줄바꿈
- >>> print("동해물과 백두산이 마르고 닳도록 \\n 하느님이 보우하사 우리나라 만세")
- 이걸 여러 줄 문자열으로 쓸 수도 있음.
- **여러 줄 문자열 = """ or '''** 로 사용
- >>> print("""동해물과 백두산이 마르고 닳도록
하느님이 보우하사 우리나라 만세""")
- 이렇게 쓰는것과 같음.
- \\\\t : 탭을 의미
- >>> print("안녕하세요\\n안녕하세요")
- 안녕하세요
- 안녕하세요
- \\\\\\ : \\를 의미
### 문자열 연산자
- 연산자는 특정한 자료의 형태에 종속됨
- '숫자'라는 자료 => 더하기, 빼기, 곱하기, 나누기 연산자는 적용 O
- BUT 합집합, 교집합, 차집합 연산자는 적용 X
- 각 자료는 사용할 수 있는 연산자가 정해져 있음
- **문자열 연결 연산자: +**
- 문자열 + 문자열
- 문자열 반복 연산자: *
- 숫자 * 문자열
- 문자열 * 숫자
- 문자 선택 연산자(인덱싱): []
- 문자열 내부의 문자 하나를 선택하는 연산자
- 특정한 위치는 **"0번째부터 센다"**
- 2가지 유형
- 제로 인덱스 : 숫자를 0부터 셈
- 원 인덱스 : 숫자를 1부터 셈
- 파이썬은 제로인덱스
- 문자열[숫자]
- >>> print("ABCDE"[0])
- A
- >>> print("ABCDE"[3]
- D
- "안녕하세요"
- 0번째: 안
- 1번째: 녕
- 2번째: 하
- -1번째: 요 (뒤에서부터)
- -2번째: 세
- -3번째: 하
- -4번째: 녕
- -5번째: 안
- **문자열[숫자A:숫자B]**
- 숫자 A번째부터 숫자 B번째 선택, 이때 숫자 B는 포함하지 않는다 !
- **(숫자B-1)번째까지 선택한다고 보기**
- "안녕하세요"[0] = "안"
- "안녕하세요"[3] = "세"
- - "안녕하세요"[0:3] = "안녕하"
- "안녕하세요"[:3] = "안녕하"
- "안녕하세요"[3:] = "세요"
- "안녕하세요"[:] = "안녕하세요"
- 문자열[숫자A:숫자B:스탭]
- "0123456789"[::]
- "0123456789"[1:4:2]= "녕세"
- "0123456789"[::-1] = "9876543210"
- 문자열 전체를 뒤집을 수 있음
- 용어정리
- 인덱스 : 위치를 나타내는 숫자
- 문자열[인덱스]
--> 인덱싱
- 문자열[인덱스:인덱스]
- 문자열[인덱스:인덱스:스탭] *위치를 나타내는 숫자가 아니니까 '스탭'이라 함*
--> 슬라이싱 (인덱스 2개 이상)
- IndexError(Index out of range) ***중요한 오류니 기억
- 리스트/문자열 수를 넘는 요소/글자 선택 시 발생.
- >>> print("안녕하세요"[100]) 이렇게 하면 IndexError 발생
- 그러나 슬라이싱 때는 IndexError가 발생하지 않음
- >>> print("안녕하세요"[1:100])
- 녕하세요
- 그러나 오류 발생이 안된다 해도 "이상한코드"
- 문자열의 길이 - len()함수 사용
- >>> len("안녕하세요")
- 5
- 순서는 0부터 시작하지만, 개수 등은 1부터임
알바를 시작했더니 소홀해졌다. 꾸준히 할 수 있도록 ... 제발