본문 바로가기

전체 글

(12)
문자열 메서드(파이썬 자료구조와 알고리즘 정리) 1. 유니코드 문자열 : 문자열 앞에 u 붙이면 됨. u'문자열’ 2. 문자열메서드 문자열 뒤집기(반전) # 문자열 반전 string = "가나다라마" "".join(reversed(string)) string[::-1] >>> '마라다나가'​ 문자열 길이 설정 후 여백 채우기 # 문자열 포함 길이 width 만큼 fillchar A.rjust(width, fillchar) #오른쪽 A.ljust(width, fillchar) #왼쪽​​ format() "{0} {1} {2}".format("안녕", "내이름은", "김베베") >>> '안녕 내이름은 김베베' "이름 : {} 나이 : {} ".format("김베베", '3살') >>> '이름 : 김베베 나이 : 3살 ' "이름 : {who} 나이 : {a..
언패킹(Unpacking) 0. 들어가며 packing은 여러개의 객체를 하나로 묶는 것. unpacking은 여러개의 객체를 묶어 놓은 것을 풀어내는 것임. # 패킹 : test에 한꺼번에 1,2,3을 집어넣는다 test = 1,2,3 # a,b,c 변수에 test안에 묶여있던 값들을 풀어서 집어넣는다. a,b,c = test #결과 print(a, b, c) >>> 1,2,3 용어 설명 매개변수(Parameter) : 함수를 정의할 때 사용되는 변수 인자(Argument): 실제로 함수가 호출될 때 입력되는 변수값 위치인자 : 인자와 매개변수에 위치와 일치시키는 인자, 항상 키워드 인자보다 먼저 작성해야함 키워드인자 : 매개변수에 이름으로 일치시키는 인자 1. 언패킹 1) 함수에서 언패킹할 때는 매개변수(a,b,c)가 아닌 인..
패킹(packing) 0. 들어가며 packing은 여러개의 객체를 하나로 묶는 것. unpacking은 여러개의 객체를 묶어 놓은 것을 풀어내는 것임. # 패킹 : test에 한꺼번에 1,2,3을 집어넣는다 test = 1,2,3 # a,b,c 변수에 test안에 묶여있던 값들을 풀어서 집어넣는다. a,b,c = test #결과 print(a, b, c) >>> 1,2,3 피보나치 수열 등을 작성할 때 아래 처럼 swap(변수 바꾸기) 했는데, unpacking 과 유사하다는 느낌이 들었다. a,b = b, a+b 용어 설명 매개변수(Parameter) : 함수를 정의할 때 사용되는 변수 인자(Argument): 실제로 함수가 호출될 때 입력되는 변수값 위치인자 : 인자와 매개변수에 위치와 일치시키는 인자, 항상 키워드 인..
진법변환(feat. 파이썬 자료구조와 알고리즘) 파이썬 자료구조와 알고리즘(미아 스타인) 책을 읽다가 도저히 이해가 안되는 코드를 만났다. 역시나 똑같이 코드를 작성해 봤는데 실행이 되지 않았다. 문제의 코드는 다른 진법의 숫자를 10진수로 변환하는 아래 코드이다. def convert(number,base) : multiplier, result = 1,0 while number > 0 : result += number % base * multiplier multiplier *= base number = number // base return result def test(): number, base = 1001, 2 assert(convert(number.base)==9) print("테스트 통과") 그래서 위 코드 말고 진법 변환 함수를 정리하였다...
복소수 파이썬 복소수는 z = 2 + 3j 와 같은 한쌍으로 처리된다 아래 코드를 활용하면 복소수의 실수부, 허수부, 켤레 복소수를 구할 수 있다. z = 3 + 2J print(z.real) print(z.imag) z.conjugate() 복소수를 사용하려면 cmath 모듈을 임포트 해와야 한다
++, --, +=,-=,*= 그리고 a,b = b,a (swap) 별 것 아닌데 처음 다른 사람의 코드를 보고 이해가 가지 않아 끙끙 거렸던 것들을 왕초보의 눈으로 정리해보았다. 1. 파이썬에는 ++, -- (증감연산자)가 없다. C언어 등에는 i++; ++i; i--; --i 와 같은 연산자를 사용하는데 파이썬에는 존재하지 않는다. 2. 파이썬에는 +=,-=,*=,/= 등 (할당연산자)가 존재한다. 반복문 등을 사용할 때 아래와 같은 식을 자주 사용하는데, 할당연산자를 이용하면 좀 더 간결하게 이를 표현할 수 있다. a = a+1 a +=1 a = a-1 a -= 1 a = a*5 a *= 5 a = a/5 a /= 5 a = a%5 a %= 5 3. 파이썬에서는 a,b = b,a 로 변수의 자리를 바꿔줄 수 있다.(Swap) 다른 언어에서는 임시변수(temp)를 사..
파이썬 클래스 클래스의 개념 클래스(class)란 똑같은 무엇인가를 계속해서 만들어 낼 수 있는 설계 도면이고(과자 틀), 객체(object)란 클래스로 만든 피조물(과자 틀을 사용해 만든 과자)을 뜻한다. 객체마다 고유한 성격을 가진다는 것이다. → 동일한 클래스로 만든 객체들은 서로 전혀 영향을 주지 않는다. class Dog: def __init__(self, name, age): self.name = name self.age = age def bark(self): print(self.name + ' is barking…. mung… mung...') dog1 = Dog('Baduk', 2) dog2 = Dog('Sundol', 3) dog1은 객체 dog1은 Dog 클래스의 인스턴스 매서드 : 클래스 안에 구현..
파이썬 정규표현식 문자 클래스 [ ] : [ ] 사이의 문자들과 매치 [a-zA-Z] : 알파벳 모두 [0-9] : 숫자 \\d - [0-9]와 동일 \\D - 숫자가 아닌 것, [^0-9]와 동일 \\s - whitespace 문자와 매치 \\S - whitespace 문자가 아닌 것과 매치 \\w - 문자+숫자 [a-zA-Z0-9_]와 동일 \\W - 문자+숫자(alphanumeric)가 아닌 문자, [^a-zA-Z0-9_]와 동일. 특수문자 축약 Dot(.) : 줄바꿈 문자인 \\n 을 제외한 모든 문자와 매치, 자리를 맡아둠 (re.DOTALL 옵션을 주면 \\n 문자와도 매치된다.) $ : end$ ⇒ end로 끝나는 문자열과 매칭 | : a(b**|**c) ⇒ a 그리고 b 또는 c 를 포함한 문자열과 매칭 (..