python
·
언어/Python
c = """ 연관사이트 페이스북"> 블로그"> 유트브"> """ # 키워드 검색 print(c.find("list_sns")) # 키워드를 이용한 스키핑 c = c[167:] # 필요없는 데이터 날리기 print(c) # 태그를 기준으로 쪼개기 c = c.split("") print(c) print("-----------------------------------------------------------") # c[0] 데이터 출력 print(c[0]) # 각 태그에서 usrl만 출력 url = c[0].split('" target')[0] print(url) # 각 태그에서 usrl만 출력 2 url = url.split('href="')[1] print(url) print("------------..
[Python] decorator
·
언어/Python
# 데코레이터 def decorator_func(original_func): def wrapper_func(*args, **kwargs): # 가변 파라미터를 넣어준다. 파라미터의 갯수가 몇개인지 알 수 없을 때! 연속적인 파라미터를 받을 수 있다. print("{} 함수가 실행되기 전 실행되는 문구".format(original_func.__name__)) return original_func(*args, **kwargs) # 실행한 뒤의 결과값을 출력해야함 return wrapper_func # 실행되지 않은 function 그대로를 출력해야함. @decorator_func # annotation def display_1(): # 앞에 실행되는 로직 print("display_1 함수가 실행되었습니다..
[Python] property 예제
·
언어/Python
class Person: bag = [] val1 = 123 def __init__(self,val2): self.bag2 = [] self.val2 = [] def put_bag(self, stuff): self.bag.append(stuff) def put_bag2(self, stuff): self.bag2.append(stuff) def minus_val1(self): # self.val1 -= 10 Person.val1 -= 10 def class_method(self): print("클래스 메소드 출력") @staticmethod # 클래스메서드에 접근하는 방식 def class_method(): # 셀프를 지우면 일반적인 호출이 아니라 클래스에서 막바로 매서드를 호출 print("클래스 메소드..
[Python] del 예제
·
언어/Python
인스턴스 생성 -> 삭제 # 이스턴스 삭제 class Cls1: def __init__(self, name): self.name = name def print_info(self): print("이름 : {} ".format(self.name)) def __del__self(self): print("인스턴스 종료 : {}".format(self.name)) def __del__(self): print("인스턴스 종료 : {}".format(self.name)) user1 = Cls1("철수") user2 = Cls1("영희") user3 = Cls1("ㅎㅎ") del user1 del user2 print("-------------------------------")
[Python] init 예제
·
언어/Python
class Cls1 : def __init__(self, val1): self.val1 = val1 def get_number(self): print(self.val1) # 객체가 생성될 떄 그 객체의 초기 상태를 설정. ins1 = Cls1(10) ins1.get_number() class Cls1: gval1 = 1234 def __init__(self, val1, val2): self._val1 = val1 self._val2 = val2 print("init") super().__init__() def __new__(cls, val1, val2): print(val1, val2) print("new") return super().__new__(cls) def get_global_val(self):..
[Python] 클래스 - 접근제어 예제
·
언어/Python
# 접근 제어 class Cls1 : def sef_data1(self, val1, val2): # 지정하고자하는 외부의 값에 설정할 수 있다. #프로퍼티값을 입력받아 사용할 수 있다. self.val1 = val1 self.val2 = val2 def get_data1(self): print(self.val1) # 인스턴스에 있는 val1 print(self.val2) # 인스턴스에 있는 val2 ins1 = Cls1() ins1.sef_data1(10, "abc") # 외부에서 self에 접근할 수는 없다. val1 과 val2만 접근해서 쓰면 된다. ins1.get_data1() # 인스턴스에 프로퍼티값이 들어간다. print("---------------------------------------..
[Python] 클래스 - self
·
언어/Python
# self class Cls1 : # 클래스생성 def get_self(self): print(self) print(id(self)) # 메서드 ins1 = Cls1() # 객체 생성 ins1.get_self() # 객체의 주소 참조함. # sefl를 사용하면 내부에서 사용했었던 리소스를 사용하게해준다. print(id(ins1)) # 메서드에서도 찍었는데, 여기서 바로 찍으면 주소가 같을까? ; == 같다. # self는 안에서. instance는 바깥에서. print() ins2 = Cls1() # 객체 생성 ins2.get_self() # 객체의 주소를 출력함. # print(id(ins2)) # 메서드에서도 찍었는데, 여기서 바로 찍으면 주소가 같을까? ; == 같다.
[Python] 클래스 예제
·
언어/Python
# class # 일반 함수 방식 scv1 = {"atk" : 3, "def" : 5, "hp" : 50} scv2 = {"atk" : 8, "def" : 5, "hp" : 50} def attack1(dic1): print("{}의 공격을 가함" .format(dic1["atk"])) def defense(dic1): print("{}의 데미지를 방어".format(dic1["def"])) dic1["hp"] -= 1 attack1(scv1) defense(scv1) print(scv1) attack1(scv2) defense(scv2) defense(scv2) print(scv2) print("-----------------------------------------------------") # cl..
[python] 사용자 정의 함수
·
언어/Python
return 메모리 튜플은 값의 복사가 일어난다. 재귀함수 가급적이면 일반 for문으로 돌려라... 이유는 1. 스택프레임에 쌓임 2. 가독성이 안좋다. 3. 자원 관리의 어려움. 만약 할당 변수가 있을 시에 변수가 계속적으로 선언됨. -> 관리하기 매우 어렵다. for문은 어떤 자원이 어떻게 쓰이는지 잘 보인다. 불가피한 경우) 1. depth를 예측할 수 없는 경우. 2. def func1(): return 5 x1 = func1() print("{}".format(x1)) print("{}".format(func1())) # 두 개의 숫자를 더해서 나온 합산 값을 return하는 함수 def func2(a,b): print("이것은 두 개의 값을 더하는 함수 입니다.") # 리턴 전에 출력값을 넣으..
[python] 함수 예제
·
언어/Python
while 초기값 반복식 => 단점 : 초기값과 증감연산이 무조건 존재해야된다. 전처리와 후처리가 꼭 필요했다. for 순회값 반복식 for ~ in -> 파이썬의 for의 문장이 이렇게 생겨먹은 거임. 파이썬의 꽃 List comprehension 아웃풋 변수를 좌변에 놓고 for를 통해서 어떻게 순회할 것인가의 계획을 세우고 연산에 대한 계획을 넣어서 배열[ ]로 묶는 list comprehesion! => 로직이 variety 해진다. 로직 생각 1. 가위바위보 게임 -> 컴퓨터 vs. 나 2. 업다운 게임 (숫자 하나 발생시켜서 업 다운) 셋 컴프리헨션 def func1(x): return x+2 # 리스트 컴프리헨션 # 0~4 까지 각 2를 더한다. list1 = [2+x for x in ran..
giroke
'언어/Python' 카테고리의 글 목록