숫자형
3 ** 4 # 곱연산 : 3의 4제곱 = 81
7 // 4 # 몫연산 : 1 (나머지연산 7 % 4 == 1)
문자열
a = 'abc'
b = 'hobby'
# 멀티라인
multiLine1 = "adc\ndef" # or 'adc\ndef'
multiLine2 = """
abc
def
""" # ''' ... '''도 마찬가지 일반 문자열에 자유롭게 엔터사용
# 문자열 곱연산
a * 2 # 'abcabc'
print("=" * 50) # ==================================================
# 문자열 길이
len(a) # 3
# 문자열 슬라이싱
a[1] # b, 파이썬은 문자열의 인덱싱을 자동으로 잡는다
a[-1] # c, -1은 맨뒤를 뜻함, a[-2] == b
a[0:2] # ab, a[인덱스:인덱스부터 몇개까지]
a[1:] # bc, 뒤 인수가 없으면 끝까지
a[:1] # ab, 앞 인수가 없으면 0으로 인식
a == a[:]
a[1] = 'a' # aac, 배열처럼 수정가능
# 문자열 포매팅
'a %s c' % 'b' # a b c, 뒤에 데이터타입은 신경안쓰고 그냥 %s쓰면 됨
'a {0} c'.format('b') # a b c
'a %s c %s' % ('b', 'd') == 'a {0} c {1}'.format('b', 'd')
'My name is {name}.'.format(name='jack') # My name is jack
'%10s' % 'hi' # ' hi', 앞에 공백 10개와 함께 삽입
'%10s' % 'hi' == '{0:<10}'.format('hi')
'%-10s' % 'hi' # 'hi ', -는 뒤에, %와 s사이에 int는 공백 수
'%-10s' % 'hi' == '{0:>10}'.format('hi')
'%0.2f' % 3.141592 # 3.14, 소수자르기, %0.필요한자리f
'%0.2f' % 3.141592
== '{0:0.2f}'.format('3.141592')
== f'{3.141592:0.2f}'
'%2.2f' % 3.141592 # ' 3.14'
'%2.2f' % 3.141592
== '{0:2.2f}'.format('3.141592')
== f'{3.141592:2.2f}'
'{0:^10}'.format('hi') # ' hi ', ^는 양쪽으로
'{0:^10}'.format('hi') == f'{"hi":^10}'
'{0:=^10}'.format('hi') # '====hi====', :과 ^사이에 문자를 넣으면
'{0:=^10}'.format('hi') == f'{"hi":=^10}'
# 중복 문자 개수 세기
b.count('b') # 2
# index 확인
b.find('o') # 1
b.find('b') # 2, 처음 찾은 인덱스만 반환
b.find('e') # -1, 없으면 -1
b.index('o') # 1, find와 동일
b.index('b') # 2, find와 동일
b.index('e') # error, find와의 차이점
# 문자열 삽입
','.join(a) # a,b,c
','.join(a) == ','.join(['a','b','c'])
# 대소문자 변경
a.upper() # ABC
a.lower() # abc
# 공백지우기
a.lstrip() # 왼쪽 공백 삭제
a.rstrip() # 오른쪽 공백 삭제
a.strip() # 양쪽 공백 삭제
List
# 슬라이싱
a = [1, 2, 3, 4, 5]
a[:2] # [1, 2]
a[2:] # [3, 4, 5]
a = [1, [2, 3, 4], 5]
a[1][:1] # [2]
# 연산
a = [1, 2, 3]
b = [4, 5, 6]
a + b # [1, 2, 3, 4, 5, 6]
a * 2 # [1, 2, 3, 1, 2, 3]
len(a) # 3
# 수정, 삭제
a = [1, 2, 3]
a[1] = 4 # a == [1, 4, 3]
del a[1] # a == [1, 3]
del a[1:] # a == [1], 슬라이스와 같이 사용가능
a.remove(2) # a == [1, 3], List.remove(value)
a.pop(1) # 2, a == [1, 3], List.pop([index]) > 값반환후 삭제, index없으면 마지막 요소
# 추가
a = [1, 2, 3]
a.append(4) # a == [1, 2, 3, 4]
a.append([4,5]) # a == [1, 2, 3,[4, 5]], 리스트 그대로 삽입됨
a.extend([4,5]) # a == [1, 2, 3, 4, 5], 리스트의 각 요소 분해되 추가됨
a.insert(0,4) # a == [4, 1, 2, 3], List.insert(index, value)
# 기타 함수
a = [1, 3, 2, 1]
a.sort() # a == [1, 1, 2, 3]
a.reverse() # a == [3, 2, 1, 1]
a.count(1) # 2, List.count(value)
Tuple
## 리스트형과 거의 비슷함
# 초기화
t1 = ()
t2 = (1, 2, 3)
t3 = 1, 2, 3
t4 = ('a', 'b', ('ab', 'cd'))
Dictionary
# 초기화
# valName = {Key1:Value1, Key2:Value2, Key3:Value3, ...}
# key는 unique해야함, unique하지않으면 앞에 값이 삭제됨
# 값사용
a = {'a' : 1}
a['a'] # 1, a[key] > value
a['a'] == a.get('a')
a['b'] # error, 없는 키를 호출 시 에러
a.get('b') # None, a['b']와 차이로 에러가 아니라 None값 리턴
# 추가
a = {1: 'a'}
a[2] = 'b' # a == {1: 'a', 2: 'b'}
a['c'] = 3 # a == {1: 'a', 'c': 3}
a[2] = ['b', 'c'] # a == {1: 'a', 2: ['b', 'c']}
# 삭제
a = {1: 'a', 2: 'b'}
del a[1] # a == {1: 'a'}
# 기타 함수
a = {1: 'a', 2: 'b'}
a.keys()
# dict_keys([1, 2]), 키값 리스트를 리턴하지만 일반 리스트처럼 사용X
# for k in a.keys():, but for문에서는 바로 사용할 수 있음
# 바로 리스트로 사용하려면 list(a.keys())
a.values() # dict_values(['a', 'b']), keys()와 동일한 속성 가짐
a.clear() # a == {}, 초기화
1 in a # True, key가 dictionary에 있는지 확인, key in dictionary
Set
# 초기화
s1 = set([1,2,3]) # {1, 2, 3}
s2 = set("Hello") # {'e', 'H', 'l', 'o'}
# 값 중복 혀용 X
# 순서 보장 X
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
# 교집합
s1 & s2 # {4, 5, 6}
s1 & s2 == s1.intersection(s2)
# 합집합
s1 | s2 # {1, 2, 3, 4, 5, 6, 7, 8, 9}
s1 | s2 == s1.union(s2)
# 차집합 (앞이 기준)
s1 - s2 # {1, 2, 3}
s1 - s2 == s1.difference(s2)
s2 - s1 # {7, 8, 9}
s2 - s1 == s2.difference(s1)
# 추가
s1.add(7) # {1, 2, 3, 4, 5, 6, 7}, 1개 추가, Set.add(value)
s1.update([7, 8]) # {1, 2, 3, 4, 5, 6, 7, 8}, 여러개 추가
# 제거
s1.remove(2) # {1, 3, 4, 5, 6}, 특정값 제거, Set.remove(value)
변수
a = [1, 2, 3]
id(a) # 4303029896 <- 메모리 주소값
# 리스트 복사
b = a
a is b # True
id(a) == id(b) # True
# 의도한 복사를 위한 방법
b = a[:]
a is b # False
id(a) == id(b) # False
b = copy(a)
a is b # False
id(a) == id(b) # False
# 변수 교환
a = 1
b = 2
a, b = b, a # a = 2, b = 1
# 여러가지 선언법
a, b = (1, 2)
a, b = 1, 2
[a, b] = [1, 2]
a = b = 1
'개발언어 > Python' 카테고리의 다른 글
Python 문법 간단 정리 : 내장함수, 라이브러리, 기타 (0) | 2022.11.14 |
---|---|
Python 문법 간단 정리 : 클래스, 모듈, 예외처리 (0) | 2022.11.14 |
Python 문법 간단 정리 : 함수, 파일 (0) | 2022.11.14 |
Python 문법 간단 정리 : 제어문 (0) | 2022.11.14 |
댓글