python 69

[python] class 객체생성 | 생성자

-class 객체 생성 ''' 문법: class 클래스명: #변수 #매서드 특징: -반드시 작성된 클래스를 메모리에 올려야한다. 메모리에 클래스를 올려주는 작업을 '객체 생성'이라고 부른다. 변수명=클래스명() (자바는 변수명 = new 클래스명()) ''' # xxx 함수, self 가 없다. def xxx(): pass class Cat:#eat 메서드, self필수 def eat(self): self.name="야옹이" print("{}가 먹는다".format(self.name)) c1=Cat() ''' 파이썬 클래스 문법: class 클래스명: ==> 분석단계의 객체로부터 # 인스턴스변수 ==> 분석단계의 객체의 속성로부터 인스턴스변수에 저장되는 값은 객체의 속성값 (예> 고양이의 이름,나이,성별..

python 2022.09.26

[python] filter vs map

-filter ''' filter vs map 1.filter(함수,집합형) ==>집합형에서 함수를 적용해서 조건에 일치하는 값만 반환 2.filter 함수는 generator함수 ''' #help(filter) x=[1,2,3,4,5,6,7,8,9,10] #짝수만 출력 ==> list comprehension으로 구현 result=[i for i in x if i%2==0] print(result) def even(n): print(n%2==0) return n%2==0 even2=lambda n:n%2==0 result = filter(even, x) result2= filter(even2,x) result3= filter(lambda n:n%2==0,x) #(**********) print(list..

python 2022.09.26

[python] 변수의 scope | random 함수

변수의 scope ''' 변수 scope 1) 개념 선언된 변수 사용 가능한 범위(scope,context)를 의미한다. 2) python의 변수 scope ==> 함수 scope를 따른다. 즉, 함수내에서 선언된 변수는 함수 안에서만 사용이 가능하다. 3) 변수의 종류 가. 전역 변수(global 변수) ==> 함수 밖에서 선언된 변수 나. 지역 변수(local 변수) ==> 함수 내에서 선언된 변수 ''' n=10 #전역변수(global 변수) def fun(): x=100 print("fun",x) fun() #print(x)Error발생 지역변수를 함수 밖에서 쓸 수 없음 ''' nonlocal 및 global 키워드 1. 모든 함수는 중첩이 가능하다. 2. 중첩된 함수(mbc함수)는 global..

python 2022.09.26

[python] generator 함수

''' generator 함수 1. 함수 안에 yield 키워드로 실행할 코드를 묶음이 가능하다. 2. 일반적인 함수 호출하면 실행이 되고 끝인데, generator함수를 호출하면 generator 객체를 반환한다. generator객체의 next() 함수 호출해서 yield 단위로 실행할 수 있다. ''' #가. 일반 함수 def fun(): print("1111") print("2222") print("3333") fun() #나. generator 함수 def fun2(): print(">>>1111") yield print(">>>2222") print(">>>3333") yield gen=fun2() #아무것도 안나옴 print(gen) # next(gen) next(gen) #다. genera..

python 2022.09.26

[python] lambda 함수

''' 람다 표현식(lambda) 개요: def 함수의 또 다른 표현식 특징: -반드시 단 하나의 실행문을 가진 경우만 람다 표현식으로 변경할 수 있다. -함수명이 없다.(익명 함수 , annonymous function) ==> 명시적으로 변수에 저장해서 사용한다. (일급객체 특징) 문법: 변수명=lambda [변수, 변수2,...]:문장 ''' # 1. 파라미터없고 리턴값 없는 형태 def fun(): print("fun") fun()#fun #lambda 함수 fun=lambda : print("lambda fun") fun()#lambda fun # 2. 파라미터 있고 리턴 값은 없는 형태 def fun(n,n2): print("fun",n,n2) #lambda 함수 fun=lambda n,n2:..

python 2022.09.26

[python] 일급객체

