Python 및 JavaScript의 등가물.섹션 1


파이썬과 자바스크립트는 완전히 다른 언어이지만 웹 프로젝트를 개발할 때 파이썬 개발자들은 비슷한 것을 알아야 한다.본 시리즈(총 4부분)에서 저는 모든 언어의 유사점과 흔한 문제를 해결하는 흔한 방법을 연구하고자 합니다.이것은 결코 참고가 아니다. 나는 기본 변수 유형, 조건, 순환 등 기본 내용을 뛰어넘을 것이다.하지만 저는 Python과 JavaScript를 사용하여 더욱 복잡한 구조와 데이터 조작을 깊이 연구할 것입니다.그 밖에 나는 실제 용례에 관심을 가지려고 노력할 것이다.Django, Flask 또는 다른 Python 프레임워크의 개발자들에게 이 시리즈는 재미있을 것이다. 그들은 전통과 현대의 vanilla 자바스크립트를 장악하기를 원한다.다른 한편, 이것은 전방에서 누가 백엔드 작업을 어떻게 하는지 더 잘 알고 싶은지, 심지어는 자신의 Django 사이트를 시작할 수 있도록 도와줄 것이다.

정수 분석 중


우리는 정수 해석부터 시작할 것이다.
Python에서는 간단합니다.
number = int(text)
그러나 JavaScript에서는 10진수, 8진수, 16진수 또는 2진수로 원하는 디지털 시스템을 설명해야 합니다.
number = parseInt(text, 10);
"일반"십진수 시스템을 사용하기 위해서, 우리는 숫자 10을 parseInt() 함수의 두 번째 매개 변수로 삼았다.8은 8진법, 16은 16진법, 또는 2는 2진법을 나타낸다.두 번째 매개 변수가 없으면 텍스트의 숫자가 0에서 시작하고 약간 오래된 브라우저를 사용하면 텍스트의 숫자는 8진법으로 해석됩니다.예:
parseInt('012') == 10  // in some older browsers
parseInt('012', 10) == 12
이것은 정말 너의 계산을 흐트러뜨릴 것이다.

조건부


조건부 값에 대해 Python과 JavaScript는 서로 다른 문법을 가지고 있지만 조건부 값은 이 두 언어 모두에서 매우 유행한다.조건검사,truecase값,falsecase값이 있는 단독 문장이기 때문에 유행입니다.
Python 2.7 덕분에 다음과 같은 조건부 값을 작성할 수 있습니다.
value = 'ADULT' if age >= 18 else 'CHILD'
JavaScript에서 조건 부여는 C, C++, C#, Java, Ruby, PHP, Perl, Swift 및 ActionScript와 같은 3원 연산자 ?:을 사용하여 수행됩니다.
value = age >= 18? 'ADULT': 'CHILD';

속성 이름으로 나열된 객체 속성 값


객체 속성에 액세스하는 일반적인 방법은 Python 및 JavaScript의 점 표현입니다.
obj.color = 'YELLOW'
그러나 문자열로 저장된 이름으로 속성을 인용하려면 어떻게 해야 합니까?예를 들어 속성 이름은 속성 목록에서 오거나 속성 이름은 두 개의 문자열(예를 들어 'title_' + lang_code)으로 조합할 수 있다.
따라서 Python에는 함수 getattr()setattr()이 있습니다.나는 그것들을 자주 사용한다.
attribute = 'color'
value = getattr(obj, attribute, 'GREEN')
setattr(obj, attribute, value)
JavaScript에서는 객체를 사전으로 간주하고 속성 이름을 괄호로 전달할 수 있습니다.
attribute = 'color';
value = obj[attribute] || 'GREEN';
obj[attribute] = value;
객체에 이러한 속성이 없을 때 기본값을 읽어들이려면 Python에서 getattr()에 세 번째 매개변수가 있습니다.JavaScript에서 obj 속성이 없으면 undefined 값이 반환됩니다.그런 다음 지정할 기본값을 사용하여 편집할 수 있습니다.이것은 자바스크립트에서 흔히 볼 수 있는 방법으로 많은 자바스크립트 라이브러리와 프레임워크에서 찾을 수 있다.

버튼에 나열된 사전 값


이것은 이전과 유사하다.두 언어에서 키를 눌러 사전 값을 할당하는 일반적인 방법은 네모난 괄호를 사용하는 것입니다.
dictionary = {}
dictionary['color'] = 'YELLOW'
Python에서 값을 읽으려면 대괄호 표현을 사용할 수 있지만 KeyError의 키가 없으면 실패합니다.더욱 유연한 방법은 get() 방법을 사용하는 것이다. 이 방법은 존재하지 않는 키를 None으로 되돌려준다.선택적 기본값을 두 번째 매개변수로 전달할 수도 있습니다.
key = 'color'
value = dictionary.get(key, 'GREEN')
JavaScript에서는 사전과 객체가 동일하므로 객체 속성과 동일한 기법을 사용합니다.
key = 'color';
value = dictionary[key] || 'GREEN';

