Python11 :: python 문법, 요약
ㅡ. 인덴트
공백을 추가합니다. (보통 4칸)
ㅡ. 네이밍 컨벤션
스네이크 케이스 e.g) hi_naming
PEP 8 철학에 따라 스네이크 코딩을 지향합니다.
ㅡ. 타입 에러
타입 에러 발생시 Incompatible return value type 에러가 발생합니다.
ㅡ. 리스트 컴프리헨션
map, filter, 람다를 지원합니다.
print([n*3 for n in range(1, 10+1) if n%2 == 1])
#result
[3, 9, 15, 21, 27]
가독성이 좋아집니다.
ㅡ. 제너레이터
return 은 함수가 종료되는데 비해 yield는 실행 중이던 값을 내보내게 됩니다.
다음 값을 생성하기 위해서는 next를 사용합니다.
#print([n*3 for n in range(1, 10+1) if n%2 == 1])
def generator():
yield 11
yield 'super'
yield False
g= generator()
print(next(g))
print(next(g))
print(next(g))
이런식의 코드를 작성하는것도 가능합니다.
a = [ n for n in range(1000000)]
b = range(1000000)
print(a)
print(b)
print(a[999])
print(b[999])
b의 방식이 메모리 효율(점유율)에 좋습니다.
ㅡ. enumerate
인덱스를 포함한 enumerate 객체로 리턴합니다.
for k, a in enumerate([2,3,4,5,6]) :
print(k, a)
index와 value 모두 한번에 출력할 수 있습니다.
ㅡ. 나눗셈 연산자
/ -> 우리가 일반적으로 아는 나누기 연산
// -> 소수점 이하 나왔을때 버리고 정수형 타입으로 리턴 (=몫)
몫과 나머지를 동시에 구하기 위해서 divmod() 함수를 사용하면 됩니다.
'Python' 카테고리의 다른 글
Python12 :: map, filter, locals, generator, List comprehension (0) | 2020.08.31 |
---|---|
Python08 :: python csv format 만들기 (0) | 2020.08.15 |
Python07 :: python 클래스 이름, 클래스 변수 (0) | 2020.08.14 |
Python06 :: Python Project 구성하기 (0) | 2020.08.14 |
Python05 :: python nested dictionary (0) | 2020.08.13 |
댓글
이 글 공유하기
다른 글
-
Python12 :: map, filter, locals, generator, List comprehension
Python12 :: map, filter, locals, generator, List comprehension
2020.08.31 -
Python08 :: python csv format 만들기
Python08 :: python csv format 만들기
2020.08.15 -
Python07 :: python 클래스 이름, 클래스 변수
Python07 :: python 클래스 이름, 클래스 변수
2020.08.14 -
Python06 :: Python Project 구성하기
Python06 :: Python Project 구성하기
2020.08.14