[Python] 함수 기본 정리(람다, 입출력, 파일)

GilLog·2020년 12월 12일
0

Python

목록 보기
5/18

🙆‍♂️ import 🙇‍♂️

점프 투 파이썬


lambda

lambda함수를 생성할 때 사용하는 예약어def와 동일한 역할을 한다.
보통 함수를 한줄로 간결하게 만들 때 사용

def를 사용해야 할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 주로 쓰인다.

# 람다 예제

fAdd = lambda a, b: a+b

result = fAdd(1, 2)

print(result)

# 실행결과 : 3

I/O function

input() : 입력 함수

temp = input("입력 함수 : ")

print(temp)

"""
입력 함수 : aa
aa
"""

문자열 띄어쓰기는 ,로 구분한다.

a = "gil"
b = "log"
c = "python"
d = "basic"

print(a+b+c+d)
print("gil""log""python""basic")

print(a, b, c, d)
print("gil log python basic")
'''
gillogpythonbasic
gillogpythonbasic
gil log python basic
gil log python basic
'''

매개변수 end=' '를 사용하면 for문 에서도 한 줄로 출력 할 수 있다.

for i in range(10):
    print(i, end=' ')
'''
0 1 2 3 4 5 6 7 8 9
'''

File I/O function

open() : 파일 객체 return

Python 내장 함수 open()는 "파일 이름"과 "파일 열기 모드"를 입력값으로 받고 결괏값으로 파일 객체를 return한다.

파일 열기 모드설명
r읽기모드 - 파일을 읽기만 할 때 사용
w쓰기모드 - 파일에 내용을 쓸 때 사용
a추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용
path = "D:/"

file = open(path + "/새파일.txt", 'w')
file.close()

함수 실행 결과 D:/경로에 새파일.txt 파일이 생성 되었다.

파일을 w(쓰기)모드로 열면 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성된다.


a(추가) 모드를 사용하면 존재하는 파일의 내용을 마지막 줄 부터 추가 할 수 있다.

path = "D:/새파일.txt"

file = open(path, 'a')

for index in range(11, 21):
    content = "인덱스 %d \n" %index

    file.write(content)

file.close()

인덱스 11 ~ 인덱스 20의 내용이 존재했던 파일 마지막 줄 부터 추가되었다.

close() : 파일 객체 닫기

close()는 열려 있는 파일 객체를 닫아 주는 함수다.
사실 생략해도 된다.
프로그램 종료시 파이썬 프로그램이 열려 있는 파일의 객체를 자동으로 닫아주기 때문

하지만 close()를 사용해서 열려 있는 파일을 직접 닫아 주는 것이 좋다.
w모드로 열었던 파일을 닫지 않고 다시 사용하려 하면 오류가 발생하기 때문

write() : 파일 객체 데이터 입력

path = "D:/"

file = open(path + "/새파일.txt", 'w')

for index in range(1, 11):
    content = "인덱스 %d \n" %index

    file.write(content)

file.close()

D:/새파일.txt에 해당 데이터가 입력 되었다.

read() : 파일 내용 전체 읽기

path = "D:/새파일.txt"

file = open(path, 'r')

readData = file.read()

print(readData)
'''
인덱스 1 
인덱스 2 
인덱스 3 
인덱스 4 
인덱스 5 
인덱스 6 
인덱스 7 
인덱스 8 
인덱스 9 
인덱스 10 
'''

readline() : 파일 내용 한줄 읽기

path = "D:/새파일.txt"

file = open(path, 'r')

line = file.readline()

print(line)
'''
인덱스 1
'''

readline()으로 파일 전체를 읽고 싶다면, while문을 활용하면 된다.

path = "D:/새파일.txt"

file = open(path, 'r')


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

'''
인덱스 1 

인덱스 2 

인덱스 3 

인덱스 4 

인덱스 5 

인덱스 6 

인덱스 7 

인덱스 8 

인덱스 9 

인덱스 10 
'''

readlines() : 파일 내용 한 줄씩 읽기

path = "D:/새파일.txt"

file = open(path, 'r')

lines = file.readlines()

print(lines)
'''
['인덱스 1 \n', '인덱스 2 \n', '인덱스 3 \n', '인덱스 4 \n', '인덱스 5 \n', '인덱스 6 \n', '인덱스 7 \n', '인덱스 8 \n', '인덱스 9 \n', '인덱스 10 \n']

'''

with() : 파일 객체 자동 close()

파일 객체는 열어준 후 항상 close해 주는 것이 좋다.

with()를 사용하면 자동으로 파일 객체 닫기를 처리할 수 있다.

path = "D:/새파일.txt"

with open(path, 'w') as file:
    file.write("Gillog FileIOFunction End")

profile
🚀 기록보단 길록을 20.10 ~ 22.02 ⭐ Move To : https://gil-log.github.io/

0개의 댓글