728x90
반응형

전체 글 70

Python 생성자, 소멸자, self

self 파이썬은 생성자와 모든 메소드에 반드시 첫 번쨰로 적는 self가 있다. 메소드를 호출할 때는 반드시 객체변수를 인수로 self 매개변수에 전달해야 한다. 그래야 해당 메소드가 클래스 타입의 객체변 고유 메소드로 인식되기 때문이다. 생성자 : __init__(self) - 생성자는 클래스의 맴버변수들을 초기화한다. - 객체를 생성할 때 자동으로 호출되는 함수 class Person: def __init__(self,name,age,addr): # 생성자 self.name = name self.age = age self.addr = addr person = Person('홍길동',21,'서울') # 객체를 생성하면서 생성자를 호출하고, 데이터를 전달한다. print(person.name) prin..

Python/클래스 2023.09.21

Python 클래스, 객체, 인스턴스

클래스(Class) 클래스란 미래에 만들어질 어떤 특정한 객체들에 대해 일반적으로 적용할 수 있는 변수와 메소드를 정의하고 있는 소프트웨어적인 설계도라고 할 수 있다. 클래스에는 속성 과 기능 부분이 있다. 속성은 변수이고 기능은 메소드(함수) 이다. 클래스 형식 class 클래스명(상속 클래스명): 맴버변수 = 값 --> 클래스 변수 def __init__(self): --> 생성자 ... def 메소드명(self): --> 메소드 ... 메소드의 self는 현재의 객체를 가리키는 변수이다. 인스턴스(instance) 클래스가 설계도라면 설계도대로 실체화를 시켜야한다. 클래스가 실체화되도록 메모리에 할당하는것이 인스턴스이다. 객체(Object) 클래스가 설계도라면 클래스의 설계도대로 만들어진 실체화를 ..

Python/클래스 2023.09.21

Python Lambda 함수, map 함수

람다 함수는 쉽게 말해 익명함수 또는 축약함수라고 할 수 있다. 즉 이름이 없는 함수이며 return문 없이 결과를 반환하는 아주 단순한 구조로 되어 있는 함수이다. 람다 함수는 이름을 정의하지않고 주로 일회용으로 사용한다. 형식 lambda 인자 : 표현식 # return 존재 X 예시 def add(num1, num2): # 일반 함수식의 표현 result = num1 + num2 return result print(add(10,20)) add =lambda num1, num2 : num1 + num2 # lambda 함수식의 표현 print(add(10,20)) '''결과값 30 30 ''' 위 코드처럼 람다식은 add 변수에 return문없이 결과를 반환한다. 또한 함수를 한줄로 표현해 lambd..

Python 함수의 이름인수, 가변 인수 처리

이름인수(named argument) 함수를 호출하면서 함수명(인수=초깃값) 처럼 인수에 초깃값을 주고 매개변수의 이름과 매핑시켜 값을 전달 할 수 있다. 이 방법을 사용하면 함수의 매개변수에 인수를 전달할 때 매핑 순서를 지키지않아도 가능하다. def func(a,b): print('a :',a) print('b :', b) func(a=1,b=2) func(b=1,a=2) """ 결과값 a : 1 b : 2 a : 2 b : 1 """ 가변인수처리 함수를 호출하다 보면 매개변수로 전달할 값이 하나일때도 있고 여러개 일때도 있다. 이때마다 함수를 따로 작성해야한다면 너무 번잡한 일이 된다. 이 문제를 해결하는 방법으론 *매개변수(위치 가변)가 있다. 매개변수 이름에 *를 붙여주면 입력 값을 전부 투플로..

Python 함수 선언,호출

함수(funtion)은 프로그래밍 언어에서 지원하는 매우 중요한 기능으로 블록(특정 영역) 단위의 처리를 가능하게 한다. 함수는 다양한 상황에서 호출할 수 있고, 소스 코드의 일부분을 수정하기도 쉽다. 함수를 호출할 때에는 함수명을 사용하여 호출한다. 함수 선언 def 함수이름(매개변수-parameter): --> input [들여쓰기] 수행문1 [들여쓰기] 수행문2 return (반환값) --> output 함수는 실행을 종료한 후 무조건 호출한곳으로 반환(return)을 한다. 1) 반환값이 있는 경우 return 키워드를 생략 불가 2) 반환값이 없는 경우 return 키워드를 생략 가능 함수 호출 함수이름(parameter로 전달되는 argument) argument : 인수, 인자, 인잣값 de..

