파이썬의 특징 (출처 : mds 아카데미 기초 파이썬 교재)
- Easy-to-learn : 파이썬은 상대적으로 몇 가지 키워드, 구조가 간단하고 명확하게 정의된 구문임. 그래서 배우기 쉬움.
- Easy-to-read : 파이썬 코드는 상대적으로 명확하게 정의되어 눈에 잘들어온다.
- Eays-to-maintain : 파이썬은 소스코드가 상당히 유지, 관리하기가 쉽다.
- A broad standard library : 파이썬의 가장 큰 장점 중 하나는 UNIX, Windows 및 Macintosh의 플랫폼 위에서 쉽게 설치하여 사용할 수 있고, 라이브러리가 대부분 크로스 플랫폼 호환이 존재한다.
- Interactive Model : 코드의 테스트와 디버깅 그리고 결과를 터미널에서 바로 확인할 수 있는 상호 작용을 하는 대화형 모드를 지원한다.
- Object-Oriented Programming : 파이썬은 기능(bottom-up) 및 구조적 프로그래밍(top-down)도 가능하고, 객체지향 프로그래밍도 가능하다.
- Dynamic data handling : 동적 데이터 유형 및 자동 가비지 컬렉션(GC)을 지원한다. 따라서 C, C++, COM, ActiveX, CORBA, JAVA등에 쉽게 연동될 수 있다.
- Portable : 파이썬은 다양한 하드웨어 플랫폼에서 실행되며, 모든 플랫폼에서 동일한 인터페이스를 가지고 있다.
- Extensible : 파이썬 인터프리터에 낮은 수준(구성요소 형태)의 모듈을 추가할 수 있다. 이 모듈들을 자신의 도구에 추가하거나 수정해서 좀 더 효율적인 프로그래머가 되게 할 수 있다.
- Databases : 파이썬은 주요 상용 데이터베이스에 대한 인터페이스를 제공한다.
- GUI Programming : 파이썬은 많은 시스템 호출, 라이브러리를 이용하여 GUI형태의 윈도우 시스템을 만들어 이식할 수 있으므로 윈도우 MFC, 매킨토시 및 유닉스의 X 윈도우 시스템 등에서 동작하는 GUI 응용 프로그램을 제작 가능하다.
- Scalable : 파이썬은 더 나은 구조와 쉘 스크립트보다 큰 프로그램에 대한 지원을 제공한다.(라이브러리를 직접 만듬)
파이썬의 문법 규칙
- def 모듈 안에서 전역 변수를 사용하고자 한다면 global이라는 키워드를 사용해야한다. 하지만 성능저하 요인이므로 많이 쓰지 말것
- 클래스의 이름은 대문자로 시작하고 뒤이어 소문자들로 작성
- 하나의 밑줄(_)로 시작하는 식별자는 private인 식별자를 의미
- 두개의 밑줄(__)로 시작하는 식별자는 강한 private인 식별자를 의미
- 밑줄 두개(__)로 끝나는 식별자는 언어 정의 특별 이름을 의미(magic command)
- 코드 블록을 표시할 때 괄호({ })가 없으므로 엄격한 코드라인 들여쓰기에 의해 표시됨.
- FQN(Fully Qualified Name)을 사용해야 공동 모듈의 함수명 혼동이 없게 된다.
- 파이썬에서 모든 연속적인 라인은 같은 블록을 나타냄
- 문장의 맨 뒤에 '\'를 사용하게 되면 밑에 있는 줄과 이어지는 것을 의미('\'뒤에 whitespace입력하지 않도록 주의!)
- 큰 따옴표 3개(""")를 3개씩 사용하면 여러줄에 걸쳐 문자열을 표현
- 리스트 복사본을 만들 때 new_list = original_list 와 같이 등호만 사용하면, 복사본이 만들어지는 것이 아니라 이름만 새롭게 붙이는것임.(참조만 하는 거!, 복사 ㄴㄴ)
- 리스트 복사본을 만드는 가장 쉬운 방법은 slice([ : ])를 사용하는 것임.
- 숫자와 문자열과 튜플은 변경 불가능(immutable)해서 그 자체를 변경할 수 없고, 변수 이름에 할당돼있는 문자열이나 숫자를 변경해서 새로운 변수로 사용하는 것임(리스트는 변경 가능(mutable)한 자료 구조 중의 하나)
'공부 > Python' 카테고리의 다른 글
[Python]tuple & slice (0) | 2017.03.07 |
---|---|
[Python] PermissionError (0) | 2017.02.28 |
[Python]Study Day5(2월 3일) (0) | 2017.02.04 |
[Python]Chapter16 파일을 활용한 데이터 보관 (0) | 2017.02.02 |
[Python]Chapter13 에러와 예외 처리 (0) | 2017.01.30 |