TigerCow.Door



안녕하세요.

이번 포스팅에서는 파이썬의 내장함수 및 외장함수에 대해서 알아보도록 하겠습니다.


1. 파이썬 내장 함수


이번에는 파이썬의 내장 함수 몇가지에 대해서 알아보도록 하겠습니다.


여기서 언급하는 내장함수들 이외에도 매우 많은 내장함수가 있으니, 추가적으로 찾아보면서 공부하시면 좋을 것 같습니다.


all



all(x)는 반복 가능한(iterable) 자료형 x를 입력 인수로 받아서 x가 모두 참이면 True를, 거짓이 하나라도 있으면 False를 반환합니다.



any



any(x)는 반복 가능한(iterable) 자료형 x를 입력 인수로 받아서 x 중 하나라도 참이면 True를, 하나라도 없으면 False를 반환합니다.



dir



dir은 객체가 자체적으로 가지고 있는 변수나 함수를 보여줍니다. 위의 예는 리스트, 딕셔너리 자료형 객체의 관련 함수들을 보여줍니다.



eval



eval()는 실행가능한 문자열을 입력으로 받아서 그 문자열을 실행한 결과값을 반환하는 함수 입니다.

이때 실행가능한 문자열이란 위의 코드에서와 같이, 실행될 수 있는 문장이지만 문자열로 되어있는 것들을 말합니다.



input



input()은 사용자의 입력을 받는 함수 입니다. 입력 인수로 문자열을 주면 프롬프트에서 그 문자열이 출력되고 그 뒤에 이어서 사용자가 이어서 입력할 수 있게 됩니다.

또한 위 코드의 세번째 처럼 input()에 대해 변수를 지정하여 사용자가 입력한 것을 문자열로 받아 변수에 저장할 수 있습니다.



map



map(f, iterable)은 함수(f)와 반복 가능한(iterable) 자료형을 입력으로 받습니다. map은 입력 받은 자료형의 각 요소가 함수 f에 의해 수행된 결과를 묶어서 리턴하는 함수이다.

map에 의해 리턴된 개체는 map 개체로써, 이를 리스트 등으로 변환하기 위해서는 따로 함수를 취해주어야 합니다.

위의 코드에서는 세개의 유리수를 map함수와 int함수를 통해 모두 정수화 시킨다음 리스트로 출력한 결과입니다.



2. 파이썬 외장 함수


파이썬 외장함수는, 파이썬 라이브러리를 사용하는 것입니다.

파이썬 라이브러리는 말그대로 도서관 처럼 매우 많은 정보와 기능들이 있는데 이것을 모두 자세히 알 필요는 없습니다.

자신이 필요할 때 어떤 라이브러리를 사용해야하는지 정도를 알면됩니다.

이번에도 몇가지만 진행해보겠습니다.


sys


sys모듈은 파이썬 인터프리터가 제공하는 변수들과 함수들을 직접 제어할 수 있게 해주는 모듈입니다.

sys 모듈에는 매우 다양한 기능이 있지만, 하나만 소개해 드린다면, sys.path 입니다.



sys 라는 모듈을 import 문으로 불러오고, sys.path를 입력하면 현재 파이썬 모듈들이 저장되어 있는 경로를 반환해줍니다.



os


OS모듈은 환경 변수나 디텍터리, 파일 등의 OS 자원을 제어할 수 있게 해주는 모듈입니다.

몇가지 유용한 함수들에 대해 소개해 드리면,

os.mkdir(<디텍터리 명>) 은 입력한 디텍터리 명으로 폴더를 생성합니다.

os.unlink(<파일이름>) 은 입력한 파일이름을 삭제합니다.



shutil


shutil은 파일을 복사해주는 파이썬 모듈입니다.

shutil(A, B)

라는 식으로 사용되며, A파일을 B라는 이름으로 파일을 복사합니다.



time


시간과 관련된 time 모듈또한 존재합니다.

가장 유용한 몇가지는 아래와 같습니다.



time.time()은 UTC를 이용하여 현재 시간을 실수 형태로 리턴하는 함수입니다.




time.localtime() 은 연도, 달, 월, 시, 분, 초의 형태로 바꾸어 주는 함수입니다.



random


random은 난수(규칙이 없는 임의의 수)를 발생시키는 모듈입니다.


random.random()



random() 함수는 0.0부터 1.0 까지의 난수를 발생하고 하나를 반환합니다.



이렇게 해서 파이썬의 내장함수와 외장함수에 대해서도 알아보았습니다.

제가 설명드린 것들을 제외하고도 매우 많은 내장함수와 외장함수가 존재하니 한번 찾아보시면서 손에 익혀보세요 :)

블로그 이미지

Tigercow.Door

Web Programming / Back-end / Database / AI / Algorithm / DeepLearning / etc

