Tìm hiểu cách xác định một lớp trong Python và những gì nó có thể bao gồm.

Bạn đang xem : cách xác định một lớp trong python

Lớp Python

Python là một ngôn ngữ hoàn toàn hướng đối tượng.
Bạn đã làm việc với các lớp và đối tượng ngay từ phần đầu của các bài hướng dẫn này.
Mọi phần tử trong chương trình Python là một đối tượng của một lớp. Một số, chuỗi, danh sách, từ điển, v.v., được sử dụng trong một chương trình là một đối tượng của một lớp dựng sẵn tương ứng.
Bạn có thể truy xuất tên lớp của các biến hoặc đối tượng bằng phương thức type () , như được hiển thị bên dưới.

Ví dụ: Các lớp tích hợp sẵn trong Python

  & gt; & gt; & gt; num = 20
& gt; & gt; & gt; gõ (num)
& lt; lớp 'int' & gt;
& gt; & gt; & gt; s = "Python"
& gt; & gt; & gt; (các) loại
& lt; lớp 'str' & gt;
 

Xác định một lớp

Một lớp trong Python có thể được định nghĩa bằng từ khóa class .

  class & lt; ClassName & gt ;:
    & lt; statement1 & gt;
    & lt; statement2 & gt;
    .
    .
    & lt; statementN & gt;
 

Theo cú pháp ở trên, một lớp được định nghĩa bằng từ khóa class theo sau là tên lớp và toán tử : sau tên lớp, điều này cho phép bạn tiếp tục dòng thụt lề tiếp theo để xác định các thành viên của lớp.
Những người sau là thành viên trong lớp.

Một lớp cũng có thể được định nghĩa mà không có bất kỳ thành viên nào. Ví dụ sau định nghĩa một lớp trống bằng cách sử dụng từ khóa pass .

Ví dụ: Xác định lớp Python

  class Sinh viên:
    đi qua
 

Khởi tạo lớp sử dụng ký hiệu chức năng. Để tạo một đối tượng của lớp, chỉ cần gọi một lớp như một hàm không tham số trả về một đối tượng mới của lớp, như hình dưới đây.

Ví dụ: Tạo đối tượng của một lớp

  std = Student ()
 

Ở trên, Student () trả về một đối tượng của lớp Student , được gán cho một biến std .
Lớp Student là một lớp trống vì nó không chứa bất kỳ thành viên nào.

Thuộc tính Lớp

Thuộc tính lớp là các biến được định nghĩa trực tiếp trong lớp được chia sẻ bởi tất cả các đối tượng của lớp.
Các thuộc tính của lớp có thể được truy cập bằng cách sử dụng tên lớp cũng như sử dụng các đối tượng.

Ví dụ: Xác định lớp Python

  class Sinh viên:
    schoolName = 'Trường XYZ'
 

Ở trên, schoolName là một thuộc tính lớp được định nghĩa bên trong một lớp. Giá trị của schoolName sẽ không đổi cho tất cả các đối tượng trừ khi được sửa đổi một cách rõ ràng.

Ví dụ: Xác định Lớp Python

  & gt; & gt; & gt; Student.schoolName
'Trường XYZ'
& gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.schoolName
'Trường XYZ'
 

Như bạn có thể thấy, thuộc tính lớp được truy cập bởi Student.schoolName cũng như std.schoolName .
Thay đổi giá trị của thuộc tính lớp bằng cách sử dụng tên lớp sẽ thay đổi nó trên tất cả các trường hợp. Tuy nhiên, việc thay đổi giá trị thuộc tính lớp bằng cách sử dụng cá thể sẽ không phản ánh với các phiên bản hoặc lớp khác.

Ví dụ: Xác định Lớp Python

  & gt; & gt; & gt; Student.schoolName = 'ABC School' # thay đổi giá trị thuộc tính bằng cách sử dụng tên lớp
& gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.schoolName
Giá trị 'ABC School' # đã thay đổi cho tất cả các trường hợp
& gt; & gt; & gt; std.schoolName = 'My School' # thay đổi thuộc tính của phiên bản
& gt; & gt; & gt; std.schoolName
'Trường của tôi'
& gt; & gt; & gt; Student.schoolName # thay đổi cấp độ phiên bản không phản ánh đối với thuộc tính lớp
'Trường ABC'
& gt; & gt; & gt; std2 = Sinh viên ()
& gt; & gt; & gt; std2.schoolName
'Trường ABC'
 

Ví dụ sau minh họa việc sử dụng thuộc tính lớp count .

Ví dụ: Student.py

  class Sinh viên:
    đếm = 0
    def __init __ (bản thân):
        Student.count + = 1
 

