모듈은 파이썬 정의와 문장들을 담고 있는 파일입니다. 파일의 이름은 모듈 이름에 확장자 .py 를 붙입니다. 모듈 내에서, 모듈의 이름은 전역 변수 name 으로 제공됩니다.
https://docs.python.org/ko/3/tutorial/modules.html
functions.py에 있는 square()함수를 가져와서 쓰고 싶다면
functions module에서 square를 import 해와야 한다.
from functions import square for i in range(10): print(f"The square of {i} is {square(i)}")
from functions for i in range(10): print(f"The square of {i} is {functions.square(i)}")
class Flight():
def __init__(self, capacity):
self.capacity = capacity
self.passengers = []
def add_passenger(self, name):
if not self.open_seats():
return False
self.passengers.append(name)
return True
def open_seats(self):
return self.capacity - len(self.passengers)
flight = Flight(3)
people = ["Harry", "Ron", "Hermione", "Ginny"]
for person in people:
success = flight.add_passenger(person)
if success:
print(f"Added {person} to flight successfully.")
else:
print(f"No available seats for {person}")
def announce(f):
def wrapper():
print("About to run the function...")
f()
print("Done with the function")
return wrapper
@announce
def hello():
print("Hello, world!")
hello()
people = [
{"name": "Harry", "house": "Gryffindor"},
{"name": "Cho", "house": "Ravenclaw"},
{"name": "Draco", "house": "Slytherin"}
]
def f(person):
return person["name"]
people.sort(key=f)
print(people)
people = [
{"name": "Harry", "house": "Gryffindor"},
{"name": "Cho", "house": "Ravenclaw"},
{"name": "Draco", "house": "Slytherin"}
]
people.sort(key=lambda person: person["name"])
print(people)
try, except error를 사용해서 오류를 명료하게 보여줄 수 있다.
1. 나누는 숫자가 0이면 ZeroDivisionError를 0으로 나눌 수 없다고 보여주고,
2. input이 숫자가 아니라면 Invalid input값임를 보여준다.
import sys
try:
x = int(input("x: "))
y = int(input("y: "))
except ValueError:
print("Error: Invalid input.")
sys.exit(1)
try:
result = x / y
except ZeroDivisionError:
print("Error: Cannot divide by 0.")
sys.exit(1)
print(f"{x} / {y} = {result}")