스터디/Python

Python 개발에서 쓸만한 코드 모음

Dalmangyi 2022. 7. 24.

1. 인스턴스 확인

isinstance(str_name, str)
isinstance(foo_bar, MyFoo)

is_instance가 아님. 

객체가 2번째 파라매터로 들어감.

 

 

 

2. 2개의 dictionary key,value 모두 비교

dic1 == dict2

https://stackoverflow.com/a/40921229

생각보다 간단..

 

 

 

3. 삼항연산자

[True] if [Condition] else [False]
ex: 'cherry' if 'apple' == 'banana' else 'mango' 

#'mango'

다른 언어랑 순서가 달라서 혼동되니 주의!

 

 

 

 

4. 문자열이 소수(float) 확인방법

from re import match as re_match 

def is_number_tryexcept(s):
    """ Returns True is string is a number. """
    try:
        float(s)
        return True
    except ValueError:
        return False

def is_number_regex(s):
    """ Returns True is string is a number. """
    if re_match("^\d+?\.\d+?$", s) is None:
        return s.isdigit()
    return True

간단할땐 try,catch 방법, 그게 아니면 정규식 사용.

https://stackoverflow.com/a/23639915

 

 

 

5. 여러 문자열 합치기 

a = ['Python', 'is', 'awesome']
' '.join(a)

#'Python is awesome'

문자열 함수내에 join이 있습니다. 

list함수내에 있는게 아니기 때문에 혼동하지 않기.

(올바른 방법 : ' '.join(a))

(틀린 방법 : a.join(' '))

 

 

 

 

6. 중복되지 않은 문자 찾기

my_list = ['a','b','c','d','e','e','a']
list(set(my_list)

#['a','b','c','d','e']

 

 

 

7. 3자리마다 콤마 찍기

num = 1234567
print(format(num, ','))

str_num = '1234567'
print(f'{str_num:,}')

#'1,234,567'

https://codechacha.com/ko/python-number-format-comma/

 

 

 

 

8. 앞이 0으로 채워진 랜덤 숫자 만들기

number = "%05d" % random.randint(0,99999)

#"00112"

 

 

9. 복잡한 글자 만들기

import secrets
secrets.token_urlsafe(6)

#'a3Ztt1'
#'5aiYnv'

주로 토큰용으로 많이 사용됩니다.

 

 

 

 

 

 

 

 

 

 

댓글