Bản thân không được xác định Python

Trong tên pythonError. tên 'Tự' không được xác định. Ý bạn là. 'bản thân'?

Tôi đang cố gắng thêm một cửa sổ cuộn dữ liệu để kết nối chỉ báo tùy chỉnh của mình với nhưng tôi vẫn nhận được lỗi sau trên dòng đầu tiên của mã của riêng mình và không thể tìm ra nơi tôi đã tự khởi tạo sai.

thuật toán. Khởi tạo [] Lỗi. Trong quá trình khởi tạo thuật toán, ngoại lệ sau đã xảy ra. bộ nạp. TryCreatePythonAlgorithm[]. Không thể nhập mô-đun python. / bộ đệm/thuật toán/chính. pyc. Thuật toánPythonWrapper[]. TênLỗi. tên 'bản thân' không được xác định
tại chính. py. dòng 54
thấp = bản thân. quoteBarWindow[\'Thấp\']
TênLỗi. tên 'bản thân' không được xác định theo dõi ngăn xếp. QuantConnect. Tinh gọn. Động cơ. Cài đặt. Thuật toánSetupException. Trong quá trình khởi tạo thuật toán, ngoại lệ sau đã xảy ra. bộ nạp. TryCreatePythonAlgorithm[]. Không thể nhập mô-đun python. / bộ đệm/thuật toán/chính. pyc. Thuật toánPythonWrapper[]. TênLỗi. tên 'bản thân' không được xác định
tại chính. py. dòng 54
thấp = bản thân. quoteBarWindow[\'Thấp\']
TênLỗi. tên 'bản thân' không được xác định
tại QuantConnect. Tinh gọn. Động cơ. Cài đặt. BacktestingSetupHandler. CreateAlgorithmInstance [QuantConnect. gói tin. Thuật toánNodePacket thuật toánNodePacket, Hệ thống. Chuỗi assemblyPath] [0x0009c] trong. 0
tại QuantConnect. Tinh gọn. Động cơ. Động cơ. Chạy [QuantConnect. gói tin. Công việc AlgorithmNodePacket, QuantConnect. Tinh gọn. Động cơ. Trình quản lý AlgorithmManager, Hệ thống. Đường dẫn lắp ráp chuỗi, QuantConnect. sử dụng. workerThread workerThread] [0x000f8] trong. 0

Đây là mã của tôi cho đến thời điểm đó

from Execution.ImmediateExecutionModel import ImmediateExecutionModel
from statistics import stdev, mean
import matplotlib
# ___library_import_statements___
import pandas as pd
# for pandas_datareader, otherwise it might have issues, sometimes there is some version mismatch
pd.core.common.is_list_like = pd.api.types.is_list_like
import numpy as np
import matplotlib.pyplot as plt
import datetime
import time
from clr import AddReference
AddReference["System"]
AddReference["QuantConnect.Common"]
AddReference["QuantConnect.Jupyter"]
AddReference["QuantConnect.Indicators"]
from System import *
from QuantConnect import *
from QuantConnect.Data.Custom import *
from QuantConnect.Data.Market import TradeBar, QuoteBar
from QuantConnect.Jupyter import *
from QuantConnect.Indicators import *
from datetime import datetime, timedelta
import matplotlib.pyplot as plt
import pandas as pd
matplotlib

class RollingWindowAlgorithm[QCAlgorithm]:

def Initialize[self]:

self.SetStartDate[2000, 10, 1] # Set Start Date
self.SetCash[100000] # Set Strategy Cash
self.AddEquity["CENX", Resolution.Daily]
self.SetExecution[ImmediateExecutionModel[]]
self.quoteBarWindow = RollingWindow[QuoteBar][270]

________số 8_______

# Add SPY TradeBar in rollling window
self.window.Add[data["SPY"]]

# Wait for windows to be ready.
if not [self.window.IsReady and self.smaWin.IsReady]: return

currBar = self.window[0] # Current bar had index zero.
pastBar = self.window[1] # Past bar has index one.
self.Log["Price: {0} -> {1} .. {2} -> {3}".format[pastBar.Time, pastBar.Close, currBar.Time, currBar.Close]]

low = self.quoteBarWindow['Low']
# use numerical integer index instead of date
df = self.quoteBarWindow['Time']

Bất kỳ ý tưởng?

người thay thế
Lập trình viên tên Tim

Bài viết. 8

Chủ đề. 1

Đã tham gia. Tháng 5 năm 2022

Danh tiếng. 0

May-18-2022, 02. 31 PM [Bài đăng này đã được sửa đổi lần cuối. May-19-2022, 08. 16 giờ sáng bởi Larz60+. ]

Chào các cậu,
tôi là người mới sử dụng Python. Tôi gặp sự cố với vấn đề OOP. Đây là mã của tôi

class Solution:
  def __init__[self]:  
      self.head = None

    def addTwoNumbers[self, lista1, lista2]:
        carry = 0 
        Current1 = lista1.head
        Current2 = lista2.head
        ResultCurrent = self.head
        while [Current1.next != None and Current2.next != None ]:
            if [Current1.data]+[Current2.data] > 10:
                datanew = Current1.data + Current2.data - 10 + carry
                carry = 1 
                ResultCurrent.insert[datanew]
            else:
                datanew = Current1.data + Current2.data + carry
                ResultCurrent.insert[datanew]
                carry = 0 
            Current1 = Current1.next
            Current2 = Current2.next     
            ResultCurrent = ResultCurrent.next 
Theo dõi chính
def main[]:
    LL1 = LinkedList[]
    LL1.insert[3]
    LL1.insert[4]
    LL1.insert[5]
    LL1.printLL[]

    LL2 = LinkedList[]
    LL2.insert[6]
    LL2.insert[7]
    LL2.insert[8]
    LL2.printLL[]

    result = Solution[]
    result.addTwoNumbers[self, LL1, LL2]
    result.printListLinked[]
Khi tôi cố chạy mã này, tôi gặp lỗi liên quan đến đối số đầu tiên của phương thức của lớp Solution addTwoNumbers

Cảm ơn cộng đồng đã giúp đỡ

Walter

Larz60+ viết ngày 19 tháng 5 năm 2022, 08. 16 giờ sáng.
Vui lòng đăng tất cả mã, đầu ra và lỗi [toàn bộ] giữa các thẻ tương ứng của chúng. Tham khảo chủ đề trợ giúp của BBCode về cách gửi bài. Sử dụng nút "Xem trước bài đăng" để đảm bảo mã được trình bày như bạn mong đợi trước khi nhấn nút "Đăng bài trả lời/Chủ đề"
Đã sửa lỗi cho bạn lần này. Vui lòng sử dụng thẻ BBCode cho các bài đăng trong tương lai

Hồi đáp

Tìm thấy

Hồi đáp

người thay thế
Lập trình viên tên Tim

Bài viết. 8

Chủ đề. 1

Đã tham gia. Tháng 5 năm 2022

Danh tiếng. 0

May-18-2022, 02. 38 PM [Bài đăng này đã được sửa đổi lần cuối. May-19-2022, 08. 18 giờ sáng bởi Larz60+. ]

[18-05-2022, 02. 31 giờ chiều] walter Đã viết. Chào các bạn,
tôi là người mới sử dụng Python. Tôi gặp sự cố với vấn đề OOP. Đây là mã của tôi

giải pháp lớp học
def __init__[bản thân]
bản thân. đầu = Không có

def addTwoNumbers[self, lista1, lista2]
mang = 0
Hiện tại1 = lista1. đầu
Hiện tại2 = lista2. đầu
Kết quảCản = tự. đầu
trong khi [Hiện tại1. tiếp theo. = Không có và Hiện tại2. tiếp theo. = Không có ]
nếu [Hiện tại1. dữ liệu]+[Hiện tại2. dữ liệu] > 10
datanew = Hiện tại1. dữ liệu + Hiện tại2. dữ liệu - 10 + mang theo
mang = 1
Kết quảHiện tại. chèn [dữ liệu mới]
khác
datanew = Hiện tại1. dữ liệu + Hiện tại2. dữ liệu + mang theo
Kết quảHiện tại. chèn [dữ liệu mới]
mang = 0
Hiện tại1 = Hiện tại1. tiếp theo
Hiện tại2 = Hiện tại2. tiếp theo
Kết quả hiện tại = Kết quả hiện tại. tiếp theo

Theo dõi chính
chắc chắn chính[]
LL1 = Danh sách liên kết[]
LL1. chèn[3]
LL1. chèn[4]
LL1. chèn[5]
LL1. inLL[]

LL2 = Danh sách liên kết[]
LL2. chèn[6]
LL2. chèn[7]
LL2. chèn[8]
LL2. inLL[]

kết quả = Giải pháp[]
kết quả. addTwoNumbers[bản thân, LL1, LL2]
kết quả. printListLinked[]

Khi tôi cố chạy mã này, tôi gặp lỗi liên quan đến đối số đầu tiên của phương thức của lớp Giải pháp thêm hai số

Cảm ơn cộng đồng đã giúp đỡ

Walter

Larz60+ viết ngày 19 tháng 5 năm 2022, 08. 18 giờ sáng.
Vui lòng đăng tất cả mã, đầu ra và lỗi [toàn bộ] giữa các thẻ tương ứng của chúng. Tham khảo chủ đề trợ giúp của BBCode về cách gửi bài. Sử dụng nút "Xem trước bài đăng" để đảm bảo mã được trình bày như bạn mong đợi trước khi nhấn nút "Đăng bài trả lời/Chủ đề"

Nhiều người sẽ không mở tệp đính kèm và mã trong dấu ngoặc kép rất xấu


File đính kèm


Mã Python. txt [Kích thước. 1. 98 KB / Tải xuống. 1]

Hồi đáp

Tìm thấy

Hồi đáp

người thay thế
Lập trình viên tên Tim

Bài viết. 8

Chủ đề. 1

Đã tham gia. Tháng 5 năm 2022

Danh tiếng. 0

May-18-2022, 02. 38 giờ chiều

[18-05-2022, 02. 31 giờ chiều] walter Đã viết. Chào các bạn,
tôi là người mới sử dụng Python. Tôi gặp sự cố với vấn đề OOP. Đây là mã của tôi

giải pháp lớp học
def __init__[bản thân]
bản thân. đầu = Không có

def addTwoNumbers[self, lista1, lista2]
mang = 0
Hiện tại1 = lista1. đầu
Hiện tại2 = lista2. đầu
Kết quảCản = tự. đầu
trong khi [Hiện tại1. tiếp theo. = Không có và Hiện tại2. tiếp theo. = Không có ]
nếu [Hiện tại1. dữ liệu]+[Hiện tại2. dữ liệu] > 10
datanew = Hiện tại1. dữ liệu + Hiện tại2. dữ liệu - 10 + mang theo
mang = 1
Kết quảHiện tại. chèn [dữ liệu mới]
khác
datanew = Hiện tại1. dữ liệu + Hiện tại2. dữ liệu + mang theo
Kết quảHiện tại. chèn [dữ liệu mới]
mang = 0
Hiện tại1 = Hiện tại1. tiếp theo
Hiện tại2 = Hiện tại2. tiếp theo
Kết quả hiện tại = Kết quả hiện tại. tiếp theo

Theo dõi chính
chắc chắn chính[]
LL1 = Danh sách liên kết[]
LL1. chèn[3]
LL1. chèn[4]
LL1. chèn[5]
LL1. inLL[]

LL2 = Danh sách liên kết[]
LL2. chèn[6]
LL2. chèn[7]
LL2. chèn[8]
LL2. inLL[]

kết quả = Giải pháp[]
kết quả. addTwoNumbers[bản thân, LL1, LL2]
kết quả. printListLinked[]

Khi tôi cố chạy mã này, tôi gặp lỗi liên quan đến đối số đầu tiên của phương thức của lớp Giải pháp thêm hai số

Cảm ơn cộng đồng đã giúp đỡ

Walter

Hồi đáp

Tìm thấy

Hồi đáp

Axel_Erfurt
bàn chân khổng lồ

Bài đăng. 893

Chủ đề. 15

Đã tham gia. Tháng 12 năm 2016

Danh tiếng. 41

May-18-2022, 03. 53 PM [Bài đăng này đã được sửa đổi lần cuối. May-18-2022, 03. 53 giờ chiều bởi Axel_Erfurt. ]

Vui lòng sử dụng nút chèn python để chèn mã của bạn.

myGithub Projects *** ý chính về python của tôi *** Âm nhạc của tôi

Hồi đáp

Tìm thấy

Hồi đáp

người thay thế
Lập trình viên tên Tim

Bài viết. 8

Chủ đề. 1

Đã tham gia. Tháng 5 năm 2022

Danh tiếng. 0

May-19-2022, 06. 57 giờ sáng

Chào Axe,
tôi đã tải lên toàn bộ mã. Tôi cố gắng tìm kiếm trên web lời giải thích nhưng tôi không hiểu. Tôi hoàn toàn không hiểu việc sử dụng self trong một phương thức của lớp. Tôi thậm chí không thể giải mã đơn giản này
Walter

Hồi đáp

Tìm thấy

Hồi đáp

Axel_Erfurt
bàn chân khổng lồ

Bài đăng. 893

Chủ đề. 15

Đã tham gia. Tháng 12 năm 2016

Danh tiếng. 41

May-19-2022, 07. 51 giờ sáng

Ý tôi là chèn python vào đây.

myGithub Projects *** ý chính về python của tôi *** Âm nhạc của tôi

Hồi đáp

Tìm thấy

Hồi đáp

người thay thế
Lập trình viên tên Tim

Bài viết. 8

Chủ đề. 1

Đã tham gia. Tháng 5 năm 2022

Danh tiếng. 0

May-19-2022, 05. 22 giờ đêm

Chào Axe,
tôi rất xin lỗi nhưng tôi không thấy bất kỳ nút nào trên trình duyệt của mình để chèn mã python
Walter

Hồi đáp

Tìm thấy

Hồi đáp

Axel_Erfurt
bàn chân khổng lồ

Bài đăng. 893

Chủ đề. 15

Đã tham gia. Tháng 12 năm 2016

Danh tiếng. 41

May-19-2022, 06. 14 giờ chiều [Bài đăng này đã được sửa đổi lần cuối. May-19-2022, 06. 15 giờ chiều bởi Axel_Erfurt. ]

Bạn không thấy nút python trong cửa sổ trả lời?

Gribouillis thích bài này.

myGithub Projects *** ý chính về python của tôi *** Âm nhạc của tôi

Hồi đáp

Tìm thấy

Hồi đáp

người thay thế
Lập trình viên tên Tim

Bài viết. 8

Chủ đề. 1

Đã tham gia. Tháng 5 năm 2022

Danh tiếng. 0

May-19-2022, 08. 42 CH

Chào Alex,
cuối cùng tôi cũng thấy nút

. Vì vậy, cuối cùng tôi có thể tải lên mã của tôi.
   # A single node of a singly linked list
class Node:
  # constructor
  def __init__[self, data = None, next=None]: 
    self.data = data
    self.next = next

# A Linked List class with a single head node
class LinkedList:
  def __init__[self]:  
    self.head = None
  
  # insertion method for the linked list
  def insert[self, data]:
    newNode = Node[data]
    if[self.head]:
      current = self.head
      while[current.next]:
        current = current.next
      current.next = newNode
    else:
      self.head = newNode
  
  # print method for the linked list
  def printLL[self]:
    current = self.head
    while[current]:
      print[current.data]
      current = current.next

class Solution:
  def __init__[self]:  
    self.head = None

# insertion method for the linked list
  def insert[self, data]:
    newNode = Node[data]
    if[self.head]:
      current = self.head
      while[current.next]:
        current = current.next
      current.next = newNode
    else:
      self.head = newNode

# print method for the linked list
  def printLinkedList[self]:
    current = self.head
    while[current]:
      print[current.data]
      current = current.next

  def addTwoNumbers[self, lista1, lista2]:
    carry = 0
    Current1 = lista1.head
    Current2 = lista2.head
    ResultCurrent = self.head
    while [Current1.next != None and Current2.next != None ]:
      if [Current1.data]+[Current2.data] > 10:
        datanew = Current1.data + Current2.data - 10 + carry
        carry = 1
        ResultCurrent.insert[datanew]
    else:
        datanew = Current1.data + Current2.data + carry
        ResultCurrent.insert[datanew]
        carry = 0
        Current1 = Current1.next
        Current2 = Current2.next
        ResultCurrent = ResultCurrent.next

def main[]:
    LL1 = LinkedList[]
    LL1.insert[3]
    LL1.insert[4]
    LL1.insert[5]
    LL1.printLL[]

    LL2 = LinkedList[]
    LL2.insert[6]
    LL2.insert[7]
    LL2.insert[8]
    LL2.printLL[]

    result = Solution[]
    result.addTwoNumbers[self, LL1, LL2]
    result.printLinkedList[]

if __name__ == "__main__":
    main[]
Lỗi theo dõi

File "c:\PYTHON\000-WEB SITE LEETCODE\SommaDidueNumeri\SommaDueNumeri.py", line 89, in
chủ yếu[]
Tập tin "c. \PYTHON\000-MÃ LEETCODE TRANG WEB\SommaDidueNumeri\SommaDueNumeri. py", dòng 85, trong phần chính
kết quả. addTwoNumbers[bản thân, LL1, LL2]
TênLỗi. tên 'bản thân' không được xác định
PSC. \Users\wrieppi>

Giúp tôi viết giải pháp lớp theo cách tốt hơn. Và giải thích cho tôi lỗi của tôi

Walter

Larz60+ thích bài này

Hồi đáp

Tìm thấy

Hồi đáp

Axel_Erfurt
bàn chân khổng lồ

Bài đăng. 893

Chủ đề. 15

Đã tham gia. Tháng 12 năm 2016

Danh tiếng. 41

May-19-2022, 09. 01 giờ chiều

xóa chính mình

result.addTwoNumbers[LL1, LL2]

và bạn nhận được

Output:

3 4 5 6 7 8

myGithub Projects *** ý chính về python của tôi *** Âm nhạc của tôi

Hồi đáp

Tìm thấy

Hồi đáp

Tại sao bản thân không hoạt động trong Python?

Trong Python 'self' không phải là một từ khóa mà là một biến và biến này được sử dụng để liên kết thể hiện của lớp với phương thức thể hiện . Để truy cập các biến thể hiện và phương thức, chúng ta phải chỉ định rõ ràng nó là tham số phương thức đầu tiên. Biến này chỉ được sử dụng với các phương thức thể hiện.

Bản thân có bắt buộc trong Python không?

Need for Self trong Python . Không giống như các ngôn ngữ lập trình khác, Python không sử dụng cú pháp “@” để truy cập các thuộc tính của cá thể. Đây là lý do duy nhất tại sao bạn cần sử dụng biến self trong Python. Python uses the self parameter to refer to instance attributes and methods of the class. Unlike other programming languages, Python does not use the “@” syntax to access the instance attributes. This is the sole reason why you need to use the self variable in Python.

Bạn có thể tự đặt bằng Python không?

self chỉ là một tham chiếu đến thể hiện hiện tại trong phương thức. Bạn không thể thay đổi phiên bản của mình bằng cách tự đặt .

Chủ Đề