我的班级遇到了一个invallid语法错误

时间:2016-01-07 10:29:06

标签: python class

我已经学习了一段时间的python但是我真的想开始使用oop但是我很难理解它,请你告诉我我班上哪里出错了。

class Savecookies():

    driver = webdriver.Firefox()

    def __init__(self, site, url):
        self.site = site
        self.url = url

    def twitter(driver, self.site, self.url):

if __name__=='__main__':
    cooks = Savecookies('twitter', 'https://twitter.com/')

我的错误:

  File "twitter_test2.py", line 26
    def twitter(driver, self.site, self.url):
                            ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:6)

def twitter(driver, self.site, self.url):

那是什么?

首先,方法需要一个正文。否则他们是不完整的。最简单的机构就是做pass(即什么都不做)。但是你可能想在那里添加实际内容。

其次,你的论点毫无意义。方法的第一个参数是self,然后指定您希望方法接受哪些其他参数。参数名称必须是有效变量,所以你不能在那里有一个点。如果您希望该方法可以访问self.siteself.url,您只需执行此操作而无需将其传递给该函数(因为您可以访问self)。在您的情况下,您已经拥有Savecookies对象中的网站和网址,因此您可能需要以下内容:

def twitter(self, driver):
    # Do something useful here
    print(self.site, self.url)
    print(driver)

答案 1 :(得分:0)

如果twitter是实例方法 变化

def twitter(driver, self.site, self.url):

def twitter(self):
    #now do something with the params
    print(self.driver, self.site, self.url)

基本上,让它访问site

设置的url__init__实例属性

并让它访问类

中设置的driver类属性

可以通过self.访问这两种类型的属性,无需再次将其作为参数传递。