Python 프로그래밍/기초 문법

[점프 투 파이썬] 4강: 파이썬의 입출력

SW Developer 2024. 6. 11. 08:27

프로그램의 입력과 출력은 어떻게 해야 할까?

 


함수

 

https://wikidocs.net/24

 

def 함수명(매개변수):

     <수행할 문장1>

     <수행할 문장2>

      return 리턴 값

 

ex1)

def sum(a,b):
    result = a+b
    return result

print(sum(1,2))

 

ex2)

def sum_many(*args):
    sum = 0
    for i in args:
        sum = sum + i
    return sum

print(sum_many(1,2,3))

※ *agrs: 여러 개의 인자

 

- Keyword Argument

**kwargs: 매개변수 이름 앞에 **을 붙이면 매개변수 kwargs는 딕셔너리가 되고 모든 Key=Value 형태의 입력값이 그 딕셔너리에 저장된다

 

- 매개변수에 초기값 미리 설정하기

def say_myself(name, old, man = True):
	print("나의 이름은 %s 입니다." % name)
    print("나이는 %d살입니다." % old)
    if man:
    	print("남자입니다.")
    else:
    	print("여자입니다.")

→ 함수의 args 부분에 미리 명시함

 

- 함수 안에서 선언한 변수의 효력 범위

 

ex1) 지역변수의 개념

a = 1
def vartest(a):#지역변수
    a = a + 1
    #return이 없음

vartest(a)
print(a)

→ 1이 출력됨

 

ex2) 전역변수의 활용

a = 1
def vartest():
    global a
    a = a + 1

vartest()
print(a)

→ 2 출력

 

 

- lambda

 

ex1)

#def add(a,b):
#    return a+b

add = lambda a, b: a+b
print(add(1,2))

→ 3 출력

 

ex2)

myList = [lambda a, b: a+b, lambda a, b: a*b]

print(myList[0](1,2))

 

 


사용자 입력과 출력

 

https://wikidocs.net/25

 

- input()

 

ex1)

a = input()
print(a)

 

ex2)

number = input("숫자를 입력하세요: ")

print(number)

 

- print()

 

 


파일 읽고 쓰기

 

https://wikidocs.net/26

 

파일 생성하기

f = open("새파일.txt", 'w')
f.close()
파일 열기 모드 설명
r 읽기 모드: 파일을 읽기만 할 때 사용한다.
w 쓰기 모드: 파일에 내용을 쓸 때 사용한다.
a 추가 모드: 파일의 마지막에 새로운 내용을 추가할 때 사용한다.

 

 

파일을 쓰기 모드로 열어 내용 쓰기

 

- 절대경로

f = open("C:/Python/새파일.txt", 'w')
for i in range(1,11):
    data = "%d번째 줄입니다.\n" %i
    f.write(data)
f.close()

 

- 현재 코드 위치

f = open("새파일.txt", 'w', encoding="UTF-8")
for i in range(1,11):
    data = "%d번째 줄입니다.\n" %i
    f.write(data)
f.close()

 

※ 한글 깨짐 현상 해결

→ encoding = "UTF-8"

 

 

텍스트 파일

 

파일을 읽는 여러 가지 방법

 

- readline()

f = open("새파일.txt", 'r', encoding="UTF-8")
line = f.readline()
print(line)
f.close()

 

- 여러줄 읽기

f = open("새파일.txt", 'r', encoding="UTF-8")

while True:
    line = f.readline()
    if not line: break
    print(line)

f.close()

 

- readlines()

f = open("새파일.txt", 'r', encoding="UTF-8")
lines = f.readlines()

for line in lines:
    print(line, end = "")
f.close()

→ end = "" 줄 나눔 방지

 

- read()

f = open("새파일.txt", 'r', encoding="UTF-8")
data = f.read()
print(data)
f.close()

 

 

파일 추가하기

 

- 'a'

f = open("새파일.txt", 'a', encoding="UTF-8")
for i in range(11,20):
    data = "%d번째 줄입니다.\n" % i
    f.write(data)

f.close()

 

 

with 문

with open("새파일.txt","w") as f:
    f.write("Life is too short, you need python")

→ close 안 해도 됨

 

 

 

 

 

※ 해당 게시글은 개인 학습의 목적으로, 아래 강의를 수강한 후 정리한 학습노트입니다.

https://www.youtube.com/watch?v=jRsXLEPnd6Q&list=PLU9-uwewPMe2AX9o9hFgv-nRvOcBdzvP5&index=7