[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 내용

Hello!
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")
#-------test.txt내용-------#
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")
#-------test.txt내용-------#
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")
#-------test.txt내용-------#
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, 여러개 리턴값]





© 2021.02. by kirim

Powered by kkrim