def test():
kor, eng, total, avg = 0, 0, 0, 0
message = '결과'
#kor, eng데이터 input() 형변환 처리
kor = int(input('국어점수'))
kor = int(input('영어점수'))
total = kor + eng
avg = total // 2
if avg >= 70:
message = '합격'
else:
message = '재시험'
return (total, avg, message)
if __name__ == '__main__' :
x,y, z = test()
print(f'total = {x}')
print(f'avg = {y}')
print(f'message = {z}')
함수, 변수, 속성
def sum_xy(x, y):
sum_value = 0
클래스, 예외
class ClassName
프로젝트의 성향마다 바뀔수 있음
버퍼(buffer)
path = 'emp.txt'
with open('./data/emp.txt','a', encoding='UTF-8') as myfile:
name = input('이름입력: ')
pay = input('급여입력: ')
myfile.write(name+'\n')
myfile.write(pay + '\n')
print( path ,'저장 성공했습니다')
path = './data/abc.txt'
file = open('./data/abc.txt', 'r', encoding= 'utf-8') #w+도 가능
data = file.read()
print(data)
print()
file.close() #권장
print(path, '파일읽기 테스트')
# 4교시 실습
path = 'emp.txt'
with open('./data/emp.txt','r', encoding='UTF-8') as myfile:
data = myfile.read()
print(data)
print( path ,'파일 출력을 성공했습니다')
직렬화(serialization)
데이터 구조나 객체를 DB나 네트워크 등에서 저장하거나 전송할 수 있게 바이트 형태로 변환하는것
역직렬화는 직렬화된 데이터를 다시 원래의 객체 형태로 복원하는 과정
import pickle
fileName = './data/mydata.pckf'
menu = {
'name' : 'cake',
'price' : 2300,
'kind' : ['초코', '생크림', '치즈']
}
with open(fileName, 'wb') as myfile:
pickle.dump( menu, myfile) # dump(대상, 파일명 및 모드)
print('피클 파일 저장 구현')
# 피클 파일 오픈
file = open(fileName, 'rb') # 바인어리에 있는것을 읽겠다
mydata = pickle.load(file)
print(mydata)
print('피클파일 오픈 처리')
import pickle
import sys
testPCKF = './data/mydata.pckf'
num = 9
def create_file():
try:
# 기존 데이터 불러오기
with open(testPCKF, 'rb') as myfile:
data_list = pickle.load(myfile)
except (FileNotFoundError, EOFError):
# 파일이 없거나 비어 있으면 빈 리스트 생성
data_list = []
# 새로운 데이터 입력
pkel_file = input('내용을 입력하세요: ')
data_list.append(pkel_file) # 기존 리스트에 새로운 값 추가
# 변경된 리스트를 다시 파일에 저장
with open(testPCKF, 'wb') as myfile:
pickle.dump(data_list, myfile)
def opem_file():
file = open(testPCKF, 'rb') # 바인어리에 있는것을 읽겠다
mydata = pickle.load(file)
print(mydata)
def end_program():
sys.exit()
while True:
print('1. 파일만들기 2.파일열기 9.종료')
num = int(input('>>>'))
if num == 1:
create_file()
elif num == 2:
opem_file()
elif num == 9:
print('파일처리 종료')
end_program()
apart = [
[101, 102, 103, 104, 105], [201, 202, 203, 204, 205],
[301, 302, 303, 304, 305], [401, 402, 403, 404, 405]
]
uncheck = [102, 204, 303, 405] # 우유 배달 신청 안한 집
not_del_list = list()
for row in apart:
for cul in range(len(apart)+1):
if row[cul] in uncheck:
not_del_list.append(row[cul])
print(f'{not_del_list}은 배달하지 않는다')
data = [ #3행 * 4열
[1,2,3,4] ,
[5,6,7,8] ,
[9,10,11,12]
]
data2 = [
[1, 2, 3, 4 , 5] ,
[6, 7, 8] ,
[9,10,11,12, 13],
[14, 1500, 16, 170]
]
# 열데이터 고정 리스트
for row in data:
for cul in range(len(row)):
print(row[cul], end = '\t')
print()
print('='* 35)
# 열데이터 비고정 리스트
for row in data2:
for cul in range(len(row)):
print(row[cul], end = '\t')
print()
출력결과