조건문
조건에 따라 로직을 설정할 수 있다. 자바스크립트를 사용하면서 필수로 사용했기에 익숙한 문법이다.
그래서 자바스크립트와 다르다고 생각한 부분을 정리해두려고 한다!
자바스크립트의 경우 아래 소스코드처럼 값을 범위에 포함시키려면 두 개의 조건으로 쪼갠 뒤
&&
연산자를 사용해야 원하는 동작을 한다.
아래의 경우 'Bad'가 출력되며 60 < score <= 70
로 작성할 경우 'Not Bad'가 출력된다.
let score = 50;
if (score > 70) {
console.log('Nice!');
} else if (60 < score && score <= 70) {
console.log('Not Bad');
} else {
console.log('Bad');
}
파이썬은 60 < score <= 70
를 사용할 수 있어 더욱 짧게 코드를 작성할 수 있다.
score = 70
if score > 70:
print('Nice!')
elif 60 < score <= 70:
print('Not Bad')
else:
print('Bad')
코드 블록을 구분하는 방법에도 차이가 있는데, 자바스크립트는 중괄호를 사용하고 파이썬은 들여쓰기로 설정한다.
가독성을 따지자면 나는 아직 자바스크립트가 더 눈에 익어서 그런지 중괄호를 사용하는 것이 더 좋아보인다!
변수에 값을 담을 때 조건문을 사용하여 간단히 초기화할 수 있다.
아래 소스코드와 같이 score
가 80 이상이면 "Success"를, 아니라면 "Fail"을 할당하는 것을
한 줄로 작성할 수 있다. 이를 조건부 표현식이라고 한다.
score = 75
result = "Success" if score >= 80 else "Fail"
print(result) #Fail
반복문
반복문도 문법만 다를 뿐 자바스크립트와 구조는 동일해서 딱히 어려울게 없었다.
다른 점이 있다면 for문
을 사용할 때 변수 i
의 범위를 지정하는 것에 약간 차이가 있다.
자바스크립트는 i
를 선언하고 i의 범위
를 지정한 다음 i++
를 해주어 1씩 증가하도록 하는 반면에,
for(let i=0; i<3; i++) {
console.log(i) //0 //1 //2
}
파이썬은 변수 선언부는 생략하고 range(3)
으로 범위를 지정해주기만 하면 된다.
이 때 range()
안에 첫 번째 인자는 시작 값, 두 번째 인자는 끝나는 값이 오며 끝나는 값의 -1
까지 반복문이 실행된다.
for i in range(3):
print(i) #0 #1 #2
함수
동일한 로직을 반복적으로 수행해야 할 때 함수화하여 사용하면 효율적으로 코드를 작성할 수 있다.
function() {}
또는 const 함수명 = () => {}
으로 정의하는 자바스크립트와 달리 파이썬은 다음과 같이 정의한다.
def add(a,b):
return a+b
print(add(2,3)) #5
더 신기했던 점은 함수 밖 데이터에 접근하는 방식이 따로 있다는 것과 람다 표현식이었다.
먼저 함수 밖 데이터에 접근하려면 global 키워드를 사용하면 된다고 한다.
장점으로는 지역 변수를 만들지 않고 바로 참조한다는 것이다.
name = '철수'
def call():
global name
print(name)
call() #철수
람다 표현식은 간단한 함수의 경우 한 줄로 표현할 수 있는 것이다.
첫 인상은 가독성이 좋아보이지 않아서 자주 쓸까? 싶은 생각이 들었는데, 일단 더 지켜봐야 할 것 같다.
print((lambda a,b: a+b)(2,3)) #5
'Study > 파이썬[Python]' 카테고리의 다른 글
파이썬[Python] | 데이터 입출력 방법 (0) | 2023.05.31 |
---|---|
파이썬[Python] | 파이썬의 자료형 (0) | 2023.05.26 |
파이썬[Python] 004. 크롤링을 하기 전에.. 라이브러리란? (0) | 2022.03.05 |
파이썬[Python] 003. 크롤링의 정의 (0) | 2022.03.03 |