<jupyter_start><jupyter_text>class : 클래스- 변수와 함수를 묶어 놓은 개념- 사용 방법    - 변수와 함수가 들어있는 클래스를 선언    - 클래스를 객체로 만들어서 클래스 안에 선언된 변수와 함수를 사용  1. 기본 클래스의 사용<jupyter_code># 클래스의 선언
# 클래스 명은 카멜형식으로 설정
class Calculator:
    
    num1 = 1
    num2 = 2
    
    def plus(self):
        return self.num1+self.num2
    
    def minus(self):
        return self.num1-self.num2
# 클래스의 사용 

# 이 밑에 있는 작업을 통해 클래스->객체로 
calc=Calculator()
calc
calc.num1,calc.num2,calc.plus(),calc.minus()
# plus -> class 안의 function (method라고함)
# self의 의미: 객체 자신
calc2=Calculator()
calc2.num1,calc.num2
calc2.num1=10
calc2.plus()
# calc(object)에 Calculator(Class)를 객체로 할당해주면서 calc안에는
# num1, num2, plus()=>self.num1+self.num2 ,minus()=>self.num1+self.num2 가 들어가게 된다
## self.num1= calc.num1 / self.num2=calc.num2 랑 같다 ##<jupyter_output><empty_output><jupyter_text>2. 객체지향- 설계 세계를 코드에 반영해서 개발하는 방법- 여러명의 개발자가 코드를 효율적으로 작성해서 프로젝트를 완성시키기 위한 방법- 설계도 작성(class) -> 실제 물건(object)- 사용자 정의 데이터 타입<jupyter_code>calc2.plus()
obj="python"
obj.upper()
# 계속 사용해왔던 이런 형식들도 class
ls=[1,3,2]
ls.sort()
ls
[data for data in dir(Calculator) if data[:2]!="__"]<jupyter_output><empty_output><jupyter_text>3. 생성자- 클래스가 객체로 생성될때 실행되는 함수- 변수(제로)를 추가할때 사용됩니다.<jupyter_code>class Calculator:
    
   # 생성자 함수 :__init__
    def __init__(self,num1,num2):
        self.num1=num1
        self.num2=num2
        
    def plus(self):
        return self.num1+self.num2
    
    def minus(self):
        return self.num1-self.num2
calc1=Calculator(3,4)
calc1.plus()
# 함수이므로 마찬가지로 디폴트 파라미터를 쓸 수 있음
# *args **kargs 도 사용가능
class Calculator:
    
   # 생성자 함수 :__init__
    def __init__(self,num1,num2=10):
        self.num1=num1
        self.num2=num2
        
    def plus(self):
        return self.num1+self.num2
    
    def minus(self):
        return self.num1-self.num2
calc1=Calculator(3)
calc1.plus()
calc=Calculator(3,5)
calc.plus()
# join
ls = ["python","is","good"]
sep=" "
sep.join(ls)
# pandas dataframe
import pandas as pd
df=pd.DataFrame([
    {"name":"jin","age":20},
    {"name":"andy","age":21},
    ])
df<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13859480269489893, 'fraction_numerical': 0.03464870067372473, 'mean_word_length': 3.225609756097561, 'pattern_counts': {'":': 4, '<': 13, '<?xml version=': 0, '>': 18, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '95945', 'license': 'MIT', 'n_tokens_mistral': 1138, 'n_tokens_neox': 1338, 'n_words': 204, 'path': 'python/Function2,Class1_04.ipynb', 'repo_name': 'Seoheesu1/TIL', 'size': '2078'}