728x90
반응형
SMALL

Python 2와 Python 3은 Python 프로그래밍 언어의 두 가지 주요 버전이다. 그들은 많은 유사점을 공유하지만 몇 가지 주요 차이점이 있으며 그 중 일부는 이전 버전과 호환되지 않는다. Python 2와 Python 3의 주요 차이점은 다음과 같다.

Print 문/함수: Python 2와 3의 가장 눈에 띄는 차이점 중 하나는 print 문이다. Python 2에서 print는 명령문이며 괄호가 필요하지 않는다.

print "Hello, World!"

Python 3에서 print는 함수이며, 괄호가 필요하다.

print("Hello, World!")

정수 나눗셈: Python 2에서 두 정수를 나누면 정수가 되며 기본적으로 바닥 나눗셈을 수행한다.

print 7 / 2  # Outputs: 3

Python 3에서 두 정수를 나누면 부동 소수점 숫자가 된다.

print(7 / 2)  # Outputs: 3.5

유니코드 지원: Python 3은 유니코드를 더 잘 지원한다. Python 2에서 문자열은 유니코드 문자열로 만들기 위해 'u' 접두사를 붙이지 않는 한 기본적으로 ASCII

print type('default string ')  # Outputs: <type 'str'>
print type(u'unicode string')  # Outputs: <type 'unicode'>

Python 3에서 모든 문자열은 기본적으로 유니코드

print(type('default string'))  # Outputs: <class 'str'>
  1. 구문 및 라이브러리: Python 3에는 이전 버전과 호환되지 않는 몇 가지 새로운 구문 및 라이브러리 변경 사항이 도입되었다. 예를 들어, Python 2의 xrange 함수는 Python 3에 존재하지 않는다. 대신 Python 3의 range는 Python 2에서 xrange가 수행한 작업을 수행한다. 일부 내장 함수 및 유형도 변경되었다. 예외를 처리하고 발생시키는 방법.
  2. 수명 종료: Python 2는 2020년 1월 1일에 수명이 종료되어 더 이상 보안 문제를 포함하여 공식적인 지원이나 업데이트를 받지 않는다. Python 3은 이제 표준 버전이며 모든 업데이트를 받는다.
728x90
반응형
LIST

'CS > 프로그래밍 언어' 카테고리의 다른 글

베이직(BASIC)  (0) 2023.05.29
코볼(COBOL)  (0) 2023.05.29
포트란(Fortran)  (0) 2023.05.29
고수준 언어와 어셈블리 언어의 차이점  (0) 2023.05.26
컴파일러  (0) 2023.05.26
728x90
반응형
SMALL

프로그래밍 언어는 모두 계산을 일련의 단계로 풀어서 상세히 설명하기 위한 표기법!

몇 가지 기본 아이디어를 공유한다.


모든 프로그래밍 언어는

  • 입력 데이터를 읽고,
  • 산술 연산하고,
  • 계산이 진행됨에 따라 중간 값을 저장하고 가져오고,
  • 이전에 계산한 값을 기반으로 어떻게 진행할지 결정하고,
  • 그 결과를 표시하고, 계산이 완료되면 결과를 저장하기 위한 방법을 제공한다.

 

언어에는 구문 규칙(문법적으로 무엇이 맞고 무엇이 틀린지 정의)하는 규칙이 있다.

프로그래밍 언어는 문법 면에서 까다롭다. 정확하게 표현해야하고, 그렇게 하지 않으면 불평을 듣는다.

언어에는 의미 체계도 있는데, 이는 해당 언어로 표현할 수 있는 모든 것에 대해 명확히 정의된 의미

 


프로그래밍 언어는

  • 구문: 언어로 작성된 프로그램이 구조화되어야 하는 방식을 정의하는 문법 규칙
  • 의미: 언어 내의 다양한 구조의 의미.
  • 데이터 관리 방법: 데이터 읽기 및 쓰기, 다양한 작업 수행이 포함
  • 제어 구조: 조건문 및 루프와 같이 프로그램의 실행 흐름을 제어하는 메커니즘이다.
  • 라이브러리: '바퀴를 다시 발명'할 필요가 없도록 재사용할 수 있는 미리 작성된 코드 모음이다. 수학적 계산, 문자열 조작, 날짜 및 시간 계산 등과 같은 기능을 제공한다.

이론상으로는 특정 프로그램이 구문상 정확한지, 만약 그렇다면 그 의미가 무엇인지 모호함이 없어야 한다.(항상이렇지는 않음)

프로그래밍 언어는 대개 단어로 정의되고, 자연 언어로 작성된 다른 문서와 마찬가지로 단어의 정의에는 모호성이 있어서 다르게 해설할 수 있는 여지가 있다.

언어 개발자가 실수할 수 있고, 시간이 흐르면서 언어가 점진적으로 변하기도 한다.

 

자바스크립트 구현은 브라우저마다 다소 차이가 있고, 심지어 같은 브라우저라도 버전별로 다르기도 하다.

파이썬에는 크게 두 가지 버전이 있는데, 대부분 호환되지만 약간 거슬릴 정도의 차이가 존재한다. (파이썬 버전 2는 버전 3로 대체되면서 퇴출되는 중이여서 이런 문제는 사라질 것이다.) => Python 2는 2020년 1월 1일에 수명이 종료


