1. 강의 내용
2-1. Variables
변수 - 프로그램에서 사용하기 위한 특정한 값을 저장하는 공간
선언 되는 순간 메모리 특정영역에 물리적인 공간 할당
변수는 메모리 주소를 가지고 있고 변수에 들어가는 값은 메모리 주소에 할당됨
변수 이름 작명법
- 알파벳, 숫자, 언더스코어 사용 가능
- 의미 있는 단어로 표기하는 것이 좋음
- 대소문자 구분
- 특별한 의미가 있는 예약어 사용 X (for, if, else 등)
기본자료형 (primitive data types)
실수형, 정수형
문자형
데이터 형변환
- float(), int()
- 문자형 <-> 숫자형
시퀀스형 자료형
List - 인덱싱, 슬라이싱, concatenate, is_in , append, remove, index, 패킹, 언패킹
- 다양한 data type 하나의 리스트에 들어감
- 리스트 안에 리스트를 만들어 행렬 생성
- 해당 리스트 변수에는 리스트 주소값이 저장됨
- 복사 b= a[:] ( 2차원에서는 불가능- copy.deepcopy 사용)
2-2. Function and Console I/O
함수 - 어떤 일을 수행하는 코드의 덩어리
- 코드를 논리적 단위로 분리
- 캡슐화 : 인터페이스만 알면 타인의 코드 사용
parameter : 함수의 입력값 인터페이스
argument : 실제 parameter에 대입된 값
console I/O
input()
print()
- %s,%d, %f, ...
- print( "%datatype" %(variable))
- format 함수
- print("{datatype}".format(argument))
- fstring
- print(f"{argument}")
화씨 변환기
# fahrenfheit_ex.py
cel_value = float(input())
fah_value = (9/5)*(cel_value)+32
print(f"섭씨온도 : {cel_value:.2f}")
print(f"화씨온도 : {fah_value:.2f}")
2-3. Conditionals and Loops
x == y : 값 비교
x is y : 메모리 주소 비교 (-5 ~256까지는 True)
삼항 연산자 : True if value%2==0 else False
반복문 for문 - 반복 실행횟수가 정확할 때
for else - 반복조건이 만족하지 않을 경우 반복 종료 시 1회 수행
while문 - 반복 실행횟수가 정확하지 않을 때
break - 특정 조건에서 반복 종료
continue - 특정 조건에서 skip
debugging - 코드의 오류를 발견하여 수정하는 과정
- 문법적 오류 : 들여쓰기, 오탈자, 대문자, ..
- 논리적 오류 : 뜻대로 실행이 안되는 코드 - print 문으로 확인하기
2-4. String and advanced function concept
문자열의 각 문자는 개별 주소(offset)를 가짐
- 인덱싱, 슬라이싱 가능
+ : concatenate
title() : 첫글자만 대문자로
count() : 몇번 나오는지 세기
raw string = r" 안녕 \n 파이썬"
\n 쓴 그대로 출력
raw string = "안녕 \n 파이썬"
안녕
파이썬
raw string = r"안녕 \n 파이썬"
안녕 \n 파이썬
함수 호출 방식
Call by Value : 함수에 인자를 넘길 떄 값만 넘김
Call by Reference : 함수에 인자를 넘길 떄 메모리 주소를 넘김
Call by Object Reference : 파이썬은 객체의 주소가 함수로 전달되는 방식
전달된 객체를 참조하여 변경 시 호출자에게 영향을 주나 새로운 객체를 만들 경우 호출자에게 영향을 주지 않음
def span(eggs):
eggs.append(1)
eggs.append(5)
eggs=[2,3]
print(eggs) # [2,3]
ham = [0]
spam(ham)
print(ham) # [0,1,5]
swap
def swap(x,y):
temp = x
x = y
y = temp
# 리스트의 전역 변수 값을 직접 변경
def swap_offset(offset_x,offset_y):
temp = ex[offset_x]
ex[offset_x] = ex[offset_y]
ex[offset_y] = temp
# 리스트 객체의 주소값을 받아 값을 변경
def swap_reference(list_ex,offset_x,offset_y):
temp = list_ex[offset_x]
list_ex[offset_x] = list_ex[offset_y]
list_ex[offset_y] = temp
docstring
파이썬 함수에 대한 상세스펙을 사전에 작성 -> 함수 사용자의 이해도 up
세개의 따옴표로 docstring 영역 표시(함수명 아래)
PEP8 - 파이썬 코딩 컨벤션의 기준
잘 작성 되었는지 flake8 모듈로 체크
black 모듈 - 알아서 수정해줌
2. Peer Session
자기소개
그라운드 룰 정하기
'Boostcamp AI Tech > [week 1-5] LEVEL 1' 카테고리의 다른 글
[Week 2 - Day1] Deep Learning Basic (0) | 2021.08.09 |
---|---|
[Week 1 - Day 5] AI Math 5-10 확률론, 통계학, CNN, RNN (0) | 2021.08.06 |
[Week 1 - Day 4] AI Math 1-4 벡터, 행렬, 경사하강법 (0) | 2021.08.05 |
[Week 1 - Day 3] Python 6,7 (Numpy, Pandas) (0) | 2021.08.05 |
[Week 1 - Day 2] Python 3,4,5 (0) | 2021.08.03 |