Python 특징

 

1. 인터프리팅 방식 

 -실행시간에 명령을 해석해 실행하고, 명령의 실행결과를 대화형을 바로 확인할 수 있다.

2. 동적 타이핑(Dynamic typing) 

 - 실행 시간 값에 의해 자료형을 결정한다.

3. Garbage Collector

 - 생성된 객체에 대한 메모리 관리는 Garbage Collector 이용해 자동으로 처리한다.

4. 가독성

 - 파이썬의 문법은 가독성을 강조하여 설계 됨. 읽기 쉽고 이해하기 쉽다. ) 코드블록의 들여쓰기

5. 풍부한 라이브러리를 내장

 - 다양한 분야의 라이브러리를 쉽게 추가해 바로 사용할 수 있다.

(표준 라이브러리와 배포판과 함께 제공) 정규 표현식 / 운영체제의 시스템 호출 / XML 처리 / 직렬화 / 각종 통신 프로토콜 / 전자 메일이나 CSV 파일의 처리 / 데이터베이스 접속 / 그래픽 사용자 인터페이스 / HTML, 파이썬 코드 구문 분석 도구 등을 포함하고 있다.

6. 문자열은 기본으로 유니코드를 사용한다.

7. 오픈소스

 - 파이썬 소프트웨어 재단에서 관리하지만 거의 무료나 다름 없다.

8. 다양한 프로그래밍 패러다임을 지원한다.

 - 객체지향, 함수형 프로그래밍 지원

9. 학습이 용이하다.

 - 프로그램의 문서화를 매우 중요하게 여겨 언어의 기본 기능에 포함되어 있다. 도움말 문서와 API도 체계적으로 정리되어 있다. 원래 교육용으로 설계되었기 때문에 읽기 쉽고, 효율적인 코드를 간단하게 쓰려는 철학이 구석구석 반영되어 있다. 그래서 파이썬 커뮤니티에서도 알기 쉬운 코드를 선호하는 경향이 있다.

10. 내장 스크립트 언어

 - 다른 언어로 쓰인 모듈을 연결하려는 목적으로 이용되며 많은 상용 프로그램에 내장되어 스크립트 언어로 자주 활용된다.

'Python2 > BASIC' 카테고리의 다른 글

[공대란아] Python 파이썬이란? 정의/역사/종류/철학  (0) 2020.04.14

Python이란?

1. 작성하기 쉽고, 읽기 쉽다.

2. 폭 넓은 사용자층을 가진다.

3. 빠른 학습속도

4. 명령의 수행 결과를 빠르게 확인 가능하다.

5. 확장 지원 기능

6. 다양한 플랫폼에서 사용 가능하다.

7. 네이티브 2진 파일을 만들어주는 언어보다 수행속도가 느리다는 단점이 있지만 HW발전으로 커버 가능하다. 

8. 여러 기관 및 산업계에서 사용한다.

9. 빅데이터, 머신 러닝, 딥러닝, IoT에서 활용하고 있다.

 

C, C++, JAVE는?

C, C++, JAVA 강력하고 뛰어난 성능의 프로그램 개발 가능하지만 어렵다.

 

Python의 역사

1980말 고안되어 1991발표되었다. 독립적이며, 인터프리터 방식의 객체지향이고, 동적인 그리고 대화형 성격을 가진 프로그래밍 언어이다.

 

Python의 종류

1. Cpython(표준 파이썬, C로 구현됨)

2,. IronPython(.Net과 Moon용으로, C#으로 구현됨)

3. Jython(자바로 구현된 파이썬)

4. PyPy(파이썬으로 구현)

 

Python 철학

1. 아름다운 것이 추한 것보다 낫다.

2. 명시적인 것이 묵시적인 것이 낫다.

3. 단순한 것이 복잡한 것 보다 낫다.

4. 복잡한 것이 난해한 것보다 낫다.

5. 가독성이 중요하다.

'Python2 > BASIC' 카테고리의 다른 글

[공대란아] Python 파이썬 특징  (0) 2020.04.14

순우리말 태명 추천 프로그램을 작성할 것이다.

 

태명은 아기가 뱃속에서 잘 들을 수 있는 소리인 된소리(ㄲ, ㄸ, ㅃ, ㅆ, ㅉ), 거센소리(ㅍ, ㅊ, ㅌ, ㅋ)가 들어가야 한다. 성별 구분은 없다고 한다.

 

순우리말에서 거센소리가 들어간 단어들을 찾을 수 있었고, 그 중에서 이름으로 쓰일 수 있는 단어를 찾아 리스트를 구성하였다.

 

태명을 부를 때 편이를 위해 ex) '찬들' -> '찬들이' 로 리스트를 작성하였다.

 

위에서 말했다시피 성별 구분이 없어서 리스트는 하나다.

 

fetus_pure_name_list_best20 -> 20개의 태명 리스트

 

이것을 365개의 랜덤리스트로 만들었다.

 

from datetime import date

를 한 이유는 이것을 사용하여 일자를 숫자로 변환하기 위해서다.

ex) 1월 31일 : 31

2월 1일 : 32

이렇게 365를 완성하기 위함이다.

 

