勤学思培训网SZDFSL
  • 终于懂了python入门最好的教程

    跟Java语言一样,python语言也有类的概念,直接使用class关键字定义python类。在python类,定义类的方法。然后直接使用类的初始化调用自身,获取相应的属性。以下是小编为你整理的python入门最好的教程

    第一步,双击打开eclipse开发工具,新建python文件,添加编码格式,新建类User

    第二步,在类中定义一个变量userNum,并赋值为0,注意排列位置


    [图片0]

    第三步,定义函数__init__,有五个参数,self、name、age、sex和addr

    第四步,再定义一个函数showUser,打印出User类对应的属性值,

    第五步,在类的下面定义一个对象变量user,然后调用类User,传入属性值

    第六步,接着调用User类中的方法showUser,然后运行这个文件,打印出属性值

    建立变量str

    在打印输出的时候可以截取其中的部分文本,例如print(str[0:-1]),python中的文本索引是从0开始的,-1则是末尾的开始位置,可以输入print(str[-1])查看最后一个文字

    如果需要重复输出文本可以使用print(str*数字)这种格式,数字表示文本重复的次数 ,比如print(str*2)

    “+”既是运算符号,也是文本连接符号,连接字符串的时候使用就好了

    如print(str+“ma ma hong”)

    转移字符使用"",我们重用的换行就是“n”

    print("myn name")

    如果不需要转义,就在字符串前面加“r”即 print(r"myn name")

    需要注意的是python里面的字符串不能更改,如将str的首字母改为L

    str[0]=L python会报错

    此外,还有就是格式化字符串,和C是一致的,搞不清是什么类型的时候用%s就好了

    如“python %s”% “language”

    函数定义

    def 函数名(参数名):

    函数体

    说明:

    如果函数有返回体,就使用return 返回值;

    b如果函数没有返回体,就使用return None或者return;

    如果函数有多个返回值,就使用return x1,x2...。

    这里主要讲述自定义函数,系统函数请参照/2/library/#abs

    3例子:

    一元二次方程的定义是:ax² + bx + c = 0

    请编写一个函数,返回一元二次方程的两个解。

    注意:Python的math包提供了sqrt()函数用于计算平方根。

    import math

    def equation(a,b,c):

    temp=b*b-4*a*c

    if temp<0:

    return

    x1=(-b+(temp))/(2*a)

    x2=(-b-(temp))/(2*a)

    return x1,x2

    print equation(2,3,0)

    默认参数:主要是方便调用,默认参数一定在必须参数后面。

    例子:

    请定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 'Hello, world.',如果传入,打印 'Hello, xxx.'

    def greet(n='world'):

    print 'hello,',n

    可变参数:

    定义:def fn(*args):

    print args

    python 解释器 会把传入的一组参数组装成一个tuple传递给可变参数。因此在函数内部,直接把变量args看成一个tuple 就好了

    例子:请编写接受可变参数的 average() 函数。

    import math

    def avg(*args):

    if len(args)==0:

    return

    else:

    return sum(args)/len(args)

    print avg(1,2,3)

    切片

    1)切片:主要用于对集合取指定范围的元素。

    2)形式 L[first-index:last-index,length]。

    说明:

    从索引为first-index的元素取到索引为last-index的元素,其中不包含last-index元素;

    first-index 为空,则默认从0开始,如果两个参数都为空,则表示从头到尾获取元素;

    length 表示每隔几个元素获取元素;

    默认length为1 ,不隔元素获取;若length为2,则每隔一个元素;

    若first-index为负数,则是倒序切片,倒序切片从-1开始;

    f若 fist-index为正数,first-index从0开始;

    例子1:

    range()函数可以创建一个数列:

    range(1, 101)

    [1, 2, 3, ..., 100]

    请利用切片,取出:

    1. 前10个数;

    2. 3的倍数;

    3. 不大于50的5的倍数。

    print L[0:10],'n',L[2::3],'n',L[4:50:5]

    例子2:

    利用倒序切片对 1 - 100 的数列取出:

    * 最后10个数;

    [图片1]

    print L[-10:]

    字符串切片:我们可以把字符串看成一组list,所以也可以对字符串进行切片。

    例子:

    字符串有个方法 upper() 可以把字符变成大写字母:

    'abc'.upper()

    'ABC'

    但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。

    import math

    def upperFirstChar(str):

    return str[0:1].upper()+str[1:]

    用八爪鱼爬虫

    打开采集器,新建一个任务之后,如下图选择分组:新浪微博,这里其实随便什么分组都可以,我是把新浪微博专门放了一个分组,以便管理采集微博的多个任务。任务名称,这里按照自己的情况输入即可,我这里采集的是沈阳的微博信息。然后输入备注。

    然后就到了设计采集流程的界面,这个界面看起来复杂,其实很简单,我们先看上面一半,包括第一个 Go to Web Page, 和Check Condition 里面的全部流程步骤。其实他们完成一个什么工作呢?就是打开微博登录页面,然后检查用户是否登录,如果没有登录,则走左边流程,三步:输入用户名,输入密码,点击登录。如果已经登录,则走右边流程:什么事情都不做。为什么需要登录呢,如果不登录,则只能看到一页数据,登录后就能看所有数据,所以我们想要采集所有数据,就要登录。下半部分流程因截图不全,所以请大家看第三步。

    接上一步,这里看下半部分流程,下半部分第一步是打开沈阳用户列表,然后是一个Loop循环:循环翻页,因为我们要采集所有页面的数据,在这个循环内部,还有一个循环:循环当前页所有用户,这样就能采集到一个页面的多个用户的数据,微博一页有20个用户的数据。这个循环内部有一个提取数据的步骤,这一步就是真正提取数据,不过他提取的是当前循环用户的数据。我们只需要在页面上点击要采集的数据,系统就会自动配置好,所以这一步很容易。

    配置好采集规则之后,我们设定执行计划,这里因为我需要每周采集一次,以获取到这一周新注册的微博用户,所以我选择一周一次,注意这个定时是云采集的,意思是,他会在云服务器跑,而且启动时间如图,我们定的是周一晚上0点,当然这个时间你可以自己定。所以我们电脑不用每周一晚上0点打开去采集,我们配好就不管了,以后每个周一0点,云采集服务器都会自动启动我的任务进行采集。

    经过以上几个步骤就算配置好了,我们下一步,进行一个测试,从图中可以看到已经顺利采集到了数据,当采集完成之后,即可导出为Excel等使用了。