Tôi đã ngồi suốt cả ngày và Im hơi mệt rồi nên xin lỗi vì ngắn gọn.Truyền các biến, tạo ra các cá thể, tự, Cơ học và cách sử dụng các lớp: cần giải thích
Im new to python.
Tôi vừa viết lại một chương trình làm việc, thành một loạt các chức năng trong một lớp và mọi thứ đã sai lệch. Tôi không biết nếu đó là tôi nhưng tôi rất ngạc nhiên tôi không thể tìm thấy một hướng dẫn cho người mới bắt đầu về cách xử lý các lớp học trên web vì vậy tôi có một vài câu hỏi.
Đầu tiên của tất cả, trong phần __init__
của lớp tôi đã khai báo một loạt các biến với self.variable=something
.
Tôi có thể truy cập/sửa đổi các biến này trong mọi chức năng của lớp bằng cách sử dụng self.variable
trong hàm đó không? Nói cách khác, bằng cách tuyên bố self.variable
Tôi đã thực hiện các biến này, các biến toàn cầu trong phạm vi của lớp phải không?
Nếu không, làm thế nào để tôi tự xử lý?
Thứ hai, làm cách nào để chuyển chính xác đối số cho lớp học? Một số mã ví dụ sẽ được mát mẻ.
Thứ ba, làm cách nào để gọi hàm của lớp bên ngoài phạm vi lớp học? Một số mã ví dụ sẽ được mát mẻ.
Fouthly, làm thế nào để tạo ra một Instance của class INITIALCLASS
trong class OTHERCLASS
khác, đi qua các biến từ OTHERCLASS
để INITIALCLASS
? Một số mã ví dụ sẽ được mát mẻ.
Tôi muốn gọi hàm từ OTHERCLASS
với các đối số từ INITIALCLASS
. Những gì tôi đã làm cho đến nay là.
class OTHERCLASS():
def __init__(self,variable1,variable2,variable3):
self.variable1=variable1
self.variable2=variable2
self.variable3=variable3
def someotherfunction(self):
something=somecode(using self.variable3)
self.variable2.append(something)
print self.variable2
def somemorefunctions(self):
self.variable2.append(variable1)
class INITIALCLASS():
def __init__(self):
self.variable1=value1
self.variable2=[]
self.variable3=''
self.DoIt=OTHERCLASS(variable1,variable2,variable3)
def somefunction(self):
variable3=Somecode
#tried this
self.DoIt.someotherfunctions()
#and this
DoIt.someotherfunctions()
Tôi rõ ràng không hiểu cách chuyển biến cho lớp hoặc cách xử lý self
, khi nào cần sử dụng và khi nào không. Tôi có lẽ cũng không hiểu làm thế nào để đúng cách tạo ra một thể hiện của một lớp học. Nói chung tôi không hiểu cơ chế của lớp học, vì vậy hãy giúp tôi và giải thích cho tôi như tôi không có ý tưởng (mà tôi không, có vẻ như). Hoặc chỉ cho tôi một video toàn diện hoặc hướng dẫn có thể đọc được.
Tất cả những gì tôi tìm thấy trên web là các ví dụ siêu đơn giản, điều đó không giúp ích gì cho tôi nhiều. Hoặc chỉ các định nghĩa rất ngắn về các lớp và các phương thức lớp học, v.v.
Tôi có thể gửi cho bạn mã gốc nếu bạn muốn, nhưng nó khá dài.
Đọc hướng dẫn Python [phần trên lớp] (http://docs.python.org/tutorial/classes.html). – BrenBarn
Vui lòng tìm hiểu về các tùy chọn định dạng tại đây, đặc biệt là đối với mã. – Marcin
Tôi không có nghĩa là để được bảo trợ, nhưng câu trả lời meta ở đây là bạn cần phải làm chậm một chút và tìm ra chính xác nơi mã của bạn đang lệch khỏi mong đợi của bạn. Hãy thử thực hiện các thay đổi nhỏ từ mã làm việc của bạn và kiểm tra từng thay đổi cho đến khi có sự cố nào đó xảy ra. Tái cấu trúc, họ gọi nó. Ngoài ra, không đánh bại chính mình, nó chỉ là mã - nó không bao giờ có ý nghĩa cho đến khi nó. – Ben