Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
理解Python代码中的类方法_Python - Fatal编程技术网

理解Python代码中的类方法

理解Python代码中的类方法,python,Python,我对Python知之甚少。但我试图用一个小Python脚本在提取、转换和加载(ETL)中实现一些东西。我得到了想要的结果,但仍然想理解这个脚本 from bs4 import BeautifulSoup import urllib import re import string import csv urlHandle = urllib.urlopen("http://finance.yahoo.com/q/cp?s=^DJI") html = urlHandle.read() soup = B

我对Python知之甚少。但我试图用一个小Python脚本在提取、转换和加载(ETL)中实现一些东西。我得到了想要的结果,但仍然想理解这个脚本

from bs4 import BeautifulSoup
import urllib
import re
import string
import csv
urlHandle = urllib.urlopen("http://finance.yahoo.com/q/cp?s=^DJI")
html = urlHandle.read()
soup = BeautifulSoup(html)
table = soup.find('table', attrs = {
    'id': 'yfncsumtab'
})
rows = table.findAll('tr')

a = ''
csvfile = open("F:/data/yahoofinance.csv", 'w')
for tr in rows[5: ]:
    for td in tr.find_all('td', attrs = {
        'class': 'yfnc_tabledata1'
    }):
    a += '"' + td.get_text() + '",'
a += '\n'
csvfile.write(a)
a = '
我的问题在这段代码中,
soup
是从
BeautifulSoup(html)
函数返回的对象。我说得对吗?所以在下一个语句中,我猜
table
也是一个对象,这意味着我们正在使用
find
函数在
soup
对象中搜索一个值,并且它正在返回一个对象

请更正我的信息,我已在上述代码中了解自己

  • urlHandle
    是一个类,
    urllib
    是什么?而
    urlopen
    是一种静态方法

  • html
    是一个对象,
    urlhandle
    是一个类,
    read
    是一个方法

  • soup
    是一个对象,
    BeautifulSoup(html)
    是一个函数

  • 请就我的理解给出你的反馈……并纠正我对你有经验的话的错误

  • urlHandle
    是一个对象,
    urllib
    是一个模块,
    urlopen
    是一个 作用
  • html
    是一个对象,
    read
    是一个方法
  • soup
    是一个对象,
    BeatifulSoup(html)
    beautifulsop
    对象的构造函数
  • 这可能会很混乱,但一般来说,您可以记住,CamelCase名称是类,这使得CamelCase()成为构造函数。您导入的是一个模块,它可以包含类和/或函数

  • urlHandle
    是一个对象,
    urllib
    是一个模块,
    urlopen
    是一个 作用
  • html
    是一个对象,
    read
    是一个方法
  • soup
    是一个对象,
    BeatifulSoup(html)
    beautifulsop
    对象的构造函数

  • 这可能会很混乱,但一般来说,您可以记住,CamelCase名称是类,这使得CamelCase()成为构造函数。您导入的是一个模块,它可以包含类和/或函数。

    从技术上讲,我认为理解Python中的一切都是对象是很重要的。所以,类是对象,函数是对象,一切都是对象

    也就是说,我们在那之后进行区分,例如“函数”、“类”等


    尤其是urllib,我们称之为对象。

    从技术上讲,我认为理解Python中的一切都是对象是很重要的。所以,类是对象,函数是对象,一切都是对象

    也就是说,我们在那之后进行区分,例如“函数”、“类”等

    特别是urllib,我们称之为

  • soup
    BeautifulSoup
    的一个实例
  • urlHandle
    也是一个实例,
    urllib
    是一个模块,
    urlopen
    是属于此模块的函数
  • html
    是对象,
    read
    是执行的方法
  • 您可以使用
    type()
    函数自己找到它们

  • soup
    BeautifulSoup
    的一个实例
  • urlHandle
    也是一个实例,
    urllib
    是一个模块,
    urlopen
    是属于此模块的函数
  • html
    是对象,
    read
    是执行的方法

  • 有一种方法可以使用
    type()
    函数自己找到它们。

    在Python中,基本上一切都是对象! 当您使用
    import
    时,您包括了一个特定的模块,如
    urllib

    类似于
    soup=beautifulsop(html)
    的东西意味着您创建了一个类beautifulsop模块的实例(也是一个对象),您可以通过传递html对象来初始化/构造该实例


    然后类似于
    soup.find(…
    是使用类的实例来执行特定任务的函数。在本例中,获取第一个属性id为值“yfncsumtab”的HTML表。它返回一个Beautifult标记/obj。

    在Python中,基本上一切都是一个对象! 当您使用
    import
    时,您包括了一个特定的模块,如
    urllib

    类似于
    soup=beautifulsop(html)
    的东西意味着您创建了一个类beautifulsop模块的实例(也是一个对象),您可以通过传递html对象来初始化/构造该实例


    然后类似于
    soup.find(…
    是使用类的实例来执行特定任务的函数。在本例中,获取第一个属性id为“yfncsumtab”的HTML表。它返回一个漂亮的标签/obj。

    Jesse Bakker,谢谢!!还有一个问题,table=soup.find('table',attrs={'id':'yfncsumtab')。在对象中有表吗?如果是,它是在soup对象中使用find函数查找时创建的吗?是的,soup.find找到表,然后创建一个包装html的对象。Jesse Bakker,谢谢!!还有一个问题,table=soup.find('table',attrs={'id':'yfncsumtab'中发生了什么.这里是对象中的表吗?如果是,那么它是在使用soup对象中的find函数查找时创建的吗?是的,soup.find查找表,然后创建一个包装html的对象。