전역변수
함수 밖에서 정의한 변수
ex) a =10
지역 변수
함수 내에서 정의된 변수
함수가 호출되는 순간에만 존재한다.
ex) def test():
b= 20 (지역 변수)
print(b)
함수 실행시 위 내용은 정의만 했을 뿐 실행하지 않음
test() 를 실행해야함(들여쓰기 확인!)
class란?
1.class
- 객체를 만들어 내기 위한 틀!
2.객체(object)
- 구현할 대상
- class의 instance 라고도 부른다.
3.인스턴스(instance)
- 구현된 실체
- 객체는 클래스의 인스턴스다. 쉽게 생각하면 인스턴스는 만들어진 복제본이라고 생각하면 된다.
class 정의
class test:
pass
자료형을 꾸미기 라고 생각하면 편하다. class는 위와 같이 정의하면 된다.
instance 생성
클래스를 이용해 인스턴스를 만들어주면 된다.
instan = test()
class 이름에 괄호를 추가하여 인스턴스를 만들고 변수에(instan) 할당하는 방식이다.
객체
객체 인스턴스의 type을 확인하면 class 타입을 정해둔 test 의 클래스를 의미한다.
print(type(instan)) 을 출력한 type
클래스의 변수
정의나 이론을 따지면 점점 더 사용하기 힘들테니깐 간단한 예시를 사용해서 이해가 된다면 나중에 이론과 정의를 보는게 좋을거 같다.!
class 안에 code라는 변수를 정의 했다. 여기서 내가 다른 인스턴스로 호출을 하면 help라는 내용이 바뀔까?
정답은 안바뀐다 . code 라는 변수는 언제나 똑같다고 이해하자.
methods
- 메서드는 클래스 안에서!!!!! 정의된 함수
- 메서드는 대체로 첫 번째 인수를 항상 self로 지정해야된다는데 바꿔도 상관없지만 일단 그렇다고 생각하자.
- 일단 메서드도 마찬가지로 이론을 알기보단 어떻게 쓰이는지 파악하고 이론을 보면 금방익힌다.
일단 봐야할 부분은 메서드를 만든 부분보단 실행을 어떻게 했는지 중요하다.
아까전엔 hello = test() 이런식의 인스턴스를 실행을 했다. 근데 메서드는 어떻게 사용할것인가?
분명 헷갈릴거라고 생각하기에 hello.helloworld() 부분을 생각하면 좋을거 같다.
생성자
클래스 호출할 때 자동으로 함수를 실행,호출 할 때 사용
메서드의 이름으로 주로 __init__ 사용
밑에 예시
init () 안에 인자를 보면 이름 나이 성별 이렇게 추가가 됐다. 그냥 변수로 사용해도 되지만 왜 하는지 도무지 이해가 안 갈때도 있지만. 사용하는 이유는 편리하기 때문이다.
위 내용을 간략하게 설명하면 인스턴스 만들때 이름을 넣어주기 때문에 각 인스턴스의 이름에서 그 이름들을 가지고 올 수 있게된다. 밑에 예시를 보면 이해가 빠르다.
메서드를 추가해서 각각의 인스터스를 사용해서 이름을 나이를 성별을 self.이름 이라고 사용하면 그값이 출력이된다.
그러면 변수로 name = Human("이땡땡")
'기초다지기 > 기초 python' 카테고리의 다른 글
2023- 04 - 21 python 알고리즘 (0) | 2023.04.21 |
---|---|
2023-04-17 python list (0) | 2023.04.18 |
댓글