Python 딕셔너리(dictionary) 값 변경, 결합하기

update() 사용하기 딕셔너리의 값을 변경하는데에 update()를 사용할 수 있다. 그 방법엔 2가지가 존재한다. dict.update(key = value) / dict.update({ 'key' : 'value') students ={ 'name' : ['이순신','강감찬','유관순'], 'addr' : ['구로구','동작구','서초구'], 'age' : [46, 72, 18] } students.update(height=[191, 182, 169]) # 방법 1 students.update({'weight' : [68, 72, 62]} ) # 방법 2 """ 결과 {'addr': ['구로구', '동작구', '서초구'], 'age': [46, 72, 18], 'height': [191, 182,..

Python 딕셔너리(dictionary) 키, 값 가져오기 get(), keys(), values(), items()

딕셔너리 (Dictionary) key 와 value 로 이루어져있는 자료형 (key : value 형태로 item을 저장함) - key 로 value를 저장함 - key 로 value를 가져옴 {}, dict() 사용하여 생성한다 - dic1 = {} / dict1 =dict() 빈 딕셔너리생성 딕셔너리에 item 저장 방법 1 dict1 ={} dict1['name']='James' print(dict1) """ 결과값 : {'name': 'James'} """ item 저장 방법 2 dict1 = {'name' : 'james', 'age' : 21, 'addr': '서울'} print(dict1) """ 결과값 : {'name': 'james', 'age': 21, 'addr': '서울'} """..

Python 스택(Stack), 큐(Queue)

스택 (Stack ) : LIFO (Last In First Out) 스택은 여러 개의 데이터 항목들이 일정한 순서로 나열된 자료구조로, 한쪽 끝에서만 새로운 항목을 삽입하거나 삭제할 수 있는 선형 구조이다. 스택은 LIFO (Last In First Out) 의 구조로 데이터를 삽입하거나 추출하는 구조이다. LIFO는 '후입선출'이라하며 들어온 데이터를 맨끝에 저장하고 데이터가 나갈때도 맨끝부터 나간다. 일상생활속에서의 예로는 대형마트의 카트나 배드맨턴 셔틀콕을 생각하면 이해하기 쉽다. 역추적, 재귀 알고리즘에서 유용하게 쓰인다. stack = [1,2,3,4,5] stack.append(6) # 맨끝에 6추가 stack.append(7) # 맨끝에 7추가 print(stack) stack.pop() ..

Python 얕은 복사(주소 치환), 깊은 복사(deepcopy)

복사(copy)는 객체의 주소를 지환하는 방법이라하고 그 방법에는 2가지 얕은복사, 깊은복사 가 있다. 얕은복사(주소 치환)는 서로 다른 변수이지만 같은 객체의 주소를 복사하는것을 말한다. list1 = [1,2,3,4,5] list2=list1 # 복사 list2=list1[:]도 가능 print(id(list1)) print(id(list2)) ''' 결과값 [1, 2, 3, 4, 5] 2665749423488 2665749423488 ''' 위의 를 보면 list1 과 list2가 같은 주소임을 알 수 있다. 즉 list1 = list2 은 객체의 주소를 복사하므로 새로운 객체가 만들어지는 것이 아닌 같은 객체를 참조하게된다 이를 '앝은 복사'라고 한다. list1과 list2는 같은 주소값을 같기..

Python list 함수 sort(), append(), extend(), insert(),append(), remove()

sort() : 원본을 정렬하고 정렬된 새로운 리스트를 반환하지 않음 (원본을 바꿈, 반환값 X) 형식 : 리스트.sort() list = [9,6,5,4,2,1,6,7] print(list) list.sort() print(list) ''' 결과 [9, 6, 5, 4, 2, 1, 6, 7] -> 원본 list [1, 2, 4, 5, 6, 6, 7, 9] -> sort()사용후 원본 ''' 위의 결과처럼 sort()함수는 원본 list를 바꾸는 함수이다. 반환값이 없어 print(list.sort()) 불가하고 변수에 대입이 불가하다. sorted() : 원본을 정렬하지 않고 정렬된 새로운 리스트를 반환함 (새로운걸 생성, 반환값 O) 형식 : sorted(리스트) list = [9,6,5,4,2,1,6..

728x90
반응형