대괄호 → 택1 [Hh]ello [ ] 대괄호 안에 있으면 or임 h나 H면 됨. 개중 택1 대괄호 안의 문자는 문자 한 칸에 해당! 처음과 끝 Anchors 처음 : ^글자 끝: 글자$ /^hello/ /hello$/ 모든 문자 dot /.ello/gm : hello, Hello, vello…등 . 이 있는 곳에 아무글자나 와도 됨 /./gm : 모든 문자열(*와 같은 역할) /…../gm : .의 개수만큼 글자 가능 → 여기서는 5개이므로 모든 5개 글자수 문자열 /.ello/ # 맨 앞의 글자가 무엇이든 잡힘 범위 → - 범위를 지정하고 싶을 때에는 - 사용 [0-9] # 모든 숫자 [a-zA-Z] #모든 알파벳 [a-zA-Z0-9] #모든 숫자, 알파벳 [^a-zA-Z0-9] #나머지 문자들을 찾..
lambda lambda는 익명함수라고 하며, 이름이 없는 함수 함수의 이름을 정하지 않고 lambda라는 키워드를 이용해 함수처럼 이용 없으나 부여할 수 있긴 함 이름을 설정하는 것은 함수를 가리키고 있는 변수명을 주는 것이라고 생각하기! return이라는 키워드를 입력하지 않아도 결과 부분을 통해 자동으로 return해줌 사용방법 일반적으로 사용할 수 있는 변수의 위치에 괄호를 사용하지 않으면 변수처럼 사용 가능. 호출할 때는 괄호를 사용하기! lambda_function = lambda x:x**2 #여기서 lambda 함수의 이름은 lambda_function이 된다 print(type(lambda_function)) # class 'function' lambda 매개변수 : 결과 return 이..
args, kwargs 가변 아규먼트, 가변 키워드 아규먼트라고 함. 가변 인자, 가변 인수로 부르기도 함! 하나는 한 번 패킹하거나 언패킹할 때 ** 두 개는 두 번 패킹하거나 언패킹할때 사용함 *args ( arguments ) 가변 아규먼트(args, arguments) 여러 개의 인자들을 하나의 가변인로 받고 싶을 때 * 사용 값들은 모두 tuple로 저장 꼭 args라는 이름을 사용해야 하는 것은 아니지만, 관습적으로 사용! 고정인수와 가변인수를 함께 쓸 수 있다 def print_args(*args): print(args) for x in args: print(x) print_args(100, True, 'leehojun') **kwargs ( keyworded arguments ) 딕셔너리로..
for 순서열을 순회하며 순서열의 끝에 도달하면 반복을 멈춤 객체를 처음부터 끝까지 하나씩 추출하며 순회 for (변수명) in (순회 가능한 객체) : 수행할 문장1 수행할 문장2 시퀀스 자료형 자료 혹은 반복 가능한 자료형이어야 함 반복 도중에 순회중이던 객체에 append해도 그것까지 읽음! 무한반복 되지않게 조심.. for _, i in [[1, 2], [3, 4], [5, 6]]: print('hello world') print(i) String(문자열)을 범위로 지정했을 때 한 글자씩 출력함! 문자열 = 'hello world' for a in 문자열 : print(a) List(리스트)를 범위로 지정했을 때 값 하나씩 출력 Dictonary(사전)을 범위로 지정했을 때 key만을 가져와서 출..
module 변수, 함수, 클래스를 담고 있는 파일 from, import 사용해서 모듈을 불러올 수 있다 모듈은 클래스나 함수를 다른 파일 등에 미리 작성하여 필요할 때 가져와서 사용할 수 있게 만든 것 프로그램이 길어졌을 때, 한 파일에 모든 함수, 클래스들을 작성하면 확인이 어려워지므로 다른 파일에 저장해 두었다가 필요할 때 호출하여 사용함! import test1 print(test1.name) print(test1.age) package 패키지는 모듈의 집합을 말함 사용자가 만든 함수, 클래스 뿐만 아니라 파이썬이나, Third Party에서 제공하는 모듈들을 불러와서 이용할 수 있다 모듈들을 보다 체계적으로 관리하고, 쉽게 확장할 수 있게 해줌 설치와 사용 !pip list #컴퓨터에 설치된 ..
데코레이터란? callback 함수랑 비슷 함수를 인자로 받아서 나중에 호출하려고 함수의 앞뒤로 어떤 작업을 해 준다! 코드를 깔끔하게 유지하면서, 코드 재사용성을 높여줌 데코레이터를 사용하여 코드의 의도를 명확하게 전달할 수 있음 import json def writefile(func): def wrap_func(a,b): f=open('result.txt','w') keys=["a","b","a+b"] values=[a,b,a+b] f.write(json.dumps(dict(zip(keys,values)))) f.close() return wrap_func @writefile def add(a, b): return a + b add(10,20) ➡️여기서 add함수가 하는 것? 데코레이터(@write..
Error 처리 파이썬에서는 에러를 만나면 코드가 멈춤 실제의 에러 처리 회사에서는, 우리들이 짠 코드가 서비스에 악영향을 끼치지 않도록 시니어분들이 처리해주셨을것^^.. TDD(테스트 주도 개발) 등 Test를 할 수 있는 환경 등이 갖춰져 있음 작성한 코드는 실서비스로 바로 배포되지 않음. 작성한 코드는 테스트 서버로 일단 배포돼서 잘 작동하는지 테스트 해봄 1) 에러의 종류 1. Syntax Error 문법 에러 파이썬 코드를 실행하기 전에 발생 파이썬 인터프리터가 해당 줄에서 에러가 발생했음을 알려줌 2. Name Error 이름 에러 정의되지 않은 변수나 함수를 호출했을 때 사용 3. Type Error 타입 에러 서로 다른 타입의 변수 간 연산이나 함수 호출 시 발생 4. Index Error..
파일 사용 시 open을 사용해서 생성할 파일의 이름(+ 형식)과 파일 모드를 설정 f = open( ‘열어볼파일명.확장자명’, ‘읽기모드’ ) 파일을 다 사용한 후 꼭 close()를 사용해서 닫아주기 fileName = open('my_file.txt', 'w') #open( 파일명 , 파일모드 ) fileName.close() 파일 모드 읽기모드 설명 r 파일을 읽기만 할 때 사용 w 파일에 내용을 쓸 때 사용(덮어쓰기) a 파일에 내용을 추가할 때(append) 사용 파일 쓰기 | write f = open('python.txt', 'w') s = '' for i in range(5): s += f'{i}명 참여 중입니다. \\n' f.write(s) f.close() 파일의 내용을 작성함. 덧붙..
메소드 오버로딩 ❎ method overloading 같은 이름의 함수이나, 파라미터에 따라 다른 함수가 실행되도록 하는 것 파이썬에서는 불가능 메소드 오버라이딩 method overriding 부모에서 선언된 함수를 자식 클래스에서 재선언하여 사용하는 것 부모클래스에서 상속받은 함수를 자식 클래스에서 같은 이름으로 선언하여 사용하는 것 만약 함수이름은 같은데 파라미터 수가 달라지면 그냥 재정의! 같은 게 있을 때 나와 가장 가까운 곳에서 가져온다 나와 부모가 같은 함수를 가지고 있다면 내 것으로 부모클래스 중 여러 개가 있다면 개중 가장 우선순위가 높은 곳에서 가져옴 다중상속 여러 개의 클래스를 상속받을 수 있음 어떤 클래스를 어떤 순서로 상속받을 것인지를 정해야 함 우선순위 : 먼저 매개변수로 오는 ..