반응형
Recent Posts
Recent Comments
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Bbaktaeho

[Programming] Python vs JavaScript (파이썬과 자바스크립트 기본 API 비교, 문법 비교) 본문

프로그래밍 (Programming)/프로그래밍 상식 (Common Sense)

[Programming] Python vs JavaScript (파이썬과 자바스크립트 기본 API 비교, 문법 비교)

Bbaktaeho 2021. 5. 29. 17:19
반응형

언젠가 업데이트 예정.

들어가며

두 언어로 알고리즘 문제 풀이를 하면서 둘의 기본 제공 API를 다뤄보고 정리해보려고 합니다.

아주 주관적(?)으로 두 언어가 제공하는 API에 대해 비교해보겠습니다.

 

보시고 아! 이거 좋다! 이것도 추가해줘! 해주시면 이름과 함께 추가할게요 ㅎㅎ 

리스트를 문자열로 변환

파이썬

"".join(["hi ", "everyone"])
# hi erveryone

"\n".join([1,2,3,4,5])
# 1
# 2
# 3
# 4
# 5

파이썬은 문자열의 join 함수를 활용하면 "구분자".join()으로 문자열을 생성할 수 있습니다.

 

자바스크립트

["hi ", "everyone"].join("");
// hi everyone

[1,2,3,4,5].join("\n");
// 1
// 2
// 3
// 4
// 5

자바스크립트는 Array의 join 함수를 활용하면 배열.join("구분자")으로 문자열을 생성할 수 있습니다.

문자열 슬라이싱

파이썬

"hello"[1:] # ello
"hello"[2:4] # ll
"hello"[:4] # hell

파이썬은 문자열을 문자열[시작:끝] 코드로 슬라이싱할 수 있습니다. subString 처럼 끝으로 들어오는 인덱스의 -1 만큼 슬라이싱됩니다.

 

자바스크립트

"hello".slice(1) // ello
"hello".slice(2:4) // ll

자바스크립트는 문자열.slice(시작, 끝) 으로 슬라이싱할 수 있습니다. 끝은 파이썬과 동일합니다.

문자열 반복

파이썬

"하" * 10 # "하하하하하하하하하하"

Just multiply..

 

자바스크립트

"하".repeat(10) // "하하하하하하하하하하"

자바스크립트는 문자열.repeat(숫자) 함수를 이용하여 반복된 문자열을 만들 수 있습니다.

리스트(배열) 슬라이싱

파이썬

[1,2,3,4,5][1:3] # [2, 3]

문자열 슬라이싱과 동일합니다..!

 

자바스크립트

[1,2,3,4,5].slice(1, 3) // [2, 3]

마찬가지입니다.

문자열/리스트 리버싱

파이썬

"hello"[::-1] # olleh
[1,2,3,4,5][::-1] # [5,4,3,2,1]

arr = [1,2,3,4,5]
arr.reverse() # [5,4,3,2,1]

파이썬은 문자열, 리스트 모두 문자열/리스트[::-1] 코드로 리버싱할 수 있습니다.

리스트.reverse() 함수는 리턴 타입이 없이 기존 리스트를 리버싱합니다.

 

자바스크립트

"hello".split("").reverse().join("") // olleh

[1,2,3,4,5].reverse() // [5,4,3,2,1]

자바스크립트 문자열은 리스트로 변환 후에 리버싱을하고 조인 함수를 통해 다시 문자열로 변경해줘야 합니다.

즉, 리스트.reverse() 함수를 이용하여 리버싱할 수 있습니다. 자바스크립트의 리버싱 함수는 리스트를 리턴하긴 하지만 원본도 리버싱됩니다.

리스트 합치기

파이썬

[1,2,3,4,5] + [6,7,8] # [1,2,3,4,5,6,7,8]

Just add..

 

자바스크립트

const arr = [1,2,3,4,5]
const arr2 = arr.concat([6,7,8])
arr // [1,2,3,4,5]
arr2 // [1,2,3,4,5,6,7,8]

자바스크립트는 리스트.concat() 함수를 사용합니다.

합칠 리스트를 인자로 받아서 새로운 리스트로 반환해줍니다. 원본 리스트는 변함이 없습니다.

리스트/딕셔너리/오브젝트 펼치기

파이썬

*[1,2,3,4] # 1 2 3 4
*{name: "taeho", nickname: "bbak"} # name, nickname

파이썬은 리스트 앞에 * 연산자 추가하면 리스트의 요소를 펼칠 수 있습니다.

또 딕셔너리 자료형도 펼칠 수 있는데 기본으로는 키 값으로 펼치기 때문에 값을 펼치고 싶을 때 딕셔너리의 값을 볼 수 있는 values() 함수를 사용하면 됩니다.

 

자바스크립트

...[1,2,3,4,5] // 1 2 3 4 5

const obj = { name: "taeho", nickname: "bbak" }
const newObj = { ...obj, phone: "010" } // { name: 'taeho', nickname: 'bbak', phone: '010' }

자바스크립트는 ... 스프레드 연산자를 추가하면 리스트의 요소를 펼칠 수 있습니다.

오브젝트는 펼쳐서 바로 출력할 순 없어서 보통 새로운 객체에 할당할 때 사용되곤 합니다.

반응형