[2024.09.26] 필수온라인 강의 Part1 파이썬 기본기 다지기 CH03 입출력과 제어문
입력과 출력
1. 사용자 입력(input)
- 사용자로부터 데이터를 입력받을 때 사용
- 사용자입력받기 : input() 함수 괄호 안에 입력한 내용을 '프롬포트 문자열'이라고 부름
- 사용자로부터 입력을 요구하는 내용 적기
- 변수대입 : input() 함수의 결과 값을 변수에 대입 - 무엇을 입력해도 결과형은 문자열 자료형
input("이름을 적어주세요. : ")
name = input('이름을 적어주세요. :')
: 뒤에 값은 직접 적을 수 있게 출력이 된다.
- input()함수의 결과는 항상 문자열 자료형이다.
-> 그렇기에 입력받은 문자열을 숫자로 변환해야 숫자연산에 사용 가능! : 바꿔줄 필요가 있다.
문자 -> 숫자 자료형으로 변환
int1 = int(string1) # int() 함수를 이용하여 숫자(정수)로 변환
float1 = float(string1) # float () 함수를 이용하여 숫자(실수)로 변환
숫자 -> 문자 자료형으로 변환
string1 = str(int1) # str() 함수를 이용하여 문자로 변환
2. 출력 (print)
- print()함수는 자료형을 출력하는 함수
- 큰따옴표(" ")로 둘러싸인 문자열은 더하기(+) 연산과 동일
print("파이썬" "프로그램")
print("파이썬" + "프로그램")
- 콤마 : 문자열 뛰어쓰기는 콤마
print("파이썬" , "프로그램")
3. 파일 입출력
- 파일 처리
- 파일 열기 (open) : open() 함수를 사용 - 파일 객체 = open(파일 경로, 파일 열기모드)
- 파일 객체 = open(파일 경로, 파일 열기 모드)
- open() 함수의 매개변수 : 파일 경로(path), 파일 열기 모드(mode)
- mode(파일 열기 모드)의 종류 : w(write, 쓰기모드), a(append, 추가 모드), r (read, 읽기 모드)
- 파일 쓰기 (write)
- 파일 닫기 (close)
myfile = open("python.txt", "w") #파일을 열고
myfile.write("Programming!") #파일을 쓰고
myfile.close() #파일을 닫기
- 파일 읽기 (read)
- 파일을 읽기모드(r)로 열기
- readline() : 텍스트 한 줄씩 읽어서 반환
- 한 줄 씩 읽어 출력할 때 줄 끝에 \n 문자가 있다면 빈 줄도 같이 출력됨
- readlines() : 파일의 모든 줄을 읽어서 각각의 줄을 리스트로 반환
- strip() : 줄 바꿈(\n) 문자 제거
myfile = open("Python_read.txt", "w")
myfile.write("Programming! \n Hello") # 2줄로 바꾸기
myfile.close()
read_file = open("Python_read.txt", "r") # 만들어준 Python_read.txt 파일을 읽기 모드로 열기
text = read_file.readline() # readline() : 텍스트 한 줄씩 읽어서 반환
-> 실행을 한번 누르면 첫번째줄, 두번 누르면 두번째줄이 출력됨 : 한줄씩 출력을 하고 싶을 때 readline을 씀
# 한 줄 씩 읽어 출력할 때 줄 끝에 \n 문자가 있다면 빈 줄도 같이 출력됨
# 출력할 때마다 한 줄 씩 내려가서 출력됨
# 한 번 실행하면 "Programming! \n", 두 번 실행하면 "Hello" 출력됨
all_text = read_file.readlines() # readlines() : 파일의 모든 줄을 읽어서 각각의 줄을 리스트로 반환
text_strip = read_file.readlines().strip() # strip() : 줄 바꿈(\n) 문자 제거
조건문
- 참과 거짓을 판단하는 문장 : 참일 경우 실행 / 거짓일 경우 패스
- if문
if 조건문 :
조건이 참일 때 수행할 문장
lecture= True
if lecture :
print("파이썬을 정복할 수 있다") -> 참이기에 출력됨
- 들여쓰기 주의 : if문에 속한 모든 문장은 들여쓰기가 필수이다.
- 콜론(:) 주의 : if 조건문 뒤에 반드시 콜론(:)을 삽입해야한다(파이썬의 문법구조! 약속임)
if 조건문 :
조건이 참일때 수행할 문장1
조건이 참일때 수행할 문장2
조건이 참일때 수행할 문장3
caffeine = True
if caffeine :
print("coffee")
print("latte")
print("cold brew")
- else 문
- if문 뒤에 사용하며, if문 조건이 거짓일 때 실행되는 부분이다.
if 조건문 :
조건이 참일 때 수행할 문장1
else :
조건이 거짓일때 수행할 문장2
lecture= False
if lecture :
print("파이썬을 정복할 수 있다")
else :
print("파이썬을 정복할 수 있다")
- elif 문
- elif문은 세 개 이상의 조건을 연결할 때 사용하는 문이다.
if 조건문A :
조건A이 참일 때 수행할 문장1
elif 조건문B :
조건B이 참일 때 수행할 문장2
elif 조건문C :
조건C이 참일 때 수행할 문장3
else :
모든 조건이 거짓일때 수행할 문장4
score = "C"
if score == "A":
print("A class")
elif score == "B" :
print("B class")
elif score == "C" :
print("C class")
else :
print("D class")
- in / not in 연산자
- 데이터 안에 찾고자 하는 것이 있는지 없는지 확인하는 연산자
if 'k' not in 'python' :
print(True)
else:
print(False)
- Pass 키워드
- 조건은 만족하지만 아무일도 수행하고 싶지 않을 때 사용
- 프로그래밍의 전체 골격은 잡아두고, 내부에 처리할 내용은 추후에 만들고자 할 때 사용됨 - 관계 연산자
-두 개의 값을 비교하여 그 값을 참 또는 거짓으로 판별하는 연산자 ( == , != , < , > , <= , >=) - 논리 연산자 : 논리 값을 판단해주는 연산자
- not (논리 부정) : 한 개의 값이 False면 결과 값으로 True 반환, True이면 결과 값으로 False 반환
print(not True) -> False
print(not False) -> True
- and (논리 곱) : 두 개의 값이모두 True인 경우에만 결과 값으로 True 반환, 나머지는 모두 False 반환
- or (논리 합) : 두 개의 값이 모두 False인 경우에만 결과 값으로 False 반환, 나머지는 모두 True 반환
반복문
- for 반복문
- 특정 코드를 반복 작업 하고 싶을 때 사용
- 리스트, 튜플, 문자열의 첫번째부터 마지막요소까지 차례로 변수에 대입하여 반복적으로 수행
for 변수 in 리스트(또는 튜플, 문자열) :
반복적으로 수행할 문장1
for 반복자 in 반복할 수 있는 것 :
반복적으로 수행할 문장1
for i in range(5): # range() 함수를 사용하여 0부터 5미만까지 5번 반복
print("Selena 파이썬 프로그래밍") # print("Selena 파이썬 프로그래밍") 코드를 5번 반복하고 싶을 때
- 문자열 반복
: 문자열은 문자의 나열, 큰따옴표 or 작은 따옴표로 입력됨, for문에 문자하나하나가 들어감
myList = 'Korea'
for a in myList:
print(a) -> 각각 K, o, r, e, a 다른 줄로 출력
- 리스트 반복
- 리스트는 여러 가지 자료를 저장할 수 있는 자료형
- 요소(element)는 리스트 안에 있는 각각의 내용을 의미
- 인덱스(index)는 리스트 안에 있는 값의 위치를 의미
- 리스트를 이용한 for문은 요소 하나하나가 변수에 들어가며, 차례차례 반복
myList = ['korea', 'usa', 'japan']
for a in myList:
print(a) -> korea, usa, japan 가 각각 줄로 출력
- 딕셔너리 반복
- 딕셔너리는 키를 기반으로 여러 자료를 저장하는 자료형
- 키(key)는 딕셔너리 안에서 값을 접근할 때 사용하는 것
- 값(value)은 딕셔너리 안에서 각각의 내용을 의미
- 딕셔너리를 이용한 for문은 딕셔너리 안에 있는 키(key)가 변수에 들어감
myDictionary = {"name" : "Selena", "job" : "data scientist"} # 딕셔너리 생성
for key in myDictionary: # 딕셔너리 안에 있는 키(key)가 변수로 들어감
print(key, ":", myDictionary[key]) # key 값과 myDictionary[key] 내용을 반복문으로 출력
- 범위 반복
- range() 함수
range(A) : 매개변수로 숫자 한 개 입력 : 0부터 A-1까지의 정수로 범위 생성
range(A, B) : 매개변수로 숫자 두 개 입력 : A부터 B-1까지의 정수로 범위 생성
range(A, B, C) : 매개변수로 숫자 세 개 입력 : A부터 B-1까지의 정수로 범위 생성하는데 앞 뒤 숫자가 C만큼의 차이를 가짐
- list() 함수
범위를 리스트로 변경하면 범위 안에 어떤 값이 있는지 확인 가능
print(range(5)) -> range(0, 5) 출력
# list() 함수를 이용해 범위를 리스트로 변경하면 범위 내부에 어떤 값이 있는지 확인 가능
# range() 함수의 매개변수 개수에 따른 결과 값 출력
print(list(range(5))) -> [0, 1, 2, 3, 4] : 0부터 5개
print(list(range(5, 10))) -> [5, 6, 7, 8, 9] : 5부터 10미만까지
print(list(range(5, 10, 2))) -> [5, 7, 9] : 5부터 10미만까지인데, 더하기 2씩
-for문에 적용하기
for i in range(5):
print(i)
for i in range(3, 20, 4): # 3부터 시작해서, 20 미만의 수를 4간격으로
print(i)
- while 반복문
- 조건을 만족하는 한, 반복적으로 문장을 실행
- bool 표현식이 참인 동안 계속 무한 반복
- 반드시 무한반복이 되지 않게 끝날 수 있게 해주기
while 조건 :
반복을 수행할 문장1
반복을 수행할 문장2
반복을 수행할 문장3
....
count = 0
while count < 5: # count 변수가 5가 될 때까지 반복하여 count 출력
print("count:", count)
count = count + 1 -> count: 0 count: 1 count: 2 count: 3 count: 4 출력
- break 키워드
- 반복문을 벗어날 때 사용하는 키워드
- 무한 반복문을 만들고 반복을 벗어나기 위해서 사용
a = 10 # a를 10으로 초기 값을 부여하여 반복문의 조건은 항상 참이 나옴 -> # 그래서 무한 반복문이 됨
count = 0
while a > 3: # 반복문 조건은 'a가 3보다 클 때 반복을 시켜줘'
count = count + 1
a = a + 1
if count > 20: # break 키워드를 통해 'count가 20보다 클 때 반복을 멈춰' 실행하여 무한 반복문을 빠져나옴
break
print("a = ", a, "\t count =", count)
print("반복문 종료")
- continue 키워드
- 반복문의 현재 반복을 생략할 때 사용하는 키워드
- 현재 반복을 생략하고, 다음 반복으로 넘어갈 때 사용
num = 0
while num < 10: # 반복문 조건은 'num이 10보다 작을 때 반복을 시켜줘'
num = num + 1
if num <= 5: # num이 5 이하일 때 continue 키워드를 사용하여 -> # 현재 반복을 생략하고 다음 반복으로 넘어가서 print가 안 됨
continue # num이 5 초과일 때 print 됨
print(num) -> 6, 7, 8, 9, 10 만 출력됨
함수
- 입력 -> 함수 -> 출력 의 구조
- 반복적으로 사용되는 기능을 함수로 사용
- 입력만 바뀌고 같은 코드가 반복되는 경우, 특정 코드들을 모아두는 용도로 사용됨
- 함수는 def 키워드 사용하여 생성
def add(x, y): # add 함수 정의 : 매개변수 x와 y를 입력으로 받기
return x + y # x + y 코드를 계산하여 출력
z = add(3, 6) # add 함수를 호출하여 인수로 3과 6 입력
print(z) # z값에 함수의 결과를 출력하여 저장
- 매개변수 : 함수에 입력으로 전달된 값을 받는 변수
def 함수 이름(매개변수) :
수행할 문장1
수행할 문장2
....
reture 결과
1. 디폴트 매개변수
- 매개변수의 값이 입력되지 않으면 디폴트 값으로 자동 입력
- 매개변수가 여러 개인 경우 뒤의 매개변수부터 디폴트 값을 가질 수 있음
def 함수이름(매개변수 = 디폴트 값) :
수행할문장1
reture 결과
def add(x, y=3): # add 함수 정의 : 매개변수 x와 y를 입력으로 받기
# y는 디폴트 매개변수로 입력이 없다면 디폴트 값으로 자동 입력
return x + y # x + y 코드를 계산하여 출력
z = add(3, 6) # z값에 함수의 결과를 출력하여 저장
print(z)
z = add(3) # y 매개변수에 입력이 없다면 디폴트 값으로 자동 입력
print(z)
2. 가변 매개변수
- 원하는 만큼의 인자를 받을 수 있는 함수를 가변 매개변수를 사용한다고 표현
- *매개변수 : 가변 매개변수는 매개변수 앞에 *를 붙임
- 가변 매개변수는 리스트처럼 사용이 가능
- 제약 사항 : 뒤에 일반 매개변수X, 하나만 사용가능
def 함수이름(*매개변수):
수행할 문장1
reture 결과
def menu(*values): # values라는 가변 매개변수 : menu 함수를 통해 카페 메뉴 출력
print("Selena 카페의 메뉴는? ") # 가변 매개변수는 리스트처럼 사용
for value in values:
print(value)
menu('코코아','캐모마일','얼그레이','에이드') # 정의한 menu 함수 호출 : 인수로 4가지 메뉴 입력
3. 키워드 매개변수
- 매개변수의 이름을 지정해서 입력하여 함수 호출
- 키워드 매개변수를 넘겨줄 때 매개변수의 순서와 상관없이 나열 가능
def 함수(매개변수A, 매개변수B, 매개변수C) :
수행할 문장1
reture 결과
def add(x=1, y=2, z=3): # x,y,z는 디폴트 매개변수
return x + y + z # x + y + z 코드를 계산하여 출력
add(y=5, z=5, x=1)
- 키워드 매개변수를 사용하여 add 함수 호출
- 키워드 매개변수를 넘겨줄 때 매개변수의 순서와 상관없이 나열 가능
- 키워드 매개변수는 x, y, z
- 인수
- 함수를 호출할 때 전달하는 입력 값
함수(인수1, 인수2)
- reture
- 함수를 호출한 곳으로 결과 값을 반환
def 함수이름(매개변수)
실행문
return 되돌려 주는 결과 값
변수 = 함수이름(인수)
- 1개의 리턴 값을 사용할 때
def returnTest() : # returnTest 함수 정의하고 함수를 호출하여 return 값 확인
return "되돌려 주는 결과 값"
value = returnTest()
print(value)
- 2개의 리턴 값을 사용할 때
def returnTest() : # returnTest 함수 정의하고 함수를 호출하여 return 값 확인
a = 3
b = 4
return a, b # 반환되는 두 개의 값을 차례대로 value1, value2에 저장하여 출력
value1, value2 = returnTest() # a는 value 1으로, b는 value2로 들어가게됨
print(value1)
print(value2)
'Study > Python' 카테고리의 다른 글
파이썬 라이브러리- NumPy(수치계산라이브러리) (0) | 2024.09.27 |
---|---|
파이썬 라이브러리 개념 (4) | 2024.09.26 |
파이썬_클래스와 모듈 (6) | 2024.09.26 |
파이썬_변수와 자료형 (2) | 2024.09.26 |
파이썬에 대한 가장 기초적인 설명 (3) | 2024.09.26 |