[Python]파이썬 기초문법6 - [input, 파일 입출력함수, strip, split, 여러개 리턴값]
이번 포스트는 [input, 파일 입출력함수, strip, split, 여러개 리턴값]에 관한 내용입니다.
1️⃣ 사용자 입력 받기(input)
(1) 문자형
- 기본적으로
input
함수를 이용하여 입력받은 데이터들은 문자로 인식되어 입력됩니다.
name = input("이름을 입력하세요: ")
print(name)
이름을 입력하세요: # 김기림 입력
김기림
(2) 정수형
input
함수로 받은 값을 정수형으로 받고 싶으면int()
를 이용하여 강제형변환을 시켜줘야합니다.
num = input("숫자를 입력하세요: ")
print(num + 3) # 컴파일 오류
num2 = int(input("숫자를 입력하세요: "))
print(num2 + 4)
숫자를 입력하세요: # 5 입력
9
2️⃣ 파일 입출력 함수
(1) 파일 열기
test.txt 파일 열기
with open("./test.txt", "r") as f:
print(type(f))
<class '_io.TextIOWrapper'>
(2) 파일 읽기
test.txt 내용
my name is kirim!
test.txt 내용 읽기
for
문을 이용하여 파일을 읽으면 **한줄씩 읽어 옵니다.
with open("./test.txt", "r") as f:
for line in f:
print(line)
Hello!
my name is kirim!
(3) 파일 쓰기(write)
write
함수는 자동으로\n
(줄바꿈)문자를 넣어주지 않기 때문에 필요하면 직접 입력해 주어야 합니다.
test.txt 내용 쓰기("w")
with open("test.txt", "w") as f:
f.write("Hello world\n")
f.write("my name is kirim\n")
with open("test.txt", "w") as f:
f.write("second open!\n")
second open!
(3) 파일 이어쓰기(write)
test.txt 내용 쓰기("a")
with open("test.txt", "w") as f:
f.write("Hello world\n")
f.write("my name is kirim\n")
with open("test.txt", "a") as f:
f.write("second open!\n")
Hello world
my name is kirim
second open!
(4) 파일 쓰기(write) + input
with open("test.txt", "w") as f:
a = input("영어 단어를 입력하세요: ") # apple
b = input("한국어 뜻을 입력하세요: ") # 사과
f.write(a + ": " + b + "\n")
apple: 사과
3️⃣ strip
- 위에 파일 출력 결과를 보면 알듯이 줄과 줄사이에 공백한줄이 생겨서 출력됬습니다.
- 그 이유는
print
함수가 자동으로 문자열 끝에\n
을 적용시켜주기 때문입니다. - 이러한 불필요한 화이트 스페이스를
strip()
을 이용하면 없애줄 수 있습니다.
(1) 기본 사용 예
# 사용예 1
print(" a b c ".strip())
# 사용예 2
print(" \n\t\r a b c \r ".strip())
a b c
a b c
(2) 파일 읽기에 사용
with open("./test.txt", "r") as f:
for line in f:
print(line.strip())
hello!
my name is kirim!
4️⃣ split
split()
의 인자로 구분문자를 넣어주면 구분문자를 기준으로 단어를 구분합니다.split()
함수로 뽑아낸 리스트요소들은 문자형입니다.
(1) 기본사용 예
# 사용예 1
temp_string = "1.2.3.4.5.6"
print(temp_string.split("."))
# 사용예 2
temp_string2 = "1, 2, 3, 4, 5, 6"
print(temp_string2.split(", "))
['1', '2', '3', '4', '5', '6']
['1', '2', '3', '4', '5', '6']
(2) split 응용1
my_name = "kim, kirim"
name_split = my_name.split(", ")
family_name = name_split[0]
first_name = name_split[1]
print(family_name + first_name)
kimkirim
(2) split 응용2
number = " \n\n 2 \t \r 3 \n 4 5 6 \n"
print("---split()---")
print(number.split())
print("---strip()---")
print(number.strip())
---split()---
['2', '3', '4', '5', '6']
---strip()---
3
4 5 6
5️⃣ 여러개 리턴값
(1) 2개값 리턴
def fun(a, b):
return a+b, a-b
temp = fun(3, 4)
add, minus = fun(3, 4)
print(temp)
print(add)
print(minus)
(7, -1)
7
-1
(2) 3개값 리턴
def fun(a, b):
return a+b, a-b, a*b
temp = fun(3, 4)
add, minus, multi = fun(3, 4)
print(temp)
print(add)
print(minus)
print(multi)
(7, -1, 12)
7
-1
12
(3) 어러개값 리턴
- 여러개값 리턴이 가능합니다.
- 반환값을 갯수를 맞추서 받거나 변수 한개로 받아야 합니다.
def fun():
return 1, 2, 3, 4, 5
a, b, c, d, e = fun()
f = fun()
print(f)
print(a + b + c + d + e)
(1, 2, 3, 4, 5)
15
< 파이썬[Python] 기초문법 포스트 목차 >
1. 파이썬 기초문법1 [자료형, 기본출력, 함수, 불린형, type함수]
2. 파이썬 기초문법2 [옵셔널 파라미터, 변수(글로벌, 로컬), PEP8, while, if]
3. 파이썬 기초문법3 [리스트(list)]
4. 파이썬 기초문법4 [for, dictionary(사전), 앨리어싱, 리스트와 문자열]
5. 파이썬 기초문법5 [모듈, 표준 라이브러리 모듈, datetime모듈]
>> 파이썬 기초문법6 [input, 파일 입출력함수, strip, split, 여러개 리턴값]