일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- AWS
- git
- react
- merge
- RDS
- docker
- Vue
- wetube
- S3
- 중급파이썬
- SAA
- lambda
- Props
- async
- node
- 파이썬
- flask
- NeXT
- pandas
- EC2
- crud
- Class
- dict
- 카톡
- MongoDB
- 채팅
- socket io
- SSA
- 튜플
- TypeScript
- Today
- Total
목록Python (87)
초보 개발자

파이썬을 시작하면 if __name__ == __main__와 같은 것을 볼 수 있을 것이다. 처음에 이러한 부분은 설명하지 않고 그냥 넘어가기에 볼 때마다 거슬렸는데 이번 기회에 확실히 알고 넘어가자!! 우리가 파이썬을 실행할때 python test.py 이런식으로 파이썬을 실행한다. print.py이라는 모듈을 만들어 함수를 하나 만들어두고, 함수 밖에 print를 하나 더 넣었다. 이걸 test.py에서 블러온 뒤 hi 함수를 실행 해보자! 이렇게 하면 하이요 라는 것이 출력될 것이다. 근데 막상 실행해보니 하이요만 나온 것이 아니라 바이요도 나왔다. 그리고 심지어 바이요가 먼저 나왔다. 여기서 확인할 수 있듯이 파이썬의 import 구문은 다른 파이썬 소스나 패키지 혹은 파이썬 라이브러리의 기능 ..

먼저 redirect함수는 서버에서 프론트엔드로 ~~ url로 이동시키는 것이다. @app.route('/where') def where(): return redirect('http://naver.com') localhost:5000/where로 접근하였을 때 redirect로 네이버 주소를 적어주었으니 저 url로 이동을 시킨다. @app.route('/where') def where(): return redirect('/here') @app.route('/here') def here(): return 'hi' 마찬가지로 /where에 접근했을 때 redirect를 사용해 /here로 토스 시키면 웹브라우저에 hi를 출력시킬 것이다. 그런데 만약 여기서 /where로 접근했을 떼 /here이라는 url..

class Person(): people_cnt = 0 def __init(self,name): self.name = name Person.people_cnt += 1 @classmethod def get_cnt(cls): print(cls.people_cnt) def get_cnt2() print(Person.people_cnt) def get_name(self): print(self.name) kim = Person('kim') lee = Person('Lee') 이러한 클래스가 있다고 가정해보자 기본적으로 people_cnt라는 클래스 변수를 0으로 지정해두었다. 그리고 객체가 생성될 때 인스턴스 메소드 __init__이 실행이된다. self.name(인스턴스 변수)에 name이들어가고 Person..

datetime 패키지 datetime 패키지에서는 날짜와 시간을 함께 저장하는 datetime 클래스, 날짜만 저장하는 date 클래스, 시간만 저장하는 time 클래스, 시간 구간 정보를 저장하는 timedelta 클래스 등을 제공한다. import datetime 먼저 datetime을 import한다! 날짜와 시간을 모두 알려주는 datetime 클래스부터 알아보자. 패키지 이름과 클래스 이름이 datetime으로 같기 때문에 사용할 때 헷갈린다. time = datetime.datetime #이렇게 사용해야하니 import datetime as dt # 이런식으로 이름을 바꿔주자!! 또한 신기한 점은 다른 클래스와 달리 클래스 이름이 대문자로 시작하지 않는다. datetime 클래스에는 객체를 ..

[dict은 저장 순서를 유지하기 시작했다.] 파이썬 3.7 버전부터 파이썬의 딕셔너리는 저장순서를 유지한다. d = {} d['a'] = 1 # 제일 먼저 저장 d['b'] = 2 # 두 번째로 저장 d['c'] = 3 # 마지막에 저장 d {'a':1,'b':2,'c':3} for kv in d.items(): print(kv) ('a', 1) ('b', 2) ('c', 3) 지금은 순서대로 출력을 잘 해주지만 예전에는 이렇게 순서를 보장해주지 않았다. a=1 b=2 c=3 b=2 a=1 c=3 위의 두 행의 값들은 다 같다 만약 순서 또한 고려하는 상황이라면 이 두 행은 엄연히 다르다고 할 수 있다. dict같은 경우에는 저장 순서를 유지하고 있긴하지만 저장 순서를 infomation이라고 인정을 ..

[키가 존재할 때와 존재하지 않을 때] d = {'red':3, 'white':2, 'blue':4} d['red'] = 1 # 키 'red'의 값을 1로 변경 d {'red':3, 'white':2, 'blue':4} 여기선 d['red'] = 1 를 실행했을 때 이미 d안에 'red'라는 키값이 존재 하니까 그에 대당하는 값을 1로 바꾼다. d = {'white':2, 'blue':4} d['red'] = 1 # 키 'red' : 1추가 d {'white':2, 'blue':4, 'red':1 } 반대로 이와 같은 경우 d안에 'red'에 해당하는 키가 존재하지 않으니까 이번에는 새로운 키와 값의 추가로 이어진다. 그런데 저장되어 있는 값을 참조하는 경우에는 얘기가 좀 달라진다. d = {'red':..

[iterable 객체와 매개변수] 이번에 살펴 볼내용 4가지를 정리하면 다음과 같다. func(*iterable) iterable 객체를 전달하면서 *을 붙여서 함수 호출할 때 func(**dict) dict 객체를 전달하면서 **을 붙여서 함수 호출할 때 def func(*args) 함수를 정의하면서 매개변수 args에 *붙일 때 def func(**args) 함수를 정의하면서 매개변수 args에 **붙일 때 먼저 다음 두가지에 대해 살펴보려고한다. 이 둘은 객체를 전달하는 과정에서 언패킹이 진행되는 상황이다. (리스트, 튜플, 문자열 모두 iterable 객체이다.) *를 묶는다로 이해하면 되는데 푼다라고 해석하는 경우가 한 경우 있다. 이는 함수 호출 할 때 인자로 전달할 경우이다 ex ) a =..

[딕셔너리 루핑 테크닉] 딕셔너리를 대상으로 하는 가장 보편적인 for루프 구성은 다음과 같다. d = dict(a=1,b=2,c=3) for k in d: #k에는 키가 담긴다. print(d[k], enc=', ') 근데 아래와 같은 메소드를 알아두면 for 루프를 구성할 때 좀 더 효율적으로 코드를 작성할 수가 있다. dict.keys() 딕셔너리의 키들만 참조하고자 할 때 dict.values() 딕셔너리의 값들만 참조하고자 할 때 dict.items() 딕셔너리의 키와 값을 튜플 형태로 참조하고자 할 때 위의 세 메소드가 반환하는 것을 가리켜 뷰 객체라고 한다. 뷰 객체도 iterable객체로 다음과 같이 for 루프를 통해 그 값을 하나씩 참조할 수 있다. 다음은 keys 메소드를 사용한 예이..