# --[클래스]--
class Monster:
def __init__(self, name, age):
self.name = name
self.age = age
def say(self):
print(f'나는 {self.name} {self.age}살임')
shark = Monster('상어', 7)
shark.say()
# --[파일]--
# <"w" = 쓰기 모드 (원래 있던 파일이 사라짐, 없으면 새로운 파일 생성됨)>
f = open("새파일.txt", "w", encoding="utf-8")
f.write("첫 번째 문장")
f.write("\n두 번째 문장")
f.write("\n세 번째 문장")
f.close()
# <"r" = 읽기 모드>
f = open("새파일.txt", "r", encoding="utf-8")
line1 = f.readline() # 첫 번째 줄 읽기
print(line1)
f.close()
f = open("새파일.txt", "r", encoding="utf-8")
lines = f.readlines() # 모든 줄 읽기
for line2 in lines:
print(line2)
f.close()
f = open("새파일.txt", "r", encoding="utf-8")
data = f.read() # 전체 읽기
print(data)
f.close()
# <"a" = 추가 모드>
f = open("새파일.txt", "a", encoding="utf-8")
f.write("\n추가된 문장 1")
f.write("\n추가된 문장 2")
f.write("\n추가된 문장 3")
f.close()
# with문
with open("새파일.txt", "a", encoding="utf-8") as f:
f.write("\n끝")
for i in range(1, 51):
with open(str(i) + "주차.txt", "w", encoding="utf-8") as report_file:
report_file.write("- {0} 주차 주간 보고 -".format(i))
report_file.write("\n부서 :")
report_file.write("\n이름 :")
report_file.write("\n업무 요약 :")
# -[turtle]-
# import turtle as t
# t.shape("turtle")
# import turtle
# t=turtle.Pen()
d=100
t.forward(d)
t.left(120)
t.forward(d)
t.right(140)
# -[예외처리]-
class BigNumberError(Exception):
def __init__(self, msg):
self.msg = msg
def __str__(self):
return self.msg
try:
print("한 자리 숫자 나누기 전용 계산기입니다.")
num1 = int(input("첫 번째 숫자를 입력하세요: "))
num2 = int(input("두 번째 숫자를 입력하세요: "))
if num1 >= 10 or num2 >= 10:
raise BigNumberError("입력값 : {0}, {1}".format(num1, num2))
print("{0} / {1} = {2}".format(num1, num2, int(num1 / num2)))
except ValueError:
print("잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.")
except BigNumberError as err:
print("에러가 발생하였습니다. 한 자리 숫자만 입력하세요.")
print(err)
finally: # 에러 발생 여부 상관 없이 항상 실행
print("계산기를 이용해 주셔서 감사합니다.")
[모듈] 파이썬의 함수, 클래스 등의 정의와 변수와 실행문 등을 저장한 파일
[패키지] 모듈을 구조화하여 관리하기 위하여 나눠 놓은 것이다.
- os 모듈: 운영체제에 작업을 요청하는 기능을 제공함
- sys 모듈: 파이썬 인터프리터에서 사용하는 변수나 기능에 접근할 때 사용함
- math 모듈: 수학 계산에 유용한 상수와 함수를 제공함
- random 모듈: 특정 범위에서 임의의 난수 값을 생성하거나 주어진 목록에서 하나를 고르는 함수를 제공함
- datetime 모듈: 날짜와 시간을 다루는 데 사용함
[예외 클래스] | [예외 설명] |
ZeroDivisionError | 숫자를 0으로 나눌 때 발생한다. |
NameError | 선언되지 않은 변수에 접근하려 할 때 발생한다. |
TypeError | 자료형과 관련된 문제 상황이 있을 때 발생한다. |
IOError | 입출력과 관련된 문제 상황이 있을 때 발생한다. |
ValueError | 잘못된 값이 전달되었을 때 발생한다. |
indexError | 리스트 요소에 잘못 접근하였을 때 발생한다. |
[절차 지향 프로그래밍] 컴퓨터 프로그램을 컴퓨터가 실행해야 할 명령어의 목록
[객체 지향 프로그래밍] 실생활에서 관찰할 수 있는 객체를 프로그램의 기본 단위로 활용
1. 절차 지향 프로그래밍
장점
- 속도가 빠르고 최적화된 코드를 짤 수 있다.
- 비교적 단순한 문법을 제공하므로 짧은 단위의 코드 분석이 가능하다
단점
- 대규모의 프로젝트를 진행하기 어렵다.
- 코드가 직관적이지 못하여 분석하는 데 시간이 오래 걸린다.
- 문법적 편의성이 제공되지 않아 더 많은 코드를 작성해야 한다.
2. 객체 지향 프로그래밍
장점
- 변경이 용이한 유연한 설계를 할 수 있다.
- 직관적인 코드 분석을 통해 버그가 적은 프로그램을 작성할 수 있다.
- 프로그래밍에 대한 이해를 쉽게 하고 개발, 보수, 테스트 과정을 간편하게 한다.
단점
- 처리 속도가 상대적을 느리다.
- 초기 설계가 어렵다.
'----------고1---------- > 프로그래밍' 카테고리의 다른 글
[고1 프로그래밍] 12 - (1) (0) | 2023.12.04 |
---|---|
[고1 프로그래밍] 11 - (5) (0) | 2023.11.30 |
[고1 프로그래밍] 11 - (4) (0) | 2023.11.20 |
[고1 프로그래밍] 11 - (3) (0) | 2023.11.15 |
[고1 프로그래밍] 11 - (2) (0) | 2023.11.13 |