month로 월, day로 일자를 입력 받았다.

d0 기준일자 2019.1.1

d1 입력일자 2019.월.일

 

delta를 위 d0과 d1 계산

 

그리고 if문을 사용하여 날짜에 맞는 이름 추출.

 

7월 7일 입력 -> 파란이

이름으로 쓰일 수 있는 순우리말 이름을 추천하는 프로그램을 작성해보겠다.

 

순우리말 에서 이름으로 쓰이기 좋은 것들을 리스트로 만들었다.

 

korea_pure_m_name_best55 는 순우리말 남자 이름 55개 리스트

korea_pure_m_name_best87 는 순우리말 남자 이름 87개 리스트

 

from datetime import date

를 한 이유는 이것을 사용하여 일자를 숫자로 변환하기 위해서다.

ex) 1월 31일 : 31

2월 1일 : 32

이렇게 365를 완성하기 위함이다.

 

sex로 성별을 입력받고, month로 월, day로 일자를 입력 받았다.

d0 기준일자 2019.1.1

d1 입력일자 2019.월.일

 

delta를 위 d0과 d1 계산

 

그리고 if문을 사용하여 날짜, 성별에 맞는 이름 추출.

 

성별 fm, 5월 30일 입력 -> 하늬

성별 m, 5월 30일 입력 -> 겨루

국제적인 이름, 글로벌한 이름 만들기를 해보겠다.

 

일단 이것은 앞에서 작성한 한국에서 인기있는 이름 리스트가 정식으로 있는 것이 아니기 때문에 내가 직접 한국에서 사용하기 좋으면서 외국에서도 사용하기 좋은 이름을 추려서 리스트를 작성하였다.

 

global_m_name_best20 은 20개의 남자 이름, global_fm_name_best23 은 23개의 여자 이름이다.

 

이 리스트를 가지고 각각 365개의 랜덤 리스트를 작성하려고 했다.

 

365개의 리스트를 다시 생성한 이유는 생일에 아예 이름을 고정시킬 것이기 때문이다.

 

from datetime import date

를 한 이유는 이것을 사용하여 일자를 숫자로 변환하기 위해서다.

ex) 1월 31일 : 31

2월 1일 : 32

이렇게 365를 완성하기 위함이다.

 

sex로 성별을 입력받고, month로 월, day로 일자를 입력 받았다.

d0 기준일자 2019.1.1

d1 입력일자 2019.월.일

 

delta를 위 d0과 d1 계산

 

그리고 if문을 사용하여 날짜, 성별에 맞는 이름 추출.

 

성별 m, 2월 13일 입력 -> 리오

 

성별 fm, 1월 2일 입력 -> 사라

한국에서 가장 인기 있는 이름 추천하는 프로그램을 짜고자 한다.

 

이름 목록은 어디서 구할까?

 

한국에서 가장 인기 있는 이름은 '대법원' 홈페이지에서 구할 수 있었다.

 

http://efamily.scourt.go.kr

 

http://efamily.scourt.go.kr

 

efamily.scourt.go.kr

 

접속하려면 설치해야 할 프로그램들이 엄청 많다... 

 

접속해서 통계 카테고리로 들어간다.

 

 

그럼 이렇게 선호하는 출생자 이름 현황을 조회할 수 있다.

 

여기서 조회한 이름 목록을 가지고 리스트를 만들 것이다.

 

korea_popular_m_name_best60 리스트는 한국에서 인기있는 남자아이 이름 베스트 60개 라는 의미이다.

korea_popular_fm_name_best60 리스트는 한국에서 인기있는 여자아이 이름 베스트 60개 라는 의미이다.

 

그리고 random 함수를 이용하여 위 리스트에서 365개의 랜덤을 추출하여 또 다른 리스트를 만들었다.

 

korea_popular_m_name_best60  -->  korea_popular_m_name

korea_popular_fm_name_best60  -->  korea_popular_fm_name

 

왜 365개의 랜덤을 추출해서 새 리스트를 만들었냐면.

 -> 마음에 안든다고 계속 추출하면 의미가 없기 때문이다.

생일을 이용해서 아예 이름을 fix 시키려고 이 방법을 택하였다.

인기 있는 이름 365개를 아예 유니크하게 가져올까도 생각했지만 순위 365까지는 인기있는 이름이라는 것이 무의미 할 것 같아서 best 60개씩만 뽑아다.

 

이 리스트를 가지고 생일을 입력받아 이름을 출력하는 프로그램을 만들 것이다.

 

from datetime import date

를 한 이유는 이것을 사용하여 일자를 숫자로 변환하기 위해서다.

ex) 1월 31일 : 31

2월 1일 : 32

이렇게 365를 완성하기 위함이다.

 

sex로 성별을 입력받고, month로 월, day로 일자를 입력 받았다.

d0 기준일자 2019.1.1

d1 입력일자 2019.월.일

 

delta를 위 d0과 d1 계산

 

그리고 if문을 사용하여 날짜, 성별에 맞는 이름 추출.

 

성별 fm, 5월 1일 입력 -> 소윤

 

성별 m, 12월 7일 입력 ->도하

+ Recent posts