Trong ví dụ trên, số lượng là một thuộc tính trong lớp Sinh viên.
Bất cứ khi nào một đối tượng mới được tạo, giá trị của count sẽ được tăng thêm 1.
Bây giờ bạn có thể truy cập thuộc tính count sau khi tạo các đối tượng, như được hiển thị bên dưới.

Xem Thêm  Priority Queues - thuật toán binary insertion sort

Ví dụ:

  & gt; & gt; & gt; std1 = Sinh viên ()
& gt; & gt; & gt; Student.count
1
& gt; & gt; & gt; std2 = Sinh viên ()
& gt; & gt; & gt; Student.count
2
 

Hàm tạo

Trong Python, phương thức khởi tạo được gọi tự động bất cứ khi nào một đối tượng mới của một lớp được khởi tạo, giống như các hàm tạo trong C # hoặc Java.
Hàm tạo phải có tên đặc biệt __init __ () và một tham số đặc biệt được gọi là self .

Lưu ý:

Tham số đầu tiên của mỗi phương thức trong một lớp phải là self , tham chiếu đến đối tượng đang gọi.
Tuy nhiên, bạn có thể đặt bất kỳ tên nào cho tham số đầu tiên, không nhất thiết phải là self .

Ví dụ sau định nghĩa một phương thức khởi tạo.

Ví dụ: Constructor

  class Sinh viên:
    def __init __ (self): 

# phương thức khởi tạo

print (

'Hàm tạo được gọi ra'

)

Bây giờ, bất cứ khi nào bạn tạo một đối tượng của lớp Student , phương thức khởi tạo __init __ () sẽ được gọi, như được hiển thị bên dưới.

Ví dụ: Lệnh gọi hàm tạo khi tạo đối tượng

  & gt; & gt; & gt; s1 = Student ()
Hàm tạo được gọi
& gt; & gt; & gt; s2 = Sinh viên ()
Hàm tạo được gọi
 

Hàm tạo trong Python được sử dụng để xác định các thuộc tính của một cá thể và gán giá trị cho chúng.

Thuộc tính phiên bản

Thuộc tính instance là các thuộc tính hoặc thuộc tính được gắn vào một thể hiện của một lớp. Các thuộc tính cá thể được định nghĩa trong phương thức khởi tạo.

Ví dụ sau xác định các thuộc tính cá thể name age trong hàm tạo.

Ví dụ: Thuộc tính đối tượng

  class Sinh viên:
    schoolName = 'XYZ School' # thuộc tính lớp

    def __init __ (self): # constructor
        self.name = '' # thuộc tính phiên bản
        self.age = 0 # thuộc tính instance
 

Một thuộc tính phiên bản có thể được truy cập bằng cách sử dụng ký hiệu dấu chấm: [tên phiên bản]. [Tên thuộc tính] , như được hiển thị bên dưới.

Ví dụ:

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name
''
& gt; & gt; & gt; std.age
0
 

Bạn có thể đặt giá trị của các thuộc tính bằng cách sử dụng ký hiệu dấu chấm, như hình dưới đây.

Ví dụ:

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name = "Bill" # gán giá trị cho thuộc tính instance
& gt; & gt; & gt; std.age = 25 # gán giá trị cho thuộc tính instance
& gt; & gt; & gt; std.name # truy cập giá trị thuộc tính phiên bản
Hóa đơn
& gt; & gt; & gt; std.age # truy cập giá trị vào thuộc tính phiên bản
25
 

Bạn có thể chỉ định giá trị của các thuộc tính cá thể thông qua hàm tạo.
Hàm tạo sau bao gồm các tham số tên và tuổi, ngoại trừ tham số self .

Ví dụ: Đặt Giá trị Thuộc tính

  class Sinh viên:
    def __init __ (tự, tên, tuổi):
        self.name = tên
        self.age = tuổi
 

Bây giờ, bạn có thể chỉ định các giá trị trong khi tạo một thể hiện, như được hiển thị bên dưới.

Ví dụ: Truyền Giá trị Thuộc tính Phiên bản trong Khối mã lệnh

  & gt; & gt; & gt; std = Student ('Bill', 25 tuổi)
& gt; & gt; & gt; std.name
'Hóa đơn'
& gt; & gt; & gt; std.age
25
 

Lưu ý:

Bạn không phải chỉ định giá trị của tham số self . Nó sẽ được chỉ định nội bộ bằng Python.

Bạn cũng có thể đặt các giá trị mặc định cho các thuộc tính phiên bản. Đoạn mã sau đặt các giá trị mặc định của các tham số phương thức khởi tạo.
Vì vậy, nếu các giá trị không được cung cấp khi tạo một đối tượng, các giá trị sẽ được gán sau đó.

