728x90
반응형

2019/01/29 - [Language/Python] - [Python 따라하기]1. Python 설치하기

2019/02/05 - [Language/Python] - [Python 따라하기]2. 자료형_part 1(String, Int,Float, List)

2019/02/12 - [Language/Python] - [Python 따라하기]3. 자료형_part2(Tuple,Set,Dictionary)

2019/02/19 - [Language/Python] - [Python 따라하기]4. 조건문

2019/02/26 - [Language/Python] - [Python 따라하기]5. 반복문(For, While, break, continue)

2019/03/05 - [Language/Python] - [Python 따라하기]6. 함수만들기(def, print, format)

2019/03/12 - [Language/Python] - [Python 따라하기]7. 파일 입출력 (File I/O)

2019/03/19 - [Language/Python] - [Python 따라하기]8. 클래스와 상속(Class, inheritance)

2019/03/26 - [Language/Python] - [Python 따라하기]9. 예외처리(try,except,finally)

유용한 내장 함수 및 외장 함수

파이썬을 더 잘 사용하기 위해서 많은 내장함수와 외장함수를 알고 있는 것이 중요하다. 남들보다 더 많이 알고 있다면 내가 만들고자 하는 프로그램의 작업량이 훨씬 줄을 수 있을 것이다.

내장함수

내장함수는 외장함수와는 달리 import가 필요하지 않다. 따라서 아무런 설정이 없어도 바로 사용할 수 있다.

abs

abs(x)는 어떤 숫자를 입력으로 받았을 때, 그 숫자의 절대값을 돌려주는 함수이다.


chr

chr(int)는 아스키 코드값을 입력으로 받아 그 코드에 해당하는 문자를 출력하는 함수이다.

divmod

divmod(a,b)는 2개의 숫자를 입력으로 받는다. 그리고 a를 b로 나눈 몫과 나머지를 튜플 형태로 반환하는 함수이다.


몫을 구하는 연산자 //와 나머지를 구하는 연산자 %로 구한 것과 같다.


filter

영어 단어의 뜻과 같이 조건에 맞는 값들을 걸러낸다는 동작을 한다. 첫 번째 인수로 함수 이름을, 두번째 인수로 iterable한 자료형을 받는다. 그래서 iterable한 자료형의 값들을 함수로 넣어 참인 것들만 묶어서 반환한다.

map

filter처럼 map(f,iterable)로 함수와 iterable한 객체를 받는다. map은 filter와 비슷한 역할을 하지만 iterable의 각 요소에 함수 f에 의해 수행된 결과를 묶어서 반환을 한다.

ord

chr의 반대성격을 가지는 함수이다. ord(c)는 문자의 아스키 코드값을 반환하는 함수이다.

외장함수

외장함수란 전 세계의 파이썬 사용자들이 만든 유용한 프로그램들을 모아 놓은 것이다. 이를 파이썬 라이브러리라고 부르는데, 모든 라이브러리를 다 알 필요는 없고 어떤 일을 할 때 어떤 라이브러리를 사용해야 한다는 정도만 알고 있으면 된다.

os

os 모듈은 환경 변수나 디렉토리, 파일 등을 제어할 수 있게 해주는 모듈이다.

os.environ

현재 시스템의 환경 변수 값들을 보여준다.

os.chdir

os.chdir을 이용하여 아래와 같이 현재 디렉토리의 위치를 변경할 수 있다.

os.getcwd

os.getcwd는 현재 자신의 디렉토리 위치를 반환한다.

glob

파일을 읽고 쓰는 기능이 있는 프로그램을 만들다 보면 특정 디렉토리에 있는 파일 모두를 가져와야 할 때가 있다. 이 때 사용하는 모듈이 바로 glob이다.

glob모듈은 디렉토리 내의 파일들을 읽어서 리스트로 반환한다. * , ? 등을 사용해서 원하는 파일만 읽을 수 있다.

datetime

datetime 패키지에서는 날짜와 시간을 함께 저장하는 datetime 클래스, 날짜만 저장하는 date 클래스, 시간만 저장하는 time 클래스가 있다.
그중 가장 많이 사용하는 datetime 클래스에 대해서 소개한다.

datetime.dateime 클래스

패키지 이름과 클래스 이름이 datetime으로 같기 때문에 사용할 때 주의해야 한다. datetime에서 반환하는 객체는 datetime.datetime이다. 가장 대표적인 것은 현재 시간을 출력하는 now()이다.


now()에서 생성된 객체들에 대해 다음과 같이 접근할 수 있다.


datetime.datetime에는 여러 메서드들도 제공하지만 그중 strftime()을 자주 사용하는 문자열을 반환해주는 함수이다. 이 메서드는 어떤 형식으로 문자열을 만들지 결정하는 문자열을 인수로 받는다. 자세한 것은 다음 링크에서 확인할 수 있다.

https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior


random

random은 난수를 발생시키는 모듈이다. 다음은 0~1.0 사이의 실수 중에서 난수값을 리턴하는 예시이다.

randint

random.randint(a,b)와 같이 사용하며 a에서 b 사이의 정수 중에서 임의의 값을 반환한다.

random.choice

random.choice(list)와 같이 사용하며 list 값 중 무작위로 하나를 선택하여 반환한다.

random.shuffle

random.shuffle(list)와 같이 사용하며 list를 무작위로 섞는다.



728x90
반응형
728x90
반응형

문제:

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 

별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.


풀이 방법:

표준 입력으로 두 개의 정수를 받는 다고 하였으므로, 반복문을 돌리기 위해서 int 형으로 바꾼는 작업이 필요하다. 우선 두 개의 입력이 공백을 사이에 두고 받으므로 split 을 사용해서 분릭하여 받았다.

1
a,b=input().split(' ')
cs


input()으로 받은 값들은 string 자료형을 가지고 있으므로 이를 int형으로 바꿔야 한다. 다음과 같이 하나씩 int형으로 바꾸어도 문제가 없으나, map이라는 내장 함수를 사용하면 한 번에 바꿀 수 있다.

1
2
a=int(a)
b=int(b)
cs


Python에서 제공하는 map의 설명은 다음과 같다.


내장 함수 map은 map( func, *iterabels) 와 같이 입력값을 받는다. map은 반복가능한 (*iterables) 자료형에 대해서 함수(func)를 각각 적용한 결과를 나타내준다. int와 같이 이미 내장되어 있는 함수를 사용할 수 있고, 사용자가 임의로 작성한 함수를 적용할 수도 있다. 따라서 map을 사용해서 input 값을 int로 바꾸고 반복문을 사용하면 다음과 같다.

1
2
3
4
5
6
7
a, b = map(int, input().split(' '))
answer=''
for i in range(b):
    for j in range(a):
        answer+="*"
    answer+='\n'
print(answer)
cs

문제 링크:

https://programmers.co.kr/learn/courses/30/lessons/12969

728x90
반응형

+ Recent posts