1. 조건문
기본적인 조건문은 다른 언어와 같다. 다만 파이썬은 기본적인 조건문 뒤에 콜론(:)을 작성하여 조건문을 구분한다. 그리고 파이썬의 특성상 들여쓰기를 주의해서 작성해줘야한다.
money = True
if money:
print("택시를 탄다")
else:
print("걸어 간다")
in
조건문 중, 집합에 원소가 포함되어있는지 여부를 검사하는 것은 in 절을 통해서 실행한다. 자바에서의 contains와 동일한 로직이다. 부정은 not in 으로 사용하면 된다.
list = [1,2,3]
if 1 in list:
print("There is One")
elif
다른 조건은 else if를 줄인 elif를 사용한다.
money = 1000
if money < 1000:
print("걸어간다")
elif money > 1000 & money < 2000:
print("버스를 탄다")
else:
print("택시를 탄다")
continue, break, pass
다른 언어와 마찬가지로 반복문 내에서 continue는 해당 차수를 종료하고 다음 반복으로 진행, break은 반복문 자체를 종료하는 기능을 한다. 파이썬에서는 pass문이 있어서 아무런 동작을 하지 않게 하고 싶을 때 쓸 수 있다. 안 쓰는 것과 기능상의 차이는 없으나, 의미적으로 코드 내에 표시를 하고 싶을 때 사용한다.
조건부 표현식(=삼항 연산자)
한 줄로 간결하게 조건문을 써줄 수 있다. 이때는 성공 시 동작 코드를 먼저 작성하고 조건문 및 else 문을 작성한다.
message = "success" if score >= 60 else "failure"
2. 반복문
반복문의 사용은 대부분의 다른 언어와 유사하다. 다른 점들만 짚어보자.
향상된 for문
파이썬에서는 자바스크립트나 자바에서의 for(int i; ...)과 같은 index를 참고로하는 기본 for문은 사용하지 않는다. 대신 향상된 for문 형태로 list를 하나씩 순차 조회하는 for문이 기본적으로 사용된다.
튜플 사용
인자값들을 리스트 내부의 튜플로 표현해줄 수 있다.
a = [(1, 2), (3, 4), (5, 6)]
for (first, last) in a:
print(first + last) #3, 7, 11 차례대로 출력
range
range 메서드로 순차 범위를 지정해줄 수 있다. 첫 번째 인자 이상, 두 번째 인자 미만의 범위를 지정한다.
sum = 0
for i in range(0, 11):
sum += i
print('sum = ' + str(sum)) #sum = 11
*print 함수에 인자 설정하기
intelliJ를 사용하는 경우, [Ctrl + p]를 눌러 해당 메서드의 인자값들에 대한 설명을 볼 수 있다. 여기서 print 함수의 인자 값 중 end 라는 값이 있는데, 이 값은 출력 후 끝에 추가로 넣어줄 문자열을 지정할 수 있다. default 값은 개행문자(\n) 이다.
sum = 0
for i in range(0, 11):
sum += i
print('sum = ' + str(sum), end="\n\n")
print 함수는 여러 str 인자값을 받으면 자동으로 문자열을 이어준다. 그리고 콤마(,)로 구분 시 띄어쓰기를 해준다.
print("Life" "is" "too" "short") #Lifeistooshort
print("Life", "is", "too", "short") #Life is too short
리스트 내포(List Comprehension)
리스트를 정의하는 괄호 안에 for, if문을 사용하여 간결한 작성이 가능한 문법이다.
a = [1,2,3,4,5]
result = [num * 3 for num in a]
print(result) # [3, 6, 9, 12, 15]
meter_list = [3, 7, 9, 10]
centi_meter_list = [100*i for i in meter_list if i%2 != 0]
print(centi_meter_list) #[300, 700, 900]
result = [x * y for x in range(1, 11) for y in range(1,11)]
print(result) #[1,2,3,4,5,6,7,8,9,10,2,4,6,8,...,100]
3. 함수
파이썬 함수의 구조
파이썬 함수는 def(define) 명령어를 이용하여 다음과 같은 형태로 정의한다.
def 함수명(파라미터):
#비즈니스 로직
#...
return 반환할 값
파라미터 여러 개 표현하기(*, **)
받아올 파라미터가 여러 개인 경우, * 표시를 사용한다.
def sum(*args):
sum = 0
for i in args:
sum += i
return sum
print(sum(1,2,3,4)) #10
단순 여러 변수가 아니라, 딕셔너리 형태로 여러 매개변수가 들어오는 경우에는 ** 표시를 사용한다. 관습상 kwargs라고 적는데, keywords arguments의 줄임말이다.
def print_kwargs(**kwargs):
for k in kwargs.keys():
if k == "name":
print("당신의 이름은 : " + kwargs.get('name'))
print_kwargs(name='Dustin', age=20) #당신의 이름은 : Dustin
결과값 여러 개 반환하기
함수의 결과값을 한 개만 반환하는 것이 아니라 여러 개를 반환할 수도 있다. 실제로는 여러 값을 반환하는 것은 아니고, 튜플 형태로 여러 연산 결과를 반환할 수 있다.
def sum_and_mul(a,b):
return a+b, a*b
print(sum_and_mul(1,2)) #(3,2)
전역 변수 키워드 : global
함수 내의 매개 변수 값은 기본적으로 지역변수이다. 이것을 전역 변수로 변경하고 싶다면 global 이라는 키워드를 써주면 된다.
#지역 변수로 사용 시
a=1 #전역변수 a
def vartest(a): #지역변수 a
a = a + 1
return a
vartest(1)
print(a) # 1
def vartest2():
global a #전역변수 a
a = a+1
return a
vartest2()
print(a) # 2
람다 함수 키워드: lambda
간단한 함수는 lambda 키워드를 적용하여 작성할 수 있다.
# def add(a,b):
# return a+b
add = lambda a,b: a+b
print(add(1,2)) # 3
리스트 내부에 def 키워드로 시작하는 함수는 넣을 수 없으나, lambda 함수는 넣을 수 있다.
myList = [lambda a, b:a+b, lambda a, b: a*b]
print(myList[1](2,4)) # 8
참조
1. 유튜브 조코딩 채널 - 최신 파이썬 코딩 무료 강의
'Programming-[Backend] > Python' 카테고리의 다른 글
Python 라이브러리 실행 에러 : Windows 환경에서 pip install 정확히 하기(black, isort 실행 문제) (2) | 2022.07.08 |
---|---|
파이썬 기본 - 4. 입력과 출력, 클래스, 모듈, 패키지, 예외처리, 내장/외장 함수 (0) | 2022.06.05 |
파이썬 기본 - 2. 리스트, 튜플, 딕셔너리, 집합, 불, 인스턴스 복사 (0) | 2022.06.04 |
파이썬 기본 - 1. 파이썬의 특징, 설치, 숫자 및 문자 자료형 (0) | 2022.06.03 |
객체지향 프로그래밍 : 파이썬 생성자, Decorator 예제 (0) | 2020.06.29 |