Xem Thêm  SUBSTR và INSTR SQL Oracle - hướng dẫn và phụ trong sql

Ví dụ: Đặt Giá trị Mặc định của Thuộc tính

  class Sinh viên:
    def __init __ (bản thân, tên = 

"Khách"

, tuổi = 25) self.name = tên self.age = tuổi

Bây giờ, bạn có thể tạo một đối tượng với các giá trị mặc định, như hình dưới đây.

Ví dụ: Giá trị mặc định của thuộc tính đối tượng

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name
'Khách mời'
& gt; & gt; & gt; std.age
25
 

Hãy truy cập thuộc tính lớp so với thuộc tính phiên bản trong Python để biết thêm thông tin.

Thuộc tính lớp

Trong Python, một thuộc tính trong lớp có thể được xác định bằng cách sử dụng hàm property () .

Phương thức property () trong Python cung cấp một giao diện cho các thuộc tính cá thể.
Nó đóng gói các thuộc tính cá thể và cung cấp một thuộc tính, giống như Java và C #.

Phương thức property () nhận các phương thức get, set và delete làm đối số và trả về một đối tượng của lớp property .

Ví dụ sau minh họa cách tạo một thuộc tính trong Python bằng cách sử dụng hàm property () .

Ví dụ: property ()

  class Sinh viên:
    def __init __ (bản thân):
        bản thân .__ name = ''
    def setname (tự, tên):
        print ('setname () được gọi là')
        bản thân .__ name = tên
    def getname (self):
        print ('getname () được gọi là')
        

trả về

tên tự .__ name = property (getname, setname)

Trong ví dụ trên, thuộc tính (getname, setname) trả về đối tượng thuộc tính và gán nó cho name .
Do đó, thuộc tính name ẩn thuộc tính cá thể riêng __name .
Thuộc tính name được truy cập trực tiếp, nhưng bên trong nó sẽ gọi phương thức getname () hoặc setname () , như được hiển thị bên dưới.

Ví dụ: property ()

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name = "Steve"
setname () được gọi là
& gt; & gt; & gt; std.name
getname () được gọi là
'Steve'
 

Bạn nên sử dụng property decorator thay vì phương thức property () .

Phương thức Lớp

Bạn có thể xác định bao nhiêu phương thức tùy thích trong một lớp bằng cách sử dụng từ khóa def .
Mỗi phương thức phải có tham số đầu tiên, thường được đặt tên là self , tham chiếu đến phiên bản đang gọi.

Ví dụ: Phương pháp lớp

  class Sinh viên:
    def displayInfo (self): # phương thức lớp
        print ('Thông tin Sinh viên')
 

Self chỉ là một tên quy ước cho đối số đầu tiên của một phương thức trong lớp.
Phương thức được định nghĩa là mymethod (self, a, b) nên được gọi là x.mymethod (a, b) cho đối tượng x of lớp.

Phương thức lớp ở trên có thể được gọi như một hàm bình thường, như được hiển thị bên dưới.

Ví dụ: Phương pháp lớp

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.displayInfo ()
'Thông tin học sinh'
 

Tham số đầu tiên của phương thức không cần được đặt tên là self . Bạn có thể đặt bất kỳ tên nào tham chiếu đến phiên bản của phương thức gọi.
Phương thức displayInfo () sau đặt tên cho tham số đầu tiên là obj thay vì self và hoạt động hoàn toàn tốt.

Ví dụ: Phương pháp lớp

  class Sinh viên:
    def displayInfo (obj): # class method
        print ('Thông tin Sinh viên')
 

Việc xác định một phương thức trong lớp mà không có tham số self sẽ tạo ra một ngoại lệ khi gọi một phương thức.

Ví dụ: Phương pháp lớp

  class Sinh viên:
    def displayInfo (): # phương thức không có tham số self
        print ('Thông tin Sinh viên')
 
  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.displayInfo () 

Traceback (cuộc gọi gần đây nhất cuối cùng): std.displayInfo () TypeError: displayInfo () nhận 0 đối số vị trí nhưng 1 đối số được đưa ra

Phương thức có thể truy cập các thuộc tính cá thể bằng cách sử dụng tham số self .

Ví dụ: Phương pháp lớp

 class Sinh viên:
    def __init __ (tự, tên, tuổi):
        self.name = tên
        self.age = tuổi
    def displayInfo (self): # phương thức lớp
        print ('Tên sinh viên:', self.name, ', Tuổi:', self.age)
 

Bây giờ bạn có thể gọi phương thức, như được hiển thị bên dưới.