슬라이스 목록 및 문자열


Python은 slice [:] 연산자를 사용하여 목록, 메타그룹 및 유사한 더 복잡한 구조의 일부를 가져옵니다. 예를 들어 Django QuerySets:
items = [1, 2, 3, 4, 5]
first_two = items[:2]      # [1, 2]
last_two = items[-2:]      # [4, 5]
middle_three = items[1:4]  # [2, 3, 4]
JavaScript 배열에서 slice() 메서드는 동일한 효과와 유사한 사용법을 가지고 있습니다.
items = [1, 2, 3, 4, 5];
first_two = items.slice(0, 2);     // [1, 2] 
last_two = items.slice(-2);        // [4, 5]
middle_three = items.slice(1, 4);  // [2, 3, 4]
그러나 원시 그룹을 수정하는 splice() 방법과 혼동하지 마세요!
파이썬의 [:] 슬라이스 연산자도 문자열에 적용됩니다.
text = 'ABCDE'
first_two = text[:2]      # 'AB'
last_two = text[-2:]      # 'DE'
middle_three = text[1:4]  # 'BCD'
JavaScript에서 문자열은 배열과 같이 slice() 메서드가 있습니다.
text = 'ABCDE';
first_two = text.slice(0, 2);    // 'AB'
last_two = text.slice(-2);       // 'DE'
middle_three = text.slice(1, 4); // 'BCD'

목록 항목이 있는 작업


프로그래밍에서 원소 서열을 수집하고 분석하는 것은 매우 흔하다.Python에서는 일반적으로 목록을 통해 이루어지고 JavaScript에서는 수조를 통해 이루어집니다.그것들은 비슷한 문법과 조작을 가지고 있지만, 값을 추가하고 삭제하는 방법의 이름은 다르다.
이것은 두 개의 목록을 연결하여 끝에 값을 추가하고, 끝에 값을 추가하고, 끝에 값을 가져오고, 삭제하고, 파이썬에서 색인을 통해 값을 삭제하는 방법입니다.
items1 = ['A']
items2 = ['B']
items = items1 + items2  # items == ['A', 'B']
items.append('C')        # ['A', 'B', 'C']
items.insert(0, 'D')     # ['D', 'A', 'B', 'C']
first = items.pop(0)     # ['A', 'B', 'C']
last = items.pop()       # ['A', 'B']
items.delete(0)          # ['B']
이것은 JavaScript에서 배열에 대해 완전히 동일한 작업을 수행하는 방법입니다.
items1 = ['A'];
items2 = ['B'];
items = items1.concat(items2);  // items === ['A', 'B']
items.push('C');                // ['A', 'B', 'C']
items.unshift('D');             // ['D', 'A', 'B', 'C']
first = items.shift();          // ['A', 'B', 'C']
last = items.pop();             // ['A', 'B']
items.splice(0, 1);             // ['B']

연결 문자열 목록


문자열 목록이나 그룹을 가진 후에 쉼표나 새 줄 등 구분자를 통해 문자열로 조합하는 것은 흔히 볼 수 있다.
Python에서는 목록이나 메타그룹의 문자열을 전달하는 join() 방법으로 이루어집니다.비록 이것은 부자연스러울 수도 있지만, 당신은 그곳의 구분자로부터 시작할 수 있습니다.하지만 여러 번 사용하면 익숙해질 거라고 확신합니다.
items = ['A', 'B', 'C']
text = ', '.join(items)  # 'A, B, C'
JavaScript에서 배열에는 join() 메서드가 있으며 여기서 구분자를 전달합니다.
items = ['A', 'B', 'C'];
text = items.join(', ');  // 'A, B, C'

배달


Python의
  • 목록과 모듈은 JavaScript의 그룹과 유사합니다.
  • Python의
  • 사전은 JavaScript의 객체와 유사합니다.
  • Python의
  • 문자열은 JavaScript의 문자열과 유사합니다.
  • JavaScript의
  • 숫자는 자세히 해석해야 합니다.
  • 두 언어 중 모두 단행 조건 부여가 존재한다.
  • Python에서 문자열 시퀀스를 연결하는 것은 곤혹스럽지만, 빨리 익숙해질 수 있습니다.
  • Python과 JavaScript의 모든 등가물을 메모지로 컴파일하여 출력하여 영구적으로 사용할 수 있습니다.또한 전통적인 Python 2.7과 ECMAScript 5 표준을 바탕으로 하는 자바스크립트, 그리고 업데이트된 Python 3.6과 ECMAScript 6 표준을 바탕으로 하는 자바스크립트와 문자열 삽입값, lambdas, 생성기, 클래스 등의 장점을 비교했다.
    ✨✨✨
    Get the Ultimate Cheat Sheet of
    Equivalents in Python and JavaScript
    ✨✨✨

    이 시리즈에서 우리는 JSON의 창설과 해석, 정규 표현식의 조작과 오류 처리를 이해할 것이다.기대해주세요!
    표지 사진은 Benjamin Hung에서 제공한다.

    좋은 웹페이지 즐겨찾기