대부분의 언어는 세가지 측면에서 살펴볼 수 있다.

  1. 언어 그 그체. 컴퓨터에 산술 연산을 수행하고, 조건을 검사하고, 계산을 반복하라고 지시하는 문장
  2. 프로그램을 만들 때 사용할 수 있는 코드 라이브러리가 있다. 라이브러리는 직접 작성하지 않아도 되는 사전 제작된 부품으로, 대표적인 예로는 수학 연산, 날짜 계산, 텍스트 검색과 조작을 위한 함수가 있다.
  3. 프로그램 실행 환경에 접근하는 기능이다.
    • 브라우저에서 실행되는 자바스크립트 프로그램은 사용자에게서 입력을 받고, 사용자가 버튼을 누르거나 폼에 타이핑하는 것 같은 이벤트에 반응하며, 브라우저가 다양한 콘텐츠를 표시하거나 다른 웹페이지로 가게 만들 수 있다.
    • 파이썬 프로그램은 실행되는 컴퓨터 상의 파일 시스템에 접근할 수 있는데, 이는 브라우저에서 실행되는 자바스크립트 프로그램에서는 브라우저에 따라 제한적으로 지원되는 기능이다.
  4. 언어 자체: 여기에는 변수, 데이터 유형, 제어 구조(루프 및 조건문), 함수 등과 같은 기본 구성인 언어의 핵심 구문 및 의미 체계가 포함된다. 이 부분은 언어의 기초를 형성하고 프로그램 작성 방법을 지시한다.
  5. 라이브러리: 라이브러리는 프로그래머가 코드를 단순화하고 생산성을 향상시키기 위해 활용할 수 있는 미리 작성된 코드 모듈 모음이다. 수학적 연산에서 파일 처리 및 그 이상에 이르기까지 다양한 기능을 제공할 수 있다. 예를 들어 Python에는 수치 계산을 위한 NumPy, 데이터 분석을 위한 Pandas, 웹 스크래핑을 위한 BeautifulSoup과 같은 풍부한 라이브러리 세트가 있다.
  6. 실행 환경: 실행 환경은 코드가 실제로 실행되는 곳이며 코드에 컨텍스트를 제공한다. 서로 다른 언어는 서로 다른 환경에 맞게 설계되었으며 시스템 리소스에 대한 액세스 수준이 다르다.

예를 들어: - JavaScript는 주로 웹 브라우저에서 실행된다. DOM(문서 개체 모델)과 상호 작용하고, 사용자 이벤트에 응답하고, 네트워크 요청 등을 수행할 수 있다. 원래는 클라이언트 측이었지만 Node.js를 사용하면 JavaScript가 이제 서버 측에서도 실행될 수 있다. - Python은 웹 개발, 데이터 분석, 기계 학습 등에 사용할 수 있는 다재다능한 언어이다. 다양한 시스템(예: Windows, Mac, Linux)에서 실행할 수 있고 파일 시스템, 데이터베이스, 네트워크 등과 상호 작용할 수 있으며 브라우저 환경에 국한되지 않는다.

 

728x90
반응형
LIST
728x90
반응형
SMALL

자바스트립트와 파이썬

둘 다 아마추어 또는 프로그래머 사이에서 널리 사용된다.

초보자가 배우기 쉽고 더 큰 프로그램으로 확장하기 용이하다.

자바스크립트

스크립트 언어.

  1. 인터프리터 언어 : 컴파일 과정 없이 실행 가능
  2. 동적 타입 언어: 변수를 선언할 때 데이터 타입 지정하지 않는다.

스크립트 언어

응용 소프트웨어를 제어하는 언어.

→ 요즘에는 스크립트 언어 자체만으로 독립적인 프로그램 개발이 가능하다.

  • 컴파일 없이 인터프리터를 사용하여 즉시 코드 실행.→ 컴파일 과정이 없어, 소스코드가 그대로 실행 파일이 되어 메모리에 적재 되고, 런타임시 메모리가 명령어를 실행하기 위해 내부적으로 기계어로 변환한다.
  • → 컴파일 과정이 없어, 프로그램을 실행시켜야 오류를 알 수 있다.

파이썬

최근 프로그래밍 입문 수업, 데이터 과학, 머신 러닝 관련 강의의 표준 언어가 되었다.

자바스크립트와 마찬가지로 인터프리터 언어

코드 가독성이 높고 문법이 쉬워 머신 러닝에 많이 쓰인다.

데이터 및 딥러닝 라이브러리와 프레임워크(TensorFlow, Keras, PyTorch, scikit-learn, Numpy, Pandas)가 많아 데이터 과학에 많이 쓰인다.

 


무료 강의 사이트

Learn to Code - for Free | Codecademy

 

Learn to Code - for Free | Codecademy

Learn the technical skills to get the job you want. Join over 50 million people choosing Codecademy to start a new career (or advance in their current one).

www.codecademy.com

컴퓨터 프로그래밍 | 컴퓨팅 | Khan Academy

 

컴퓨터 프로그래밍 | 컴퓨팅 | Khan Academy

JavaScript와 ProcessingJS를 활용하여 그림, 애니메이션, 게임을 만드는 방법을 배워 봅시다. HTML과 CSS를 활용하여 웹 페이지를 만드는 방법을 배울 수도 있습니다. 여러분이 완성한 작품을 다른 사람

ko.khanacademy.org

무료강의 : 부스트코스 (boostcourse.org)

 

다 함께 배우고 성장하는 부스트코스

부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다.

www.boostcourse.org

 

728x90
반응형
LIST

+ Recent posts