a = -178 >>> a = 0 >>> a = 1.2 >>> a = -3.45 >>> a = 4.24E10 >>> a = 4.24e-10 >>> a = 0o177 >>> a = 0x8ff >>> b = 0xABC >>> a = 1+2j >>> b = 3-4J 실수 8진수 16진수 복소수 지수표현법 사용 0o 또는 0O (숫자 0 + 알파벳 o 또는 대문자 O)으로 시작 0X로 시작
is too short, You need python""" '''Life is too short, You need python''' 문자열을 만드는 4가지 방법 "ash84's World" 'ash84"s World' 'ash84\"s World' """Life is too short, You need python""" '''Life is too short, You need python''' 따옴표, 쌍따옴표 포함 긴 문자열
b 연결, 이어붙이기 a * n n 개의 복사본 만들기 a[i] 인덱스 a[i:j] 분할 e in a, e not in a 멤버 포함여부 검사 for e in a 반복문 all(a) a 의 모든 항목이 True 이면 True any(a) a 의 항목중 하나라고 True 이면, True len(a) a의 길이 반환 min(a) a 중에서 가장 작은 항목 반환 max(a) a 중에서 가장 큰 항목 반환
- [] 으로 표시 - nested 형태로 가능 > a = [] , a = list() > b = [1, 2, 3] > c = ['Life', 'is', 'too', 'short'] > d = [1, 2, 'Life', 'is'] > e = [1, 2, ['Life', 'is']]
공간를 가리키는지? - 가비지 컬렉션이 동작하는 단위, - 해당 메모리공간을 가리키는 레퍼런스 카운트가 0이면 메모리 회수 - 2 이 있는 메모리공간(객체)을 가리키는 레퍼런스 카운트는 2개이다. - 3 이 있는 메모리공간(객체)을 가리키는 레퍼런스 카운트는 1개이다. 2 a b c 3
cache[‘abc1’] a, b, c = ‘a’, ‘b’, ‘c’ cache[‘abc1’] f1 f2 - 각각의 함수객체가 독립적인 이름공간을 갖는다. - 각각의 공간은 함수객체(f1, f2)가 삭제될 때 까지 유지. - 함수인데, 마치 클래스의 별도의 인스턴스를 만들어서 동작하는것처럼 사용. - 내부 함수의 환경을 기록. - 기존 함수에 추가기능을 넣어서 함수를 포장하려고 할때, 유용하다.
cache[‘abc1’] a, b, c = ‘a’, ‘b’, ‘c’ cache[‘abc1’] f1 f2 (<cell at 0x01DB4ED0: str object at 0x01D84DE8>, <cell at 0x01DBF5F0: str object at 0x01D84E00>, <cell at 0x02501650: str object at 0x01E0E068>, <cell at 0x02501670: dict object at 0x01DB2AE0>) (<cell at 0x02501690: str object at 0x01D84458>, <cell at 0x025016B0: str object at 0x01D84DE8>, <cell at 0x025016D0: str object at 0x01D844D0>, <cell at 0x025016F0: dict object at 0x025055D0>)
0: print "go tag" else: print "no tag" tag = get_tags() if tag: print "go tag" else: print "no tag" name = get_name() if len(str) > 0: print “name” else: print “input name” name = get_name() if str: print “name” else: print “input name” 좀더 간결하게 쓸 수 있다. 근데 더 큰 문제가 있다면?
0: print "go tag" else: print "no tag" name = get_name() if len(str) > 0: print “name” else: print “input name” None 이 넘어온다면? Traceback (most recent call last): File "C:\workspace\test.py", line 3, in <module> if len(name) >0: TypeError: object of type 'NoneType' has no len()
'age':21} if 'name' in person: print person['name' person = ['name', 'age'] if 'name' in person: print person 그 안에 없냐? not in person = "ash84" if 'ash' in person: print person dict 안에서 key가 있는지 확인 list 안에 해당 값이 있는지 확인 문자열 안에 해당 값이 포함되어 있는지 확인