데이터 재료과학 (제 5강)

함수

1. 목표

2. 개념

3. 실습

3.1. 간단한 모듈 만들기 (더하기 곱하기)

모듈 작성

# 아래 모듈을 작성 후 mymodule.py로 저장하자.
def add(valuea, valueb):
    return valuea + valueb

def multiply(valuea, valueb):
    return valuea * valueb

def power(valuea, valueb):
    return valuea ** valueb

그 다음 아래를 활용해 mymodule을 불러와 보자.

import mymodel
mymodule.add(3,4)
mymodule.multiply(3,4)
mymodule.power(3,4)

etc

3.2. CLI에서 arguments 받기

기초 모듈 작성

# file: ex02.py
import sys
if __name__ == "__main__":
  print("Arguments:", sys.argv)

Arguments의 역할을 이해하기 위해서 아래 실행

c:\users\user\repo\mse> python ex02.py a b c 1 23
~/repo/mse $ python ex02.py a b c 1 2 3

실행 후 출력 결과 살펴보기

더 상세한 argument parsing

3.3. Argument parse 읽을 거리

3.4. 간단한 작동

import argparse
if __name__=='__main__':
parser = argparse.ArgumentParser()
parser.parse_args()
c:/users/user> python myprogram.py --help
usage: main.py [-h]

options:
-h, --help  show this help message and exit

3.5. positional argument

import argparse
if __name__=='__main__':
parser = argparse.ArgumentParser()
parser.add_argument("x", type=int, help="the base")
args=parser.parse_args()

print(args.x**2)

3.6. --help 기능

c:\users\user> python myprogram.py --help
usage: main.py [-h] x

positional arguments:
x           the base

options:
-h, --help  show this help message and exit

3.7. 변경된 영향 확인

c:\users\user> python myprogram.py 3
given x: 3
x^2: 9

3.8. Additional options

import argparse

def add(x,y):
  return x+y

if __name__=='__main__':
  parser=argparse.ArgumentParser()
  parser.add_argument('x',type=int,help='the 1st base')
  parser.add_argument('y',type=int,help='the 2nd base')
  parser.add_argument('--myname',type=str,help='My Name')
  args=parser.parse_args()

  print('Myname:',args.myname)
  print('given x:', args.x)
  print('given y:', args.y)
  multiplied=add(args.x,args.y)
  print('x times y:', multiplie)
c:\users\user> python main.py --help
usage: main.py [-h] [--myname MYNAME] x y

positional arguments:
x                the 1st base
y                the 2nd base

options:
-h, --help       show this help message and exit
--myname MYNAME  My Name

--myname옵션의 경우 MYNAME이라는 입력이 필요함을 알 수 있다.

c:\users\user> python main.py 3 4 --myname mike
Myname: mike
given x: 3
given y: 4
x times y: 7

4. 예제 (take-home)