跟着我学python (3)---- 一个32岁销售python自学之路

采取学习方法:  学习learn  python  the hard way 不断拓展,我写这个博客的时候, 已经在自动化测试这篇的路上了。  



 这一节的重点: 学会第三方库的查看。


           看的是,learn python the hard way , 没错, 真是 the  hard way ,一节补充了这么多知识。其实python就是不断学习第三方库,其中学会更多语法,学会更多一些知识,你学网络库,必须懂socket,你学网页,得懂html,css,javascript, 呵呵, 没有轻松的路。


    知识点:  1, 怎么借助官方档

                     2,__name__ 和  __main__ 是什么意思?

         

          写这个的原因, 自己经常在很多地方,弄错。   比如我安装了pyspider包, 我怎么去了解这个包的使用。


1:   包是怎么用的。


    方法(1) --  官方资料查找:

                       https://docs.python.org/    ,这个可以查看python官方对于python的说明。 

                       比如官方库,就可以在这里找到, 如:socket库。

            (2) ---第三方库官方查找

                       比如我之前安装的:http://docs.pyspider.org/en/latest/   ( 别人编写的, 当然去别人的官网看看)


            好吧, 我们回到电脑中, 我们一起来看看 官方库的socket和 第三方库 pyspider。 


       

import socket
help(socket)

import pyspider
help(pyspider)
 

    这时候终端会进入less (一个linux命令, 按q退出)


socket:

   

NAME

    socket


FILE

    /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socke

t.py


MODULE DOCS

    http://docs.python.org/library/socket


DESCRIPTION

    This module provides socket operations and some related functions.

    On Unix, it supports IP (Internet Protocol) and Unix domain sockets.

    On other systems, it only supports IP. Functions specific for a

    socket are available as methods of the socket object.

    

    Functions:

    

    socket() -- create a new socket object

    socketpair() -- create a pair of new socket objects [*]

    fromfd() -- create a socket object from an open file descriptor [*

   

  以上是一部分, 看看人家写的多好,  文件保存在哪里?  文档说明在哪里,    这个模块干嘛的, 模块里面的函数是什么?


  在看看国产的pyspider:

Help on package pyspider:


NAME

    pyspider


FILE

    /Library/Python/2.7/site-packages/pyspider/__init__.py


DESCRIPTION

    # -*- encoding: utf-8 -*-

    # vim: set et sw=4 ts=4 sts=4 ff=unix fenc=utf8:

    # Author: Binux<i@binux.me>

    #         http://binux.me

    # Created on 2014-11-17 19:17:12


PACKAGE CONTENTS

    database (package)

    fetcher (package)

    libs (package)

    processor (package)

    result (package)

    run

    scheduler (package)

:

         比较简单,  想做一个流行包,得学会像官方一样,  目前是看不懂pyspider 是干撒用的, 似乎这是他的专用包, 好了, 我们也不是光批评, 这个情况怎么办?  官方的不行, 就他的网站看看了, 



    2:      __name__ 和 __ main__  


      怎么用的?


           这篇博客 有详细介绍,  我看完,大会感叹,  做事情有这么细致的, 还能说撒呢。


            我的总结:        

               def squqre(x):

     return x*x

               文件保存在math.py 


               好吧作为一个细心的人,你应该有个测试吧,


             

def square(x):
    return x* x

"矩形面积测试,计算一下,长10的面积“

print square(10)


    好吧,你做完了这一个了, 有一天,你想发布了,那别人人家调用你这个, 比如我

   

import math

print math.square(12)

保存文件,jisuan.py   

 运行的时候, 会出现:

    100

     144

  

   怎么回事, 运行了math.py的square(10),怎么办?

  

     不急, 整理一下:

      1、这两个文件我都保存在同一个目录下, import,  同级目录调用,math.py ,这个时候我们把math.py 就做一个模块,模块math.

      2:  怎么办? 看代码    

       math.py修改代码,  

def  square(x):
    return x*x

if __name__ == '__main__':
    print  square(10)
    
     运行math.py , 没错,

 

 好吧, 看看这个时候jisuan.py, 
          只有144了, 神奇吧


    我们来总结一下:

       直接调用的时候, 会运行测试, 以为他们相等,  __name__  是 模块本身, __main__  (执行本身的模块),直接运行,执行本身的模块== 模块本身,  调用的时候,模块不是本身(jisuan) 不等于调用模块的名字。


      

   

                 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值