댓글을 달아 주세요


안녕하세요. 문범우입니다.

최근 파이썬(python)을 이용해서 다양한 웹 프레임 워크도 공부하고, 학교에서 진행하는 이론적인 내용들을 실습할 때 파이썬으로 코드를 작성하다 보니 기초에 대한 부족함이 느껴지네요.

그래서 처음 파이썬 시작할때 샀던 책을 아예 처음부터 제대로 정독해보기로 마음먹었습니다.

책은 박응용님께서 지으신 '점프 투 파이썬'이란 책입니다.

해당 책은 WikiDocs에 오픈되어 있으니 여기를 클릭하셔서 온라인으로도 보실 수 있습니다.

포스팅은 시간날때마다 공부하고 정리하는 느낌으로 진행할 예정이고 책에서 공부한 내용들을 바탕으로 응용한 예제까지 더해서 코드를 정리하려 합니다.

궁금하신 점이나 기타 의문사항은 댓글 및 이메일(doorbw@outlook.com)으로 연락주시면 감사하겠습니다. :)



1. 파이썬(python)이란 무엇인가?


파이썬(python)은 1990년 귀도 반 로섬이라는 개발자에 의해서 개발된 인터프리터 언어입니다.

여기서 인터프리터란, 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말합니다.

인터프리터 언어와 상대적인 개념으로 컴파일러 언어가 존재합니다.

컴파일러 언어는 코드의 전체를 모두 변환하여 실행하며,

인터프리터 언어는 위에서 설명드린 바와 같이 소스 코드를 한 줄 단위로 변환하고 실행하는 과정을 반복합니다.

컴파일 언어로는 C, C++, JAVA 등이 있으며 인터프리터 언어로는 python, HTML, SQL, Javascript 등이 있습니다.


파이썬은 아직 한국에서 대중적으로 많은 이용이 되고 있지는 않지만, 해외에서는 교육 목적뿐 아니라 실무에서도 많이 사용되고 있습니다.

많은 사람들이 이용하는 파일 동기화 서비스 중 하나인 드롭박스(Dropbox) 나 웹 프레임 워크 중 하나인 장고(Django) 등이 예시가 될 수 있습니다.



2. 파이썬의 장점 및 특징


물론 각각의 언어가 가지고 있는 특징과 장점들이 존재하겠지만 그 중에서도 파이썬이 보일 수 있는 점들을 몇가지 확인해보겠습니다.


파이썬은 인간다운 언어입니다.

이후 이론을 공부하며 예제를 확인하면서도 아실 수 있겠지만 파이썬의 코드를 확인하시면 마치 영어문장을 써놓은 것처럼 비전공자 또한 읽기가 쉽게 되어 있습니다. 물론 모든 코드가 그런 것은 아니겠지만 상대적으로 다른 언어들과 비교하였을때 제일 인간다운, 읽기 쉬운 언어라고 볼 수 있습니다.


파이썬은 쉽고, 강력합니다.

파이썬의 문법을 공부하다보면 참 쉽고, 간단하다고 느낄 때가 많습니다. 파이썬은 문법 자체가 아주 쉽고 간결하며 사람의 사고 체계와 매우 닮아 있습니다. 

그러함에도 불구하고 파이썬을 통해 매우 다양한 것들을 만들어 낼 수 있습니다. 시스템 유틸리티 제작 및 GUI 프로그래밍은 물론이고 웹 개발 또한 할 수 있으며 pygame이라는 모듈을 사용하여 간단한 게임 또한 손쉽게 만들어 볼 수 있습니다.


파이썬의 특징이나 파이썬으로 할 수 있는 일은 이 외에도 매우 많습니다.

추후 공부하면서 관심이 가는 분야나 궁금한 점에 대해서는 추가적으로 찾아보면서 공부하셔도 좋을 것 같습니다.

또한 댓글을 남겨주시면 아는 선에서 최대한 정보를 드려보도록 하겠습니다. :)


3. 파이썬 설치하기


파이썬을 설치하는 것은 아주 간단합니다. 따라서 설치방법에 대해서는 따로 설명드리지 않고 넘어가겠습니다.

많은 분들이 정리를 잘 해놓으시기도 했고, 공식문서나 점프 투 파이썬의 내용을 참고하셔도 좋을 것 같습니다.

오류가 발생하는 등의 문제점에 대해서는 댓글로 알려주시면 답변드리겠습니다.


이렇게 해서 오늘 파이썬 학습에 대한 오프닝을 진행하였습니다.

다음 포스팅에서는 파이썬의 숫자형과 문자열 자료형에 대해 공부해보도록 하겠습니다.


블로그 이미지

Tigercow.Door

Web Programming / Back-end / Database / AI / Algorithm / DeepLearning / etc

댓글을 달아 주세요