python 을 실행할 때 argument 를 줘서 실행해보려고한다.

 

전체코드

#app.py

import argparse

# python app.py -h 를 치면 나오는 메세지
parser = argparse.ArgumentParser(description="-h Help message")

parser.add_argument('--arg1', required=True)
parser.add_argument('--arg2', required=False)
args = parser.parse_args()
arg1 = args.arg1
arg2 = args.arg2

print(arg1,arg2)

 

실행

$ python app.py --arg1 Hello
Hello None
$ python app.py --arg1 Hello --arg2 World
Hello World

 

 

parser.add_argument('--arg1', required=True)

required 를 True 로 주면 실행할 때 값을 안주면 에러를 출력한다.

False 로 주고 값을 안주면 None

 

parser.add_argument('--arg2', required=False, default='World', help='help msg')

default 값을 줄수도, 각 argument 마다 도움메세지를 지정해줄수도 있다.

 

1. request.args.get('name') 으로 구하기

 

python flask 코드

# app.py

from flask import Flask, request

app = Flask(__name__)

@app.route('/get')
def get():
    arg = request.args.get('data')
    arg2 = request.args.get('data2')
    print(arg,arg2)
    return arg + arg2

app.run(host='0.0.0.0', debug=True, port="1234")

http://localhost:1234/get?data=Hello&data2=World 

 

 

2. URL 에 변수 추가하기

 

# app.py

from flask import Flask, request

app = Flask(__name__)

@app.route('/get/<arg>/<arg2>')
def get(arg,arg2):
    print(arg,arg2)
    return arg + arg2

app.run(host='0.0.0.0', debug=True, port="1234")

 

http://localhost:1234/get/Hello/World

 

편한 방법으로 사용하자.

 

Reference : https://flask.palletsprojects.com/en/1.1.x/quickstart/

이것저것 검색하거나, 다른 사람들과 대화할 때 리턴값, 전달값등 표현할 때 parameter, argument 를

그냥 생각나는대로 말하다가 의문점이 들었다. 무슨 차이일까?

 

검색으로 내가 이해하기론..

 

Parameter (매개 변수) 는 함수 정의에서 선언한 입력 변수 ,

Argument (전달 인자) 는 함수에 입력 하는 변수 로 이해했다.

 

def func(a,b) :
  return a + b

func 함수에서 정의한 a, b는 parameter

 

func(1,3)

func 함수를 호출하기 위해서 1, 3 을 입력한건 argument

 

이것말고도 헷갈려서 혼동하면서 쓰는 단어가 몇개씩 있는데 찾아가며 구분해가며 써야겠다.

 

Reference :

https://stackoverflow.com/questions/1788923/parameter-vs-argument

https://ko.wikipedia.org/wiki/%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98_(%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)

+ Recent posts