2023. 5. 19. 00:57ㆍpython
하기 전에 :
1. 기술적으로 몰랐던 것이나 막혔던 부분은 꼭 한 번 다시 생각하고 공부해보자. 웬만하면 그냥 넘어가지 말고.. 대체도 있으면 되긴 하지만 알면 좋으니까. 나중에 써먹을 수 있고.
2.이름명세 : 자바는 언더스코어를 지양하는 경향이 있는데 파이썬은 오히려 자주 쓴다고 한다. 근데 나는 자바에서 언더스코어는 디비에 많이 쓰기 때문에 지양한다고 했는데 파이썬도 어차피 디비랑 연동 하지 않나?? 왜 이런 차이가 생기는지는 모르겠는 부분이다.
1. list()에 대해서.
volatility = map(lambda low, high: high - low, low_prices, high_prices)
print(volatility)
이렇게 쓰면 객체의 주소 같은 것이 보인다.
volatility = list(map(lambda low, high: high - low, low_prices, high_prices))
print(volatility)
이렇게 써야 안에 있는 값이 온전하게 보인다.
https://hkim-data.tistory.com/182
(힙, 스택 등 메모리 할당 설명이 되어있는 블로그인데 나중에 읽자.)
왜그럴까? map은 지연평가(lazy evaluation)라는 방식을 채택해서 map 안에 당장 직접적인 값이 메모리에 저장되어있지 않다. 필요할 때만 계산되어 꺼내온다.
https://dojang.io/mod/page/view.php?id=2405
iterater에 대해서 좀 더 상세하게 알게되었다. 파이썬을 터미널에 연결하고 매직메서드를 활용한 iter 메서드, next 메서드를 동작하니 아래와 같이 나왔다.
>>> it=[1,2,3].__iter__()
>>> it.__next__()
1
>>> it.__next__()
2
>>> it.__next__()
3
>>> it.__next__()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>>
감동이다.... 거의 감동란 급 감동... 이걸 진작 알았으면 더 쉬웠을텐데.. 라는 생각도 들고, 내가 선 암기 후 이해를 했기 때문에 지금 이것을 봤을 때 감동이 더하지 않았을까 싶다.
* iterable한 곳을 써야할 때 len()을 range로 묶는 이유이다. 객체의 요소가 필요하기 때문에 순서대로 나와야 한다.
리스트 컴프리헨션(List Comprehension) : 리스트를 만들 때 좀더 편하게 사용하라고 하는 것.
표현식 for 조건요소 in iterable 변수 조건문.
# 파일 열기
with open('테스트파일.txt', 'r') as file:
# 파일 읽기
content = file.read()
print(content)
# 파일 쓰기
with open('테스트파일.txt', 'w') as file:
file.write("Hello Python")
# 파일
'python' 카테고리의 다른 글
경기도미래기술학교 AI개발자 부트캠프 11일차 TIL - 크롤링 (0) | 2023.05.22 |
---|---|
경기도미래기술학교 AI개발자 부트캠프 10일차 TIL - 클래스 만들기 self는 뭘까. 속성과 메소드. (0) | 2023.05.19 |
경기도미래기술학교 AI개발자 부트캠프 8일차 TIL - 함수,람다,map,filter 등 (1) | 2023.05.17 |
파이썬으로 무작위(랜덤)로 명단 정하는 프로그램. random 이용 (0) | 2023.05.17 |
경기도미래기술학교 AI개발자 부트캠프 7일차 TIL - 딕셔너리, for문에 대해서, 함수 (0) | 2023.05.16 |