Từ khóa nào được sử dụng để chỉ ra sự bắt đầu của một phương thức trong lớp python?

Ngày nay, một lập trình viên chắc chắn sẽ bắt gặp lập trình hướng đối tượng (OOP) trong sự nghiệp của họ. Là một ngôn ngữ lập trình hiện đại, Python cung cấp tất cả các phương tiện để thực hiện triết lý hướng đối tượng. Phương thức

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 là cốt lõi của OOP và được yêu cầu để tạo các đối tượng


Trong bài viết này, chúng ta sẽ xem lại mô hình lập trình hướng đối tượng trước khi giải thích lý do và cách sử dụng phương thức

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2.  

Lập trình hướng đối tượng là gì?

Lập trình hướng đối tượng (OOP) là một mẫu lập trình bao gồm việc xác định các đối tượng và tương tác với chúng. Một đối tượng là một tập hợp các biến và hàm phức tạp và có thể được sử dụng để biểu diễn các thực thể thực như nút, máy bay hoặc người

Để khai báo, khởi tạo và thao tác với các đối tượng trong Python, chúng ta sử dụng các lớp. Chúng đóng vai trò là mẫu mà từ đó các đối tượng được tạo ra. Sơ đồ sau đây minh họa ý tưởng này

Từ khóa nào được sử dụng để chỉ ra sự bắt đầu của một phương thức trong lớp python?
Từ khóa nào được sử dụng để chỉ ra sự bắt đầu của một phương thức trong lớp python?

Chúng ta có thể thấy trong sơ đồ trên rằng lớp chó chứa các đặc điểm cụ thể của chó, chẳng hạn như giống và màu mắt, cũng như khả năng chạy và đi bộ. Hãy bắt đầu bằng cách định nghĩa một lớp trong Python

Lớp học là gì?

Một lớp định nghĩa và cấu trúc tất cả các đối tượng được tạo từ nó. Bạn có thể xem lớp như một nhà máy sản xuất đối tượng. Hãy lấy ví dụ về chó săn cáo—một giống chó. Từ quan điểm OOP, bạn có thể coi

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
4 là một lớp bao gồm các đặc điểm của một con chó như giống hoặc màu mắt của nó. Vì Fox Terrier là một con chó, chúng ta có thể tạo một đối tượng dog sẽ kế thừa các đặc điểm của lớp của nó. Các lớp sử dụng các phương thức và hàm tạo để tạo và định nghĩa các đối tượng

Phương pháp đặc biệt và do người dùng xác định

Phương thức là các chức năng trong một lớp được thiết kế để thực hiện một nhiệm vụ cụ thể. Python phân biệt giữa các phương thức do người dùng định nghĩa, được viết bởi lập trình viên và các phương thức đặc biệt được tích hợp sẵn trong ngôn ngữ. Phương thức do người dùng định nghĩa là một hàm do lập trình viên tạo ra để phục vụ một mục đích cụ thể. Chẳng hạn, một lớp

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
4 có thể có một phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
6 mà đối tượng con chó có thể sử dụng. Lập trình viên tạo phương thức này và yêu cầu nó thực hiện các hành động cụ thể

Các phương thức đặc biệt được xác định bằng dấu gạch dưới kép ở hai bên tên của chúng, chẳng hạn như

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2. Python sử dụng các phương thức đặc biệt để nâng cao chức năng của các lớp. Hầu hết chúng hoạt động ở chế độ nền và được gọi tự động khi chương trình cần. Bạn không thể gọi họ một cách rõ ràng. Chẳng hạn, khi bạn tạo một đối tượng mới, Python sẽ tự động gọi phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
8, phương thức này sẽ gọi phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2. Phương thức
...Tomita = Dog("Fox Terrier","brown")...
0 được gọi khi bạn
...Tomita = Dog("Fox Terrier","brown")...
1 một đối tượng. Mặt khác, các phương thức do người dùng định nghĩa, như
...Tomita = Dog("Fox Terrier","brown")...
2, được gọi rõ ràng

Người xây dựng

Hàm tạo là một phương thức đặc biệt mà chương trình gọi khi tạo đối tượng. Hàm tạo được sử dụng trong lớp để khởi tạo các thành viên dữ liệu cho đối tượng. Với ví dụ lớp

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
4 của chúng tôi, bạn có thể sử dụng hàm tạo để gán các đặc điểm của chó cho từng đối tượng
...Tomita = Dog("Fox Terrier","brown")...
4. Phương thức đặc biệt
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 là hàm tạo của Python

Với sự hiểu biết về lập trình hướng đối tượng và các lớp, bây giờ chúng ta hãy xem cách thức hoạt động của phương thức

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 trong chương trình Python

Tầm quan trọng của các đối tượng trong Python

Không phải lúc nào chúng ta cũng nhìn thấy nó khi viết chương trình, nhưng các đối tượng là trung tâm trong cách thức hoạt động của Python. Khi chúng ta khai báo một biến đơn giản trong Python, một đối tượng sẽ được tạo trong nền

Nếu chúng ta thực thi đoạn mã sau

breed = "Doberman"


Python sử dụng lớp str chứa các thuộc tính và phương thức, giống hệt như những gì bạn tạo trong mã của riêng mình, ngoại trừ tất cả đều diễn ra trong nền

Phương pháp __init__ hoạt động như thế nào?

Phương thức

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 tương đương với Python của hàm tạo C++ theo cách tiếp cận hướng đối tượng. Hàm
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2  được gọi mỗi khi một đối tượng được tạo từ một lớp. Phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 cho phép lớp khởi tạo các thuộc tính của đối tượng và không phục vụ mục đích nào khác. Nó chỉ được sử dụng trong các lớp học.  

