python함수들

asda주asda·2022년 1월 18일
0

Python

목록 보기
7/31

operator 모듈

operator모듈 은 기본적인 연산자 뿐만 아니라 동등성 비교, 대소 비교 등 여러가지 역할을 수행하게 하는 함수들을 포함하고있다. 모듈 내의 함수를 이용하면 처리 속도를 높일 수 있는 장점이 있다.
모듈 내의 함수는 정말 여러가 있기에 아래의 사이트에 자세히 기제가 되어있다.
https://docs.python.org/ko/3/library/operator.html#operator.abs

import operator
total = 0
print("상품 계산입니다. 종료를 원한다면 '끝'을 입력하십시요.")
while True:
    price = input("상품 금액을 입력하십시요:")
    if operator.eq(price, "끝"): #곧 if price == "끝" 동일한 코드
        print("종료합니다.")
        break
    else:
        total += int(price)
print("총 가격은 %s입니다." %total)

array[::]용법

array용법을 이용해 리스트, 문자열 등을 다시 재배열할 수 있다.

arr[A:B:C]의 의미는 'index A부터 B까지 C의 간격으로 리스트를 만들어라' 라는 의미이다.
만일 A가 없다면 시작은 처음부터(0)이며, B가 없다면 끝까지(C가 양수라면 index의 마지막까지, 음수라면 첫 index까지)간다. 마지막으로 C가 없다면 간격은 1입니다.

list = [0,1,2,3,4,5,6,7,8,9]
print(list[::2])
print(list[2:5:2])
print(list[::-1])
print(list[3::-1])

결과:
[0,2,4,6,8]
[2,4]
[9,8,7,6,5,4,3,2,1,0]
[3,2,1,0]

ord() , chr()

ord(), chr() 메서드는 아스키 코드와 관련이 있다.

함수설명
ord()매개 변수의 값으로 문자를 받으며 해당 문자에 일치되는 유니코드 값(10진수)을 반환한다.
chr()매개 변수의 값으로 정수를 받으며 해당 정수에 일치되는 유니코드의 문자를 반환한다.

만일 ord() 메서드에서 16진수로 출력하고자 한다면 hex()함수를 이용하여 출력이 가능하다.

test1 = 'A' # 아스키 코드 65
test2 = 'B' # 아스키 코드 66
test3 = 'C' # 아스키 코드 66, 0x43
test1_num = 97 # 10진수, 소문자 a
test2_num = 0x61 # 16진수, 소문자 a

print(ord(test1))
print(ord(test2))
print(hex(ord(test3)))

print(chr(test1_num))
print(chr(test2_num))

출력 결과:
65
66
0x43
a
a

진법 변환 함수

10진수 ->2,8,16 진수

함수설명
bin()10진수를 2진수(binary number)로 변환시킨다.
oct()10진수를 8진수(octal number)로 변환시킨다.
hex()10진수를 16진수(hexa decimal)로 변환시킨다.
test = 14
print("2진수로 변환:",bin(test))
print("2진수로 변환:",oct(test))
print("2진수로 변환:",hex(test))

출력 결과:
# 0b, 0o, 0x 는 각각의 진수를 표현한다.
2진수로 변환: 0b1110
2진수로 변환: 0o16
2진수로 변환: 0xe

n 진수 -> 10진수

파이썬에서 정수형으로 바꾸기 위해 사용했던 int() 함수를 통해 n진수를 10진수로 바꿀 수 있다.

함수설명
int(string, base)string 자리에 문자열로 된 숫자을 기입하고, base에 그 숫자의 진수를 기입하면 10진수 값을 출력한다.
test1 = '1110'
test2 = '16'
test3 = 'e'
print(int(test1, 2))
print(int(test2, 8))
print(int(test3, 16))

출력 결과:
14
14
14

reverse(),reversed(),join()

reverse()와 reversed()는 리스트의 정렬을 역으로 해주는 함수이다. join()은 리스트와 튜플을 연결하여 문자열로 출력해준다.

reverse()는 list 타입에서 제공하는 함수로, sort()와 같이 반환을 하는 것이 아닌 변환을 시켜준다.
reverse()는 내장함수로 list 타입의 함수가아니다. sorted()와 같이 정렬을 시킨 후 반환을 해준다.
join() 함수의 기본 형태는 '구분자'.join(리스트) 이다. 구분자는 리스트 요소를 사이에 들어가는 값이다. 이때 리스트의 요소들은 문자열이어야 한다.

list_str = ['hello','my','name','is','NAME']
list_int = [1,2,3,4,5,6]

# reversed()는 거꾸로 정렬 후 주소를 반환한다.
# 이를 list 로 다시 감싸줘야한다.
result_list = reversed(list_int)
print('reversed()',list(result_list))

# reverse()는 거꾸로 정렬 후 그대로 저장한다.
list_int.reverse()
print('reverse()',list_int)

# join 을 통해 문자열 리스트 요소들을 연결하여
# 문자열을 반환한다.
# 이떄 '구분자', 구분자를 통해 어떻게 연결할 것인지 지정이 가능하다.
print(''.join(list_str))
print('_'.join(list_str))
print('\n'.join(list_str))

출력 결과:
reversed() [6, 5, 4, 3, 2, 1]
reverse() [6, 5, 4, 3, 2, 1]
hellomynameisNAME
hello_my_name_is_NAME
hello
my
name
is
NAME

0개의 댓글

관련 채용 정보