카테고리 없음

[혼공파] 1주차_완주 기원

memo381 2024. 7. 2. 18:04


분명 배웠던 건데 새롭다.

플랫폼도 브런치로 새롭게 도전 - 하려 했으나 작가 신청을 해야해서 일단 티스토리로 도전 

나름 의욕 가득하게 시작해서 꽤 한 줄 알았는데 딱 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부터임 

 


알바를 시작했더니 소홀해졌다. 꾸준히 할 수 있도록 ... 제발