1. 가상환경 설정 

- VScode 터미널에서 가상환경 설정 

※ 직접 설치하고 하니에러가 나서 제거 후 가상환경 구성 

# 가상 환경 생성
# venv 폴더가 생성 된다.
python -m venv venv

# 가상환경 활성화
.\venv\Scripts\activate


2. install 

pip install beautifulsoup4
pip install flask

 

3. path 설정

-  윈도우 패스 설정 

 

4. 코드 작성 

from flask import Flask
from urllib import request
from bs4 import BeautifulSoup

app = Flask(__name__)

@app.route("/")

def hello():
    target = request.urlopen("http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108")

    soup = BeautifulSoup(target, "html.parser")

    output = ""

    for location in soup.select("location"):
        output += "<h3>{}</h3>".format(location.select_one("city").string)
        output += "날씨{}</br>".format(location.select_one("wf").string)
        output += "최저/최고 기온{}/{}</h3>".format(location.select_one("tmn").string, location.select_one("tmx").string)
        output += "</hr>"
    return output

 

5. 실행 

 

$env:FLASK_APP="beautiful_flask.py"
flask run

 

6. 확인 

-   크롬에서 확인

http://127.0.0.1:5000

 

 

파이썬에서 구문 오류(Syntax Error)와 예외(Exception)는 프로그램에서 발생하는 다른 종류의 에러입니다. 

1. 구문 오류(Syntax Error):

  • 구문 오류는 코드를 파싱할 때 문법적인 오류가 발생했을 때 나타납니다.
  • 이는 프로그램의 문법이 잘못되었거나 파이썬 인터프리터가 코드를 이해하지 못할 때 발생합니다.
  • 주로 오타, 괄호의 불일치, 들여쓰기 오류 등과 관련이 있습니다.
  • 프로그램이 실행되기 전에 발생하며, 프로그램 실행이 시작되기 전에 이를 수정해야 합니다.

예제:

if x > 0
   print("Positive number")

이 코드에서는 콜론(:)이 빠져있어서 구문 오류가 발생합니다.

 

2.예외(Exception):

  • 예외는 프로그램이 실행 중에 발생하는 오류를 나타냅니다.
  • 구문적으로는 올바른 코드이지만, 실행 도중에 예상치 못한 문제로 인해 발생하는 오류입니다.
  • 예외는 일반적으로 try, except 블록을 사용하여 처리될 수 있습니다.
  • 프로그램이 실행 중에 발생하며, 실행 중에 예외를 처리하지 않으면 프로그램이 중단됩니다.

예제:

x = 0
result = 10 / x

 

이 코드에서는 0으로 나누는 경우에 ZeroDivisionError가 발생합니다. 이 예외를 처리하지 않으면 프로그램이 중단됩니다.

구문 오류는 코드의 문법적 오류로 인해 발생하며 프로그램이 실행되기 전에 확인되고,
예외는 실행 중에 발생하는 런타임 오류로서 프로그램이 실행 중단될 수 있습니다.

 

 

 

 

'python' 카테고리의 다른 글

혼공파-6주차:BeautifulSoup  (1) 2024.02.05
혼공파-4주차:함수만들기  (1) 2024.01.23
혼공파-3주차:리스트와 반복문  (0) 2024.01.16
혼공파-2주차: if-elif 구문  (0) 2024.01.10
혼공파-1주차 : 자료형과 문자열  (0) 2024.01.03

범위내부의 정수를 모두 더하는 함수 

def sum_all(start, end ):
    """
    이 함수는 주어진 범위 내의 모든 정수를 더합니다.

    매개변수:
    start (int): 더하기를 시작할 첫 번째 정수
    end (int): 더하기를 마칠 마지막 정수

    반환값:
    int: start부터 end까지의 모든 정수의 합
    """
    output = 0 
    for i in range( start, end +1 ):
        output = output + i

    return output

print("0 to 100", sum_all(0,100))
print("0 to 1000", sum_all(0,1000))
print("50 to 100", sum_all(50,100))
print("500 to 1000", sum_all(500,1000))

 

range(start, stop)  사용, start stop   퀀 생성합니다.

start , stop  습니다. 위에서는 마지막 수까지 더하기 위해 end+1 까지로 표현 함. 

 

 

 

파이썬에서 함수를 정의할 때 사용하는 매개변수에는 세 가지 주요 종류가 있습니다: 일반 매개변수, 기본 매개변수, 그리고 가변 매개변수입니다.

1. 일반 매개변수:

  • 설명: 함수를 정의할 때 정확한 개수의 매개변수를 받아야 할 때 사용합니다. 호출할 때 반드시 값을 전달해야 합니다.
  • 예시:
def add(x, y):
    return x + y

result = add(3, 5)
print(result)  # 출력: 8

 

 

2. 기본 매개변수 (Default Parameters):

  • 설명: 함수를 호출할 때 매개변수에 값을 전달하지 않을 경우, 기본값을 사용하는 매개변수입니다. 기본값을 가지는 매개변수는 호출 시에 생략 가능합니다.
  • 예시:
def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")

greet("Alice")  # 기본값 사용: "Hello, Alice!"
greet("Bob", "Good morning")  # 사용자 정의 값 사용: "Good morning, Bob!"

 

3. 가변 매개변수 (Variadic Parameters):

  • 설명: 함수를 정의할 때 매개변수의 개수가 가변적일 때 사용되며, *args를 통해 표현합니다. 함수 내에서 튜플로 매개변수를 받습니다.
  • 예시:
def sum_numbers(*args):
    total = 0
    for num in args:
        total += num
    return total

result = sum_numbers(1, 2, 3, 4, 5)  # 가변 매개변수 사용
print(result)  # 출력: 15

 

 

4. 일반 가변 기본 매개변수 사용하기 

def example_function(name, *languages, level="Beginner", city="Unknown"):
    """
    Display information about a person's name, programming languages, proficiency level, and city.
    
    Parameters:
    - name: str, the person's name
    - *languages: tuple, variable number of programming languages
    - level: str, proficiency level (default is "Beginner")
    - city: str, city where the person is located (default is "Unknown")
    """
    print(f"Name: {name}")
    
    if languages:
        print("Programming Languages:")
        for lang in languages:
            print(f"- {lang}")
    else:
        print("No programming languages specified.")
    
    print(f"Proficiency level: {level}")
    print(f"City: {city}")

# Example calls to the function using keyword arguments:
example_function(name="Alice", level="Intermediate", city="New York")
example_function("Bob", "C++", "Java", "Python", city="San Francisco")
example_function("Charlie", level="Advanced")

 

  • name: 일반 매개변수로서, 반드시 값을 전달해야 하는 인자입니다.
  • *languages: 가변 매개변수로서, 전달된 모든 프로그래밍 언어를 튜플로 받습니다.
  • level: 키워드 매개변수로서, level이 전달되지 않으면 기본값인 "Beginner"가 사용됩니다.
  • city :  키워드 매개변수로서, city 값이 이 전달되지 않으면 기본값인 "Unknown"가 사용됩니다.

 

 

'python' 카테고리의 다른 글

혼공파-6주차:BeautifulSoup  (1) 2024.02.05
혼공파-5주차:구문오류와 예  (1) 2024.01.29
혼공파-3주차:리스트와 반복문  (0) 2024.01.16
혼공파-2주차: if-elif 구문  (0) 2024.01.10
혼공파-1주차 : 자료형과 문자열  (0) 2024.01.03

+ Recent posts