1 분 소요

2배속으로 강의 들으면서 대충 기억날랑말랑한 녀석들 정리

파이썬 가상환경 설치

  1. 프로젝트 폴더에서 터미널 실행 후 아래 명령어 입력

    python -m venv {venv 폴더이름}

  2. python Interpreter(ctrl+shift+p) 에서 가상환경을 선택

string에서 index 찾기


test = "강고트"
test.find("강")

# a.jpg만 찾고싶을 때
path = "c:\\test\\goat\\ganggoat\\a.jpg"
path[path.rfind("\\") + 1:]
path.split("\\") # 다 쪼개져서 나옴
  • isdecimal : 10진수인지
  • isdigit : 아라비아숫자인지
  • isnumeric : 숫자인지

대충 리스트 다루기

a = [1, 2, 3, 4]
a.append(5)
a.insert(0, 0)
del a[1]

파일 읽고 쓰기

줄바꾸고 싶을 때 역슬레시 하나 넣어주면 된다…? 이건 몰랐네 ```python file1 = open(“sample.txt”, mode=”w”, encoding=”utf-8”) file1.write(“강고트의 파이썬 복습”) file1.close()

with open(“sample.txt”, mode=”r”, encoding=’utf-8’) as f1,
open(“sample2.txt”, mode=”w”, encoding=’utf-8’) as f2: f2.write(f1.read().replace(‘파이썬’, ‘python’))


아직 별로 기억할만한 내용이 없다... 
일단 입력된 문자열은 무조건 문자열형태로 입력된다. 

# 요약2 - 

## module

#### __name__
- 제일 먼저 실행하는 파일의 이름은 __main__이 된다. 

#### time
- time.time() 현재시간을 초로 나타냄. 저장해두었다가 나중에 저장한 시간으로부터 몇 초 지났는지 계산가능 
```python
a = time.time()
print(time.time() - a)

데코레이터

  • 이미 작성된 코드에 새로운 기능을 추가하여 함수 기능을 확장시키는 개념
  • 파이썬에서 함수는 일급객체
  • 클로저를 사용하여 함수 안에 함수를 정의할 수 있음

작동시간을 체크하는 함수의 예

import time

def test():
    start_time = time.time()
    for i in range(5):
        time.sleep(0.1)
    end_time = time.time() - start_time
    print(f"함수 동작 시간 : {end_time}")
  • 하지만 이렇게 하면 함수가 복잡해지고 다른 함수의 시간을 테스트하기 어려워 지니까,

    함수를 매개변수로 받아서 작동시간을 테스트하는 함수를 만들 수 있다.

def time_checker(func):
    def inner_function(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print(f"함수 {func.__name__}의 동작시간 : {end_time - start_time}")
        return result
    return inner_function

@time_checker
def test1():
    for i in range(5):
        time.sleep(0.1)

@time_checker
def test2():
    for i in range(3):
        time.sleep(0.1)

test1()
test2() 
  • 위와 같은 형태로, @를 이용해서 데코레이터로 활용할 수 있다.

참고 : 데코레이터 사용 시 doc과 name 유지하는 법

  • 데코레이터를 사용하면 __name__이나 __doc__이 정상적으로 작동하지 않는데, 이를 해결하기 위한 방법은 아래와 같다. ```python from functools import wraps

def time_checker(func): @wraps(func) def inner_function(args, **kwargs): result = func(args, **kwargs) return result return inner_function ```

댓글남기기