''' 일급 객체 (first-class) ==> 파이썬, javascript 개요: 함수를 데이터로 처리한다. 1) 함수를 변수에 저장할 수 있다. 예> 변수=10 변수="홍길동 변수={10,20} 변수=함수(*****) 2) 함수를 다른 함수 호출 시 인자값(argument)로 사용 가능하다. 예> fun(10) fun("홍길동") fun([10,20]) fun(함수) (******) 3) 함수 실행 후 리턴 값으로 함수를 사용할 수 있다. -파이썬의 모든 변수는 참조형 -함수를 만들면 함수명으로 된 변수가 생성 -함수의 객체가 생성 -함수명이 함수객체 참조(함수객체의 주소를 저장) -사용 1.fun 변수만 사용 n=fun -사용 2.fun() ''' def fun(): print("fun") pri..

python 2022.09.26

[python] Dict Packing

''' 1.(기본적으로)함수 호출 시 전달 값과 함수의 변수의 갯수가 일치 되어야 한다. 2.defalut 파라미터 사용 ===> 함수의 변수가 더 많은 경우 3.packing (*이용) ==> 전달값이 더 많은 경우 ==> 한꺼번에 전달되는 여러 개의 전달 값이 tuple로 묶어서 전달됨 *표시는 한 번만 쓸 수 있음 4. named 파라미터 ==> 함수호출 시 변수명=값 형태로 호출하는 방식이다. ==> 함수의 변수가 여러 개인데, 특정 변수에만 값을 저장할 때 사용된다. 나머지는 defalut 파라미터로 만든다. 5. dict packing ==> named 파라미터로 전달한 여러 인자값(argument)을 함수 쪽에서 dict로 저장할 수 있는 방법이다. ''' def fun(**k): print..

python 2022.09.26

[python] return 키워드 | default 파라미터 | packing(*)

-return 키워드 ''' 함수(function) 1. 여러개 값을 리턴할 수 있다(착시 효과로서 반드시 1개만 리턴 가능하다.) ==> 집합형에 먼저 저장하고 나중에 집합형을 리턴한다. 2. return 키워드 2가지 용도 (자바도 동일 ) 가. 리턴 값을 반환하기 위해서 (주목적) 나. 함수를 중지 목적 ''' #1. 여러개 값을 리턴할 수 있다 def fun(): return 10,20 result =fun() print(result) # (10,20) #2. 함수를 중지 목적 def fun2(): print("fun2") if True: return #함수 중지 print("fun2-1") print("fun2-2") fun2() print("end") - default 파라미터 ''' 1.(기..

python 2022.09.26

[python] 함수 기본 | 리턴 타입 명시

''' 함수(function) 1. 용도: 기능처리 담당 (데이터 저장 담당 : 변수) 2. 특징 - 반드시 호출해야 수행되고 수행이 끝나면 호출한 곳으로 돌아온다 - 함수 호출 시 함수 쪽으로 임의의 값을 전달 할 수 있다.(파라미터,parameter) -전달 값이 있으면 함수 쪽에서는 전달 값을 저장하기 위해서 변수가 필요하다. (전달 값의 갯수가 여러개가 가능하다.) 전달 값과 함수 쪽 변수의 갯수는 반드시 일치해야 한다. -호출 후에 함수가 실행되고 호출한 곳으로 돌아올 때 임의의 값(리턴 값)을 가지고 반환될 수 있다. 호출한 곳에서는 리턴 값을 저장하기 위해서 변수가 필요하다. (리턴 값의 갯수는 반드시 !! 1개다. 여러 개 처럼 보일뿐) 3. 문법 가. 파라미터가 없고 리턴 값도 없는 경우..

python 2022.09.26

[python] generator

''' *generator 특징 : 한 번에 한 개만 생성 생성된 항목을 사용하면 제거됨. -next() 함수 또는 for문을 사용해서 값을 얻을 수 있다. -대표적인 generator는 range()이고 커스텀 generator는 다음 문법을 이용한다. gen=(표현식 for 변수 in 리스트) next(gen) 형식으로 값을 하나씩 얻는다. for v in gen: print(v) (x for x in range (5)) ''' #리스트 제너레이션 vs 제너레이션 x=[v for v in range(5)] print(x)#[0, 1, 2, 3, 4] print(x[0]) print(x[1]) print(x[2]) print(x[3]) print(x[4]) y=(v for v in range(5)) p..

python 2022.09.22