Tạo một lớp học

Hãy bắt đầu bằng cách tạo một lớp

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...

Đầu tiên, chúng ta khai báo lớp Dog sử dụng từ khóa

...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)
0. Chúng tôi sử dụng từ khóa
...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)
1 để định nghĩa một hàm hoặc phương thức, chẳng hạn như phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2. Như bạn có thể thấy, phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 khởi tạo hai thuộc tính.
...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)
4 và
...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)
5.  

Bây giờ chúng ta sẽ xem cách truyền các tham số này khi khai báo một đối tượng. Đây là nơi chúng ta cần từ khóa self để liên kết các thuộc tính của đối tượng với các đối số nhận được

Tạo một đối tượng

Tiếp theo, chúng ta sẽ tạo một đối tượng hoặc thể hiện của lớp

...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)
6

________số 8_______

Khi chúng ta tạo đối tượng

...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)
7 (là tên của con chó), trước tiên chúng ta xác định lớp mà nó được tạo ra (Dog). Tiếp theo, chúng ta chuyển các đối số “Fox Terrier” và “brown”, tương ứng với các tham số tương ứng của phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 của lớp
...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)
6

Phương thức

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 sử dụng từ khóa
This dog is a Fox Terrier and its eyes are brown
1 để gán các giá trị được truyền dưới dạng đối số cho các thuộc tính đối tượng
This dog is a Fox Terrier and its eyes are brown
2 và
This dog is a Fox Terrier and its eyes are brown
3

Truy cập thuộc tính đối tượng

Để truy cập một thuộc tính của đối tượng Fox Terrier hoàn toàn mới của bạn, bạn có thể sử dụng dấu chấm (. ) để nhận giá trị bạn cần. Một tuyên bố in giúp chúng tôi chứng minh cách thức hoạt động của nó

...print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)

Thực thi đoạn mã trên cho chúng ta kết quả như sau

This dog is a Fox Terrier and its eyes are brown

Chương trình đã truy cập các thuộc tính

This dog is a Fox Terrier and its eyes are brown
4 và hiển thị chúng đúng cách

Trình tạo __init__ mặc định

Trong Python, hàm tạo không nhất thiết phải truyền tham số cho nó. Có thể có các tham số mặc định. Hàm tạo không có tham số bắt buộc được gọi là hàm tạo mặc định. Hãy viết lại lớp của chúng ta với một hàm tạo mặc định

class Dog:                

def __init__(self, dogBreed="German Shepherd",dogEyeColor="Brown"): 
 
    self.breed = dogBreed   
    self.eyeColor = dogEyeColor

Nếu người dùng không nhập bất kỳ giá trị nào, hàm tạo sẽ gán “German Shepherd” và “Brown” làm thuộc tính

Bây giờ chúng ta có thể tạo một thể hiện của Dog mà không cần chỉ định bất kỳ tham số nào.  

tomita = Dog()

Vì không có đối số để truyền, nên chúng tôi sử dụng dấu ngoặc đơn trống sau tên lớp. Chúng ta vẫn có thể hiển thị các thuộc tính của đối tượng

print("This dog is a",tomita.breed,"and its eyes are",tomita.eyeColor)

Điều này mang lại cho chúng tôi đầu ra sau

This dog is a German Shepherd and its eyes are Brown

Mã đơn giản này hoạt động hoàn hảo

Học cách viết mã với Udacity

Phương thức

class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 là tối quan trọng đối với lập trình hướng đối tượng của Python. Trong bài viết này, chúng tôi đã giải thích vai trò của phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 trong ngữ cảnh của OOP và định nghĩa lớp. Phương thức
class Dog:                   

def __init__(self,dogBreed,dogEyeColor):
 
    self.breed = dogBreed       
    self.eyeColor = dogEyeColor...
2 là một trong nhiều phương thức đặc biệt được tích hợp trong Python và các lập trình viên có thể sử dụng nó có hoặc không có tham số cho mỗi lớp mà họ tạo

Từ khóa nào được sử dụng để chỉ ra sự bắt đầu của một định nghĩa lớp?

Từ khóa lớp bắt đầu định nghĩa lớp cho lớp có tên name. Các biến và phương thức của lớp được bao bọc bởi các dấu ngoặc nhọn bắt đầu và kết thúc khối định nghĩa lớp.

Từ khóa nào được sử dụng để chỉ ra sự bắt đầu của một định nghĩa lớp Python?

Bản thân được dùng để biểu diễn thể hiện của lớp. Với từ khóa này, bạn có thể truy cập các thuộc tính và phương thức của lớp trong python.

Từ khóa Python bắt đầu một chức năng là gì?

Cú pháp cơ bản để xác định hàm trong Python . Điều tiếp theo bạn phải làm là đảm bảo rằng bạn thụt lề bằng một tab hoặc 4 dấu cách, sau đó chỉ định những gì bạn muốn chức năng thực hiện cho mình. def keyword, then write the function identifier (name) followed by parentheses and a colon. The next thing you have to do is make sure you indent with a tab or 4 spaces, and then specify what you want the function to do for you.

Phương thức __ init __ trong lớp Python là gì?

Phương thức __init__ là tương đương Python với hàm tạo C++ theo cách tiếp cận hướng đối tượng . Hàm __init__ được gọi mỗi khi một đối tượng được tạo từ một lớp. Phương thức __init__ cho phép lớp khởi tạo các thuộc tính của đối tượng và không phục vụ mục đích nào khác. Nó chỉ được sử dụng trong các lớp học.