Xem Thêm  Bootstrap là gì? Hướng dẫn chuyên sâu về Khung - bootstrap làm gì

Ví dụ: Gọi một phương thức

  & gt; & gt; & gt; std = Student ('Steve', 25 tuổi)
& gt; & gt; & gt; std.displayInfo ()
Tên sinh viên: Steve, Tuổi: 25
 

Xóa thuộc tính, đối tượng, lớp

Bạn có thể xóa các thuộc tính, đối tượng hoặc chính lớp đó bằng cách sử dụng từ khóa del , như được hiển thị bên dưới.

Ví dụ: Xóa thuộc tính, đối tượng, lớp

  & gt; & gt; & gt; std = Student ('Steve', 25 tuổi)
& gt; & gt; & gt; del std.name # xóa thuộc tính
& gt; & gt; & gt; std.name
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "& lt; pyshell # 42 & gt;", dòng 1, trong & lt; mô-đun & gt;
std.name
AttributeError: Đối tượng 'Student' không có thuộc tính 'name'
& gt; & gt; & gt; del std # xóa đối tượng
& gt; & gt; & gt; std.name
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "& lt; pyshell # 42 & gt;", dòng 1, trong & lt; mô-đun & gt;
std.name
NameError: tên 'std' không được xác định
& gt; & gt; & gt; xóa học sinh # xóa lớp học
& gt; & gt; & gt; std = Student ('Steve', 25 tuổi)
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "& lt; pyshell # 42 & gt;", dòng 1, trong & lt; mô-đun & gt;
std = Sinh viên ()
NameError: tên 'Sinh viên' không được xác định
 


Xem thêm những thông tin liên quan đến chủ đề cách xác định một lớp trong python

How to: Plot a Function in Python

  • Tác giả: HagesLab
  • Ngày đăng: 2021-02-04
  • Đánh giá: 4 ⭐ ( 5621 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Learn how to define a function and plot it in Python.

    Script can be found here: https://www.hageslab.com/python.html​

    Here we are using “Spyder” IDE with the numpy and matplotlib libraries

    Useful resources:
    https://matplotlib.org/tutorials/text/mathtext.html
    https://matplotlib.org/
    https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.plot.htmlmatplotlib.pyplot.plot

    Script:

    import numpy as np
    import matplotlib.pyplot as plt

    def f(x,a,b,c):
    return a*x**2+b*x+c

    xlist = np.linspace(-10,10,num=1000)
    xlist = np.arange(-10,10.1,.1)

    a=5
    b=1
    c=4
    ylist = f(xlist,a,b,c)

    plt.figure(num=0,dpi=120)
    plt.plot(xlist,ylist,label=”f(x)”)
    plt.plot(xlist,ylist**(1/2),’–g’,label=r”f(x)$^{0.5}$”)
    plt.title(“Plotting Example”)
    plt.xlabel(“Distance / ft”)
    plt.ylabel(“Height / ft”)
    plt.legend()

Làm cách nào để thiết kế một lớp trong Python?

  • Tác giả: qastack.vn
  • Đánh giá: 4 ⭐ ( 3477 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Cách thiết kế một lớp học. Viết những từ ngữ xuống. Bạn bắt đầu làm điều…

Lớp trong Python

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 2455 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hôm ni, mình học tiếp về bạn “Lớp(class) trong python”, bài blog tiếp theo nằm trong series “Khám phá Đại Bản Doanh Python”(nội dung trong bài series này từ chủ yếu mình lấy từ python.org rồi viết lại…

Chi tiết bài học 13.Python OOP

  • Tác giả: vimentor.com
  • Đánh giá: 5 ⭐ ( 1823 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vimentor chi tiết bài học Python OOP: Lớp, Đối tượng, thừa kế và hàm khởi tạo với ví dụ

Python: Các hàm toán học trong Python

  • Tác giả: www.v1study.com
  • Đánh giá: 3 ⭐ ( 6944 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong Python, một số phép toán toán học có thể được thực hiện một cách dễ dàng bằng cách import một mô-đun có tên là math để xác định các hàm khác nhau g

LỚP VÀ ĐỐI TƯỢNG TRONG PYTHON –

  • Tác giả: vnpro.vn
  • Đánh giá: 5 ⭐ ( 7710 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lớp và đối tượng trong Python

  • Tác giả: yeulaptrinh.vn
  • Đánh giá: 5 ⭐ ( 5591 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lớp và đối tượng là hai khía cạnh chính trong lập trình hướng đối tượng. Một lớp là một khuôn mẫu mà từ đó các đối tượng riêng lẻ được tạo ra.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php