이 블로그에서 시작하는 것은 Python 언어, 즉 클래스, 객체 및 기타 관련 지식의 언어입니다. Python은 원래 객체 지향 프로그래밍 언어입니다.
객체에 관해 말하자면, 클래스와 분리될 수 없습니다. 일반적으로 객체는 클래스를 통해 인스턴스화됩니다. 실제로 객체는 속성 + 메서드입니다. 클래스 정의부터 시작해 보겠습니다.
1. 클래스 정의
클래스 정의는 class
**클래스 클래스 이름이라는 키워드를 사용합니다(클래스 이름의 첫 글자는 일반적으로 대문자입니다). :
객체 속성
객체 메서드**
클래스를 정의한 후 객체를 인스턴스화할 수 있습니다. 객체를 인스턴스화하는 방법은 C++와 같은 언어와 동일합니다.
class Turtle:#类名约定以大写字母开头 #属性 color='green' weight=10 legs=4 shell=True mouth='大嘴' #方法 def climb(self): print("我正在很努力的向前爬...") def run(self): print("我正在飞快的向前跑...") def bite(self): print("咬死你要咬死你...") def eat(self): print("有得吃,真满足") def sleep(self): print("困了,睡了,晚安")#类的实例化tt=Turtle()#生成一个Turtle的实例化对象tt.climb()
2. 객체 지향 기능
(1) 캡슐화: 내부 구현의 세부 사항을 자동으로 숨기지만 만족하는 정보 은닉 기술입니다. 우리의 필요.
(2) 상속: 하위 클래스가 상위 클래스 간에 데이터와 메소드를 자동으로 공유하는 메커니즘
상속의 정의는 클래스 정의에 괄호 안의 것이 상속된 상위 클래스입니다. , 기본 종류라고도 합니다.
class Mylist(list): pass list2=Mylist()list2.append(5)print(list2)
(3) 다형성: 동일한 메소드에 대해 서로 다른 객체가 서로 다른 작업에 응답합니다
class A: def fun(self): print("我是小A......")class B: def fun(self): print("我是小B......") a=A() a.fun() b=B() b.fun()
3. self는 클래스 메소드의 매개변수인가요?
클래스 메소드의 매개변수는 일반적으로 첫 번째 매개변수로 작성됩니다. self의 함수는 C++ 포인터와 유사합니다.
class Ball: def setName(self,name): self.name=name def kick(self): print("我叫%s,该死的,谁踢我......"%self.name) a=Ball() a.setName("球A") b=Ball() b.setName('球B') c=Ball() c.setName('土豆') c.kick()
지금은 Python의 클래스에 관한 것입니다. 실제로 정의가 다르다는 점을 제외하면 객체 지향 C++ 및 Java와 동일합니다. 나중에 계속해서 추가하겠습니다.
위 내용은 Python 시작을 위한 13개 객체의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!