dir, bin, join, split 함수

이미진·2024년 3월 29일

dir() 내장함수
dir() 내장 함수는 어떤 객체를 인자로 넣어주면 해당 객체가 어떤 변수와 메소드(method)를 가지고 있는지 나열해준다.

a = "hello"
dir(a)

['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '_
_eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs
__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__'
, '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__'
, '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'e
ncode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isal
num', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric',
 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstr
ip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartitio
n', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase'
, 'title', 'translate', 'upper', 'zfill']
>>>

위와 같이 문자열 객체가 가지고 있는 변수들과 사용 할 수 있는 메소드들이 나열된다.

bin(숫자) 함수
bin(숫자)함수는 전달받은 integer 혹은 long integer 자료형 값을 이진수(binary) 문자열로 돌려준다.
n.bit_length()
이진수로 정수를 나타내는 데 필요한 비트 수 반환

bin(10) # 0b1010
bin(20) # 0b10100
n=3
bin(n)  # 0b11
n.bit_length()  # 2

Split 함수
_.split(구분자)
split 함수는 문자열을 나눠서 리스트 만들 때 사용하는 함수
매개변수로 구분자를 주면 해당 구분자를 기준으로 문자열을 잘라 리스트 형식으로 반환해줌
만약에 매개변수로 아무것도 주지 않으면 공백을 기준으로 문자열을 나눈다.

a="123-45-6789"
a.split('7')  # ['123-45-6','89'] --> 7만 쏙 빠지고 출력된다
a.split('-')  # ['123', '45', '6789'] -->'-'만 쏙 빠짐

a="123-45 6789"
a.split()  #['123-45', '6789'] --> 아무것도 주지 않으면 공백을 기준으로 나눠진다.

split이 말그대로 '나누다, 나뉘어지다' 인데 구분자 주면 그 기준으로 나누어 주기만 하면 돼서 비교적 쉬운 개념이다.

Join 함수
'구분자'.join()
join 함수는 문자열을 합치는 함수이다.
매개변수를 주면 요소들 사이마다 구분자를 넣어 하나의 문자열로 반환
만약에 구분자로 아무것도 주지 않으면 공백없이 하나의 문자열로 합친다.

a=['1','2','3','4','5']
''.join(a)  # 12345 --> 아무것도 없으면 공백없이 합쳐준 문자열이 반환된다.
' '.join(a)  # 1 2 3 4 5 --> 공백이 추가되면 하나씩 띄워서 반환된다.
'_'.join(a)  # 1_2_3_4_5 
'z'.join(a)  # 1z2z3z4z5

예)
전화번호="010-1234-5678"
print(''.join(전화번호.split('-')))  # 01012345678
profile
느리지만 꾸준하게

0개의 댓글