2. Introduction
지금까지의 세미나
2019-08-28
2
TIME LINE
Python Seminar
2016
2018 Python Programming – J.W An
데이터형, 데이터 구조, 제어문, numpy 모듈 등
Python Trilogy – B.M Ahn
파이썬 소개(1), VS 설치 및 간단한 파이썬 문법 (2,3)
2019
파이썬 제대로 활용하기 – H.S Kang
간단한 리뷰, 함수 / 클래스, 모듈과 패키지
BEGINNER
NOVICE
INTERMIDIATE
11. Function
함수 정의하기(인자 값과 반환 값)
2019-08-28
11
void my_func (String s) {
(C++Style)
int my_func (int a, int b) {
(C++Style)
• 함수의 정의는 def 예약어로 시작.
• 콜론(:)을 통해 함수에서 수행하고자 하는 블록문을 작성.
• return 값이 없으면 None을 반환함.
12. Function
기본 인자 값 활용하기(Default argument value)
2019-08-28
12
int daily_sleeping_hours (int hours = 6) {
(C++Style)
13. Function
기본 인자 값 활용하기(Default argument value)
2019-08-28
13
• 기본적으로 함수에서 return이 없거나 반환 값 없이 return만 표기하는 경우 함수에는 None을 반환함.
14. Function
여러 개의 인자 값 및 키워드 인자(Keyword arguments) 활용하기
2019-08-28
14
• 함수 호출 시 반드시 대입해야 하는 필수 인자 값
• 값을 대입하지 않은 경우에는 기본 값을 할당하는 옵션 인자 값
Positional(위치 인자 값) : 인자 값을 집어 넣는 순서가 중요한 필수 인자 값
Keyword(키워드 인자 값) : 기본 값을 가지고 있는 옵션 인자 값
15. Function
여러 개의 인자 값 및 키워드 인자(Keyword arguments) 활용하기
2019-08-28
15
• 위치에 따라 결정되는 인자 값.
• 키워드에 따라 결정되는 인자 값.(순서 상관 x)
익숙한 형태
익숙한 형태
def introduce_my_pet(name, age=1, type = 'cat'):
print('내 반려동물의 이름은', name, '이며, 나이는 ', age, '이고, 종류는 ',type, '이다.')
17. Function
가변 인자 리스트 활용하기(Arbitrary argument lists)
2019-08-28
17
“만약 하나의 변수에 여러 개의 값을 넣고 싶으면?”
C++ : 배열, 벡터
Python : 튜플, 딕셔너리 리스트는 사용 x (튜플 : immutable)
def introduce_my_family(name, *family_names, **family_info):
• Asterisk 한 개 (*) 는 튜플형 데이터
• Asterisk 두 개 (**) 는 딕셔너리형 데이터
18. Function
가변 인자 리스트 활용하기(Arbitrary argument lists)
2019-08-28
18
name family_names (Tuple) family_info (Dictionary)
“인자 값의 개수나 키워드 없이도 나열한 값들이 알아서 패킹되어 대입됨.”
var-positional
일반적으로 가변 인자 값들은 함수 선언 시 가장 뒤쪽에 배치함.
만약 앞쪽에 배치한 경우에는 뒤쪽에 배치된 일반 인자 값은 반드시 키워드 인자 값으로 사용함.
keyword-only
19. Function
가변 인자 리스트 활용하기(Arbitrary argument lists)
2019-08-28
19
1) args라는 튜플형 인자를 받음
2) sep은 “/”를 기본으로 가짐
3) join함수는 구분자를 포함하여 문자열로 변환함. (<->split 함수는 문자열을 구분자를 기준으로 나누어 리스트로 변환함.)
“일반 인자가 뒤쪽에 배치되었음으로 반드시 키워드 인자 값 형태로 호출 해야함.”
20. Function
언패킹 인자 리스트 활용하기(unpacking argument lists)
2019-08-28
20
열거형 데이터를 넣으면 패킹되어 하나의 변수로 대입되는 것을 확인
이번엔 반대로 열거형 데이터를 함수 내에서 언패킹하는 방법
• 함수를 선언할 때 Asterisk(*)는 열거형 데이터를 의미
• 함수를 호출 할 때 인자 값 앞에서의 Asterisk(*)는 열거형 데이터를 언패킹하라는 의미
23. Function
변수의 유효 범위(Scope)
2019-08-28
23
전역 변수의 값을 변경하여 출력하기 위해서? : global 예약어를 사용
• 파이썬도 전역 변수와 지역 변수로 나눔.
• 지역 변수명이 전역 변수명이 동일하다면 해당 함수만을 위한 지
역 변수를 새로 생성함.
• 만약 함수 내에서 전역 변수를 호출하고 싶다면, global 예약어를
활용한다.
25. Summary
요약
2019-08-28
25
➢ 파이썬을 활용하여 간단히 함수를 구성하는 방법에 대해서 학습함.
➢ 파이썬에서 함수를 선언할 때는 def 예약어를 사용함.
➢ 파이썬에서 asterisk는 패킹/언패킹 여부를 결정함.
➢ 함수 내에서 전역 변수의 값을 변경하고자 한다면, global 예약어를 사용함.
➢ 추후 세미나에서는 클래스와 모듈에 대해 소개하려고 함.
26. Summary
Future works
2019-08-28
26
GAN Research
Vanilla GAN
DCGAN
InfoGAN
LSGAN
SRGAN
Development tools & Language
Tips(Document & Programming)
PyTorch
C++ Coding Standard
Modern C++
Python Intermediate 01
Mathematical Theory
Linear algebra
Probability & Information theory
Other research
Level Processor
Ice Crack Propagation
Python Intermediate 02
Python executable & UI
Style Transfer
cGAN
wGAN
BEGAN
BigGAN
Cycle GAN
Style GAN
3D reconstruction
DONE
TO
DO