Language/Python 7

[Python] collections모듈 Counter 사용하기

(python ver.3.9.6 기준) class collections.Counter([iterable-or-mapping]) : 리스트의 원소들이 각각 몇 개 씩 존재하는지 카운팅하는 클래스 파라미터로는 *iterable / mapping (keyword = count, { "key" : "count"}) 같은 타입이 쓰인다. *iterable : 멤버값을 하나씩 return 할 수 있는 오브젝트로 for loop나 zip(), map() 등에서 쓰일 수 있다. list, str, tuple 등(sequence type) / dict, file object 등 (non-sequence type)이 이 포함된다. - Counter 생성 예 from collections import Counter c = ..

Language/Python 2021.07.04

[Python] 4_클래스

- 파이썬 클래스 기초 (생성자, 메소드, 클래스변수, 상속) # class # pass는 아무것도 수행하지 않는 문법. 임시 코드 class Sample: pass # Constructor (__init__) # 객체 생성시에 자동 호출 class Sample: def __init__(self, a, b): # self == 객체 자신/ #setdata 기능 self.a = a self.b = b # Method class Sample: def setdata(self, a, b): self.a = a self.b = b ### 사용 sample = Sample() sample.setdata(1, 2) # Use1 Sample.setdata(sample, 1, 2) # Use2 # sample.a == ..

Language/Python 2021.05.06

[Python] 파이썬에서 음수의 "//" 연산(Floor Division) 이 다른 값을 가지는 이유

파이썬(3.X)에서 / 나누기 연산은 float 결과값, //나누기 연산은 int 결과값을 가지는 차이가 있다고 생각하고 있었는데 음수에서 해당 연산을 사용했을 때, 다음과 같이 다른 결과가 나오는 것을 발견했다. print(-1//2)# >>> -1 print(1//2)# >>> 0 이유를 찾아보니, "//" 연산은 Floor Division(바닥함수)로 "실수 이하의 최대 정수를 구하는 함수" 로 정의된다. ==> 내림(round down) 즉, -1 < -1/2(=-0.5) < 0 이기 때문에 -0.5보다 작은 최대 정수인 -1 을 결과값으로 가진다. [참고]stackoverflow.com/questions/37283786/floor-division-with-negative-number Floor ..

Language/Python 2021.05.06

[Python] 파이썬에서 제곱 구하기-pow(), math.pow(), ** 의 차이

먼저 내장함수 pow() 와 math.pow() 는 다음과 같이 다른 함수임을 알 수 있다. import math print(pow is math.pow) # >>> False 파이썬에서 제곱을 구하는 세가지 방법의 차이를 비교해보자. 1. 내장함수 pow(base, exp [, mod] ) [특징 1] 밑, 지수, (옵션: 나머지계산) 을 파라미터로 받을 수 있다. --> math.pow에서는 세번째 옵션 파라미터를 받을 수 없다. --> pow(base, exp, mod) 로 쓰였을 때, 결과는 (base ** exp) % mod 와 동일하다. (단, 이때 base, exp는 정수형이어야함) [특징 2] pow의 결과값은 파라미터의 type에 따라 결정된다. print(pow(12,2))# >>> 1..

Language/Python 2021.05.06

[Python] 3_함수

- 함수 기초 ''' 파이썬 함수에서 매게변수 갯수가 정확하지 않을 때 ''' def func(*args):# * 붙이기 ''' 여러개의 결과값을 반환 (tuple) ''' def add_and_mul(a,b): return a+b, a*b res1, res2 = add_and_mul(3,4)# >>> res1 = 7, res2 = 12 res = add_and_mul(3,4)# >>> res = (7, 12) ''' # 함수정의시에 def func(a=b): 와 같은 식으로 초기값 설정가능. 선언시에 값을 설정하면 설정값으로 반영. 초기값 설정된 변수는 항상 맨 마지막 ''' # 람다(lambda) ### lambda 매개변수1, 매개변수2 ... : 매개변수를 이용한 표현식 ### return이 없이..

Language/Python 2021.05.03

[Python] 2_제어문

- if # if ### 참, 거짓을 판단하는 조건 뒤에 ':' ### 조건에서 수행할 문장은 반드시 들여쓰기 ### 조건 : ,==, and, or, not... ### 조건 : a in b, a not in b if cond == 1: print("one") elif cond == 2: print("two") else: print("else") res = "one" if cond == 1 else "two" # 조건부 표현식 (한줄) - for # for for a in arr: print(a)#case1 for (first, last) in tuple_: print(first + " " + last)#case2 for i in range(1,11): print(i)#case3 (range) - wh..

Language/Python 2021.05.02

[Python] 1_자료형

- 파이썬 자료형 기본 ''' 파이썬에서 변수는 자료형이 저장된 메모리의 주소를 가리킨다. ''' id(a) # a 변수가 가리키는 주소값 ### 얕은 복사 a = [1,2,3] b = a # >>> id(a) == id(b) ### 깊은 복사 a = [1,2,3] b = a[:] # or b = copy(a) # >>> id(a) != id(b) ### Swap a = 3 b = 5 a, b = b, a # >>> a == 5 , b == 3 - 숫자, 문자열, boolean 자료형 a = 123# 정수 a = 1.2# 실수 a = 'a"b"c' # " 포함 문자열 a = "a'b'c" # ' 포함 문자열 a = ''' line1 line2 '''# 멀티라인 문자열 (""" or ''') # 숫자 연산..

Language/Python 2021.04.29