精华内容
下载资源
问答
  • 里面都是我新手时期学C的时候整理的一些TXT文档,因为分不够了,所以放上来赚点积分,都是很基础的...c 网页爬虫 c 写图形界面 c 遗传算法实例 c 在图形界面输出文字 c# List的用法 VS2010如何解决每次编译都要重新生成
  • Python爬虫实例教程讲师日月光华Scrapy分布式爬虫答疑群945189407分布式爬虫分布式爬虫也就是集群爬虫当遇到大型的爬虫任务单台计算机是难以满足抓取需求的毕竟单机有CPUIO带宽等多重限制可以尝试分布式爬虫扩展性能...
  • python爬虫教程(6)-lxml解析网页

    千次阅读 2019-02-16 20:17:32
    欢迎来到python爬虫大讲堂,现在开始你的爬虫旅程吧! lxml 上一次我们讲解了BeautifulSoup解析网页,这一次我们来讲讲最后一种解析方式,也就是lxml,它用C语言编写,使用xPath语法。 lxml获取日期 lxml使用xPath...

    欢迎来到python爬虫大讲堂,现在开始你的爬虫旅程吧!

    lxml

    上一次我们讲解了BeautifulSoup解析网页,这一次我们来讲讲最后一种解析方式,也就是lxml,它用C语言编写,使用xPath语法。

    lxml获取日期

    lxml使用xPath获取信息,xPath比较像路径,以下是爬取日期的代码:

    import requests
    from lxml import etree
    
    link='https://blog.csdn.net/weixin_42183408/article/list/3?t=1&'
    headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36'}
    r=requests.get(link,headers=headers)
    
    html=etree.HTML(r.text)
    date=html.xpath('//span[@class="date"]/text()')
    for each in date:
        print(each)
    

    这里使用etree.HTML转换成lxml形式,然后用html.xpath使用xpath获取信息。

    这里//span代表在全源码中选取span元素,[@class=‘date’]则代表选区class为date的span元素,/text表示提取其中的文字

    大家一开始看到这个xpath里括号的内容可能觉得很难,但是chrome的强大功能又为我们提供了帮助:

    使用chrome获取xpath

    • 右击打开检查功能
    • 选中你想要获取xpath的地方
    • 右键点击copy-copy xpath
    • 把xpath黏贴到代码中

    怎么样?这样是不是好多了!

    xpath选取方法

    / //
    从下一级根节点选取 在所有子元素中选取
    . . .
    选取当前节点 选取当前节点的父节点
    @ nodename
    选取属性 选取所有子节点
    展开全文
  • C语言程序设计一学就会 资深网络爬虫、机器学习专家,《从零开始学Scrapy...

    扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

    APP订阅课程,领取优惠,最少立减5元 ↓↓↓

    订阅后:请点击此处观看视频课程

     

    视频教程-C语言程序设计一学就会-C/C++

    学习有效期:永久观看

    学习时长:488分钟

    学习计划:9天

    难度:

     

    口碑讲师带队学习,让你的问题不过夜」

    讲师姓名:张老师

    高校教师 / 技术总监

    讲师介绍:

    ☛点击立即跟老师学习☚

     

    「你将学到什么?」

    C语言由于其语法简洁、效率极高、功能强悍,诞生几十年始终霸占编程语言排行榜前三。本课程将复杂问题简单化,通过引导式,案例化的授课模式,力图让大家能够快速、全面理解C语言的基础、精髓和使用技巧。

     

    「课程学习目录」

    第1章:C语言环境搭建
    1.C语言概述
    2.Linux平台下搭建C语言环境
    3.MAC平台下搭建C语言环境
    4.Windows平台下搭建C语言环境
    5.Visual Studio安装及使用
    第2章:C语言入门
    1.C语言的特点
    2.C语言的算法表示
    3.C程序的组成
    第3章:变量和数据结构
    1.变量和常量
    2.基本输入输出
    3.基本数据类型
    4.一维数组
    5.二维数组
    6.字符数组及字符串
    7.结构体
    8.共用体
    9.变量和数据类型课后习题解析
    第4章:程序逻辑结构
    1.运算符和表达式
    2.条件分支结构介绍
    3.for循环
    4.while和do-while循环
    5.程序逻辑结构课后习题解析(1)
    6.程序逻辑结构课后习题解析(2)
    第5章:指针的用法
    1.指针的基本概念
    2.数组指针
    3.字符串和指针
    4.字符串和指针
    5.指针课后习题解析
    第6章:函数极其用法
    1.函数介绍
    2.函数的调用过程
    3.指针与函数
    4.函数重载
    5.递归与迭代
    6.可变参数列表
    7.变量的存储属性
    8.外部变量和函数作用域
    9.指针课后习题解析(1)
    10.指针课后习题解析(2)

     

    7项超值权益,保障学习质量」

    • 大咖讲解

    技术专家系统讲解传授编程思路与实战。

    • 答疑服务

    专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

    • 课程资料+课件

    超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

    • 常用开发实战

    企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

    • 大牛技术大会视频

    2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

    • APP+PC随时随地学习

    满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

     

    「什么样的技术人适合学习?」

    • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
    • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
    • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

     

    「悉心打造精品好课,9天学到大牛3年项目经验」

    【完善的技术体系】

    技术成长循序渐进,帮助用户轻松掌握

    掌握C/C++知识,扎实编码能力

    【清晰的课程脉络】

    浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

    【仿佛在大厂实习般的课程设计】

    课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

     

    「你可以收获什么?」

    全面理解C语言重点语法

    全面掌握C语言核心功能,如指针,数据结构

    能够熟练编写基本应用软件

     

    展开全文
  • C语言项目实践--炫彩界面版 资深网络爬虫、机器学习专家,《从零开始学Scr...

    扫码下载「CSDN程序员学院APP」,1000+技术好课免费看

    APP订阅课程,领取优惠,最少立减5元 ↓↓↓

    订阅后:请点击此处观看视频课程

     

    视频教程-C语言项目实践--炫彩界面版-C/C++

    学习有效期:永久观看

    学习时长:551分钟

    学习计划:10天

    难度:

     

    口碑讲师带队学习,让你的问题不过夜」

    讲师姓名:张老师

    高校教师 / 技术总监

    讲师介绍:

    ☛点击立即跟老师学习☚

     

    「你将学到什么?」

    受够了控制台式,毫无画面感的程序?该来电炫酷的了,没错,C语言也能做出非常炫酷的具有界面的项目。

    使用炫彩界面库+C语言做出的项目,让你更直观、更易懂、更有兴趣、更棒的体验、更大的成就感。

    按照企业项目开发流程,精心编排,从需求说明,项目流程,实现思路,到功能实现,全部囊括。

     

    「课程学习目录」

    第1章:炫彩界面库介绍
    1.炫彩界面库下载及使用
    2.炫彩界面库各功能介绍1
    3.炫彩界面库各功能介绍2
    第2章:项目1:炫彩界面版ATM自动取款机
    1.项目演示和需求介绍
    2.项目解决思路
    3.ATM主界面实现
    4.登陆界面实现
    5.登陆合法性CHECK
    6.注册界面实现
    7.菜单界面实现
    8.存款界面实现
    9.取款和转账界面实现
    10.查看页面实现
    11.修改密码页面实现
    12.功能模块:数据存储结构
    13.功能模块:数据操作
    14.功能实现:登陆注册
    15.功能实现:其他功能
    第3章:项目2:炫彩界面版五子棋游戏
    1.项目演示和需求介绍
    2.项目实现思路
    3.对应炫彩界面库介绍
    4.五子棋界面设计
    5.五子棋棋子设计
    6.棋子交叉显示设计
    7.判断胜负功能模块实现
    8.五子棋游戏功能实现
    9.统计功能实现
    10.数据实现持久化存储
    第4章:项目3:炫彩界面版英汉词典
    1.英汉词典需求说明
    2.英汉词典模块实现思路
    3.界面整体设计
    4.主页面设计
    5.新增单词页面设计
    6.字节转换及链表生成
    7.文件的读取操作
    8.查询功能实现
    9.模糊查询功能实现
    10.新增单词功能实现
    11.数据销毁及总结

     

    7项超值权益,保障学习质量」

    • 大咖讲解

    技术专家系统讲解传授编程思路与实战。

    • 答疑服务

    专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。

    • 课程资料+课件

    超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解)

    • 常用开发实战

    企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。

    • 大牛技术大会视频

    2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。

    • APP+PC随时随地学习

    满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。

     

    「什么样的技术人适合学习?」

    • 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你
    • 掌握开发、编程技术单一、冷门,迫切希望能够转型的你
    • 想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。

     

    「悉心打造精品好课,10天学到大牛3年项目经验」

    【完善的技术体系】

    技术成长循序渐进,帮助用户轻松掌握

    掌握C/C++知识,扎实编码能力

    【清晰的课程脉络】

    浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。

    【仿佛在大厂实习般的课程设计】

    课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。

     

    「你可以收获什么?」

    使你的C语言项目实践能力突飞猛进

    熟悉企业级项目开发流程

    C语言设计的程序达到应用级别

     

    展开全文
  • 我们来看看其它网站的学习流程 ... ... 可以跟着流程走一遍,但是还不够高效。 ...简单看一下上面的目录,入门一种编程语言,究竟学的是什么。...是C语言,在我看来,c语言比我学过的java python php js ts

    上一篇 python爬虫开发教程-01-环境搭建

    我们来看看其它网站的学习流程

    来源:https://www.runoob.com/python3/python3-tutorial.html

    https://www.liaoxuefeng.com/wiki/1016959663602400

    可以跟着流程走一遍,但是还不够高效。

    简单看一下上面的目录,入门一种编程语言,究竟学的是什么。我记得我第一种编程语言,是visual basic 6.0

    而第一次系统学一门语言。是C语言,在我看来,c语言比我学过的java python php js ts shell sql,不知道要高到哪里去了。我们不用关注那么多细节,入门最快的一种方法是写一个排序算法。因为声明变量,声明和使用列表,循环,判断,全都用到了。所以我也会从这里入手,教大家快速上手python,看完这篇文章后,再回过头来,去看我上面发的链接。

    那么开始吧。打开我们的pycharm软件,新建一个项目innerSort

     

     点击右下角的create,出现下列界面

     右键项目名innerSort,创建新文件

    回车,如下:

    将下面代码拷贝到代码编辑区

    A=[3,2,1]
    j=0
    temp=0
    n=len(A)
    for i in range(1,n):
        j=i
        temp=A[i]
        while(j>0 and A[j-1]>temp):
            A[j]=A[j-1]
            j=j-1
        A[j]=temp
    print(A)

    效果如下:

    按ctrl+shift+F10执行,结果如下:

    执行完毕正常了,再删掉,自己手动敲一遍,里面的空格是按TAB键产生的

    现在回到这段代码,

    A=[3,2,1]

    创建了一个数组对象,里面有三个元素3,2,1,A=[3,2,1],好比[3,2,1]是一个一辆车,车名称就叫A。

    一个数组我们关注的是

    1.如何创建数组

    2.如何增加一个元素

    3.如何访问数组的元素

    4.如何获取数组长度

    5.如何修改数组的值

    我们在innerSort项目内创建一个新文件test,用来测试用法

    1.如何创建一个数组

    创建了一个最简单的空数组

    2.如何增加一个元素

    就像一列火车,A.append表示A这列火车带有挂车厢的方法,我直接往后面挂一个车厢,车厢里的值是3

    3.如何访问数组的元素

    我们使用print()方法打印出来了A数组,如果打印第一个元素,则使用下面的方法

    就把3打印成功了,而为什么0是第一个呢,按我C语言的理解,一个数组会分配是连续的内存地址,所以我们只要知道第一个元素的内存地址,加上每个元素的内存大小,就能随机访问所有的元素,比如三个元素的数组,每个元素的大小是10,数组的内存地址是100,那么第一个元素也就是数组内存地址,也就是100+0*10=100,同理第二个是100+1*10=110,第三个元素是100+2*10=120,这样。所以约定成俗,第一个元素我们就用下标0去访问。

    看到第三行代码,为什么append()方法用起来需要A.append,而print()方法可以直接使用?

    因为数组是一个对象,对象含有自己的方法,要使用该方法,就是得用点号操作符去操作该变量名A。

    而print(),我初步判断它是一个全局方法,也就是全局对象X,然后X.print(),由于是全局对象,所以省略了这个.号

    但是这样解释又太不准确,因为我也可以直接解释print()是一个全局方法,不用声明就可以使用。

    最后我能给出的一个解释就是,print()是python内置函数。

    4.如何获取数组长度

    len()方法

    5.如何修改数组的值

    接下来看

    j=0
    temp=0

    就是声明了两个变量 j temp,并赋值0,print(j,temp)可以打印这两个变量,如下

     

    n=len(A)

    len()也相当于内置方法,输出数组长度,也就是存储的元素个数

     接下来看

    for i in range(1,n):

    首先看这个range()方法,传入了两个参数,关于range()本质,我认识有限所以无法阐释清除,range的效果有点类似迭代器。

    为什么range不是迭代器?range到底是什么类型?

    使用list(range(1,3))可以生成一个数组[1,2],如下

    使用list(range(3))可以生成一个[0,1,2]数组,各位可以尝试一下,相当于左开右闭区间

    可以使用for 循环遍历这个数组,如下

    接下来往下看

        j=i
        temp=A[i]

    就是把i复制给j,把A数组的第i+1个元素(因为A[0]是第一个,A[1]是第二个)赋值给temp变量。

    这里的=与我们数学上的=不同。

    数学上是设y=2x+1 y=3x,列一个方程,求出x,y的值,这里的“=”相当于等价的意思,对应python的符号是“==”,两个等号

    而python中的“=”表示赋值操作,也就是,x=1,是把右边的值,赋给左右,相当于复制右边的值,粘贴给左边的变量。

    要更深一点,就是1是一个对象/数值,内存地址用变量x存储。使用内存地址就能操作该对象/值。

    接下来看

      while(j>0 and A[j-1]>temp):

    while表示循环过程,我们来做一个测试,打印输出1到100,怎么做(代码最好自己手打一遍,因为里面很多细节,可能对着敲都不能正确执行并得到结果,这里不提供源码供大家复制)

    while (循环条件):

                   循环体

    当循环条件的结果是"真",则执行一遍循环体,对应上图的代码,就是执行到第四行的时候,就表示一遍执行完毕,然后继续检查循环条件结果是否为"真"

    如果为真,继续执行循环体,然后继续检查循环条件……

    如果为假,则结束循环

    这里i=1,满足循环条件,则打印1,然后i=2,检查也满足循环条件……

    直到i=100,执行第三行的打印操作,然后执行第四行i自加1,现在i=101,然后回到开头,检查循环条件,不满足i<=100的条件,于是退出循环,所以只打印出来1到100。

    如果要同时满足两个条件,需要怎么做,如下图:

    这里的if后面跟着的括号,也是循环条件,同while括号的内容

    使用循环需要注意的一点,一定要有退出循环的可能

    比如下面的代码,结束不了,就会有问题

    while True虽然不会自己退出,我们需要使用break主动退出

    接下来往下看

     A[j]=A[j-1]
     j=j-1

    把数组后面的值赋给前面的

    然后j的值减一

    这里有一点是python比较特别的地方,就是它没有括号,你是如何判断那些代码是循环体呢,就是靠缩进

    红色部分是对齐的(按TAB键对齐),就是for循环体中的内容,蓝色方框内的内容,就属于while循环体

    最后一部分,打印数组A,整个代码语法部分就讲解完毕了。

    接下来我们想知道,为什么这串代码,可以实现排序的功能,这个代码的逻辑,叫插入排序算法。你可以理解成算法就是协议,写出来的代码,就是其实现。

    其实讲现实中排队的例子,可能交换排序更直观一点,但是写都写到这里了,就讲插入排序把

    有3个数3,2,1 如何按从小到大的顺序排列,插入排序的思想如下:

    考虑第1个数3,找到3在前面序列的实际位置,将3放到该位置上

    由于3前面没有数字,所以不做任何操作

    考虑第二个数字2.找到2在前面的序列的实际位置,将2放在该位置上

    2前面的序列就是有3,2比3小,所以3要往它前面挪动(前面指下标增加的方向)所以A数组变成这样

    331,然后把2放在最后的位置,于是数组变成231

    然后考虑第三个数1,1比3小,于是3要往前面挪,变成

    233,然后1和2比,1也比2小,变成

    223,最后把1放到最后的位置

    变成123。

    感觉说不清楚,至少得配个动图大家能更好的理解

    那么总结一下把,插入排序的核心就是,有一个大小为i-1的有序序列n1,n2,n3,……ni-1

    (翻译成白话就是,现在有一个大小为2的有序序列2,3,需要把第三个数1,插入到这个有序序列中,结果就是这三个数有序)

    这时需要把ni插入到这个有序序列中,于是ni需要和ni-1相比,如果ni比它前面的数小,就把ni-1往前挪一位

    (翻译一下就是,1比3小,于是3要往前移动一位,变成233,中间的3不变,当然你可以先临时把1放在这个位置,因为这个位置不是1的最终位置,还是要看左边的数是不是也大于1,为了节省操作,就没有让数组的状态变成213)

    然后ni继续和ni-2相比,如果仍旧比ni-2小,则ni-2的值挪动到ni-1的位置上,ni再与ni-3相比,最后一直到n1,经过这一系列操作后,就得到了i个有序序列。

    但是整个数组的元素可能大于i个,这是问题就变成了如何将ni+1,插入到这i个有序序列中

    所以同理,有序序列n1,n2,n3,……ni-1也是这么来的。

    如果还是不清楚插入排序的原理,我给大家一个教科书的解释吧

    我觉得比我的废话讲的清晰明了,所以python编程语言什么时候出一个教科书?

    这里我给出一个图解

    一个有序数列 7 9 12如下

    这时新增一个数8,如何才能让四个数有序

    8先和12比

    发现比12小,于是12要自己把空位挪出来

    但是在计算机中,做出这个操作需要有两步

    1.A[3]=A[2]

    2.A[2]=null

    为了让程序执行的操作最少,我们省略第二步操作

    12比完了,继续移动8,和9比

    发现8还是比9小,于是做同样的操作,把9往右移动

    继续和7比,发现比7大,于是不移动了,8直接插入进来

    就完成了4个数的插入排序

    1.这个操作的前提是,待插入的序列必须有序,所以你要得到7 9 12,你得先从1个数开始排,假如刚开始只有一个9,9本身就是有序的,新增一个7,就是9和7之间的插入排序,得到7、9。然后在把12插入到这个有序数列中。

    2.假设总共需要排列的数是n,当前子序列长度是m,需要交换的最大趟数是m,所以每次新增一个数,总共最大的交换次数就是n(n-1)/2,也就是n的平方的复杂度。为了减小时间复杂度,我们不用每次都要一个一个比,然后交换,直接用折半查找,找到8最终的位置,然后直接插入,这个方法叫折半插入排序。

     

    扩展一下关键词,有兴趣的可以自行搜索

    线性表:(顺序表,链表)

    时间复杂度,空间复杂度

    排序的稳定性

    插入排序,交换排序,选择排序

    内部排序,外部排序

    以及最核心,数据结构是什么,算法又是什么。

    现在我们得到了一个插入排序算法代码,但是就像我们使用的文具一样,我们想有一个文具盒,带着这个文具盒,把这堆代码装进去,于是我们得到了函数。

    先全选

    然后按TAB键,得到下面的样子(按shift+tab可以缩进回去)

    在上面加上一行代码,如下

    这就完成一个打包(区别于前端的打包)过程,把这个排序的功能,定义成了一个函数insertSort,

    然后我们只需要调用这个函数,就能实现排序功能,按crtl+shift+F10运行,结果如下:

     这个函数只能对321进行排序,我们也想对54321排序,可以这么做

    源码:

    def insertSort(A):
        j = 0
        temp = 0
        n = len(A)
        for i in range(1, n):
            j = i
            temp = A[i]
            while (j > 0 and A[j - 1] > temp):
                A[j] = A[j - 1]
                j = j - 1
            A[j] = temp
        print(A)
    A=[5,4,3,2,1]
    insertSort(A)
    

    可以看到我们在insertSort()括号里面增加了一个A,代表局部变量

    然后在函数体外声明了一个全局变量A,这个A和函数体内的A不是同一个

    然后传入到函数insertSort()中。

    这里我们做两个测试:

    出现这个结果,是跟变量作用域有关

    一个变量名,会先从函数体内查找,查找不到,再会去函数体外查找该变量。

    所以上图的结果是5,4,3,2,1

    如下图

    在函数内查找到了,则不会去函数体外查找

    有办法找函数体外的吗,有办法,强制声明A为全局变量,如下

    用global修饰的变量是全局变量,在函数体内修改该变量的值,打印函数体外的A,发现值改变了。

    各位可以去掉第二行的gloal A,然后执行看看结果

    说明函数变量声明中的A就是一个符号而已,不会检测A的变量类型。

    讲完了函数,我们在讲讲类。

    class Cat():
        def __init__(self):
            self.name="小猫"
        def sound(self):
            print(self.name+"喵喵叫")
    oneCat=Cat()
    oneCat.sound()

    class Cat定义了一个类,一个类有属性name,还有方法sound。

    方法想要访问属性,需要使用self.name。

    oneCat=Cat(),表示用类实例化了一个对象,对象名称叫oneCat。然后该对象就可以使用类Cat创建的属性和方法。

    上面代码运行结果如下

    那如果我们想要在方法中使用方法呢,如下:

    同样要加上self关键词

    回到代码中来,我可以做如下修改

    我修改了对象的name属性,这时候就出错了,小狗不是汪汪叫么,所以为了防止有人修改某些属性导入意料之外的错误,我们限定name为私有变量,如下

    加上两个横线后,类外部就无法修改了,甚至无法访问

    那组合在一起,发生了什么?

    看到这里,是不是很疑惑,不是不能访问以两个横线标志的私有变量__name么。怎么成功访问了?

    请往下看

    原来这个在类里面定义的私有变量__name,python解释器会自动补全成为_Cat__name。所以我直接访问__name,是不存在这个属性的。

    而oneCat.__name="小狗",这一行代码则帮我们新建了一个属性,赋值为小狗,所以

    输出结果变成了小狗。

    既然可以新增属性,那么可以新增方法吗,我们来试一下

    跟新增属性用法一样。

    那么从猫到汤姆猫,该如何实现呢(当然TomCat也是一个Web应用服务器)

    只要使用一行代码,在创建TomCat类的时候,将Cat当作参数传递进去。

    这里Cat我们叫做父类,TomCat叫做子类,有父类产生子类的过程我们叫继承。

    当然我们的汤姆猫,我们可以重写名称和方法

    小猫和汤姆猫,都喜欢吃饭的时间发出声音,如下

    这种行为叫多态。更多的解释请参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017497232674368

    我们是在test文件下编写的代码,现在我们需要创建一个Cat.py文件,并把我们的有关Cat类的代码复制到里面

    class Cat():
        def __init__(self,name):
            self.__name=name
        def sound(self):
            print(self.__name+"喵喵叫")
    oneCat=Cat("大猫")
    oneCat.sound()

    那么假如我需要在test文件中使用这个大猫的类,该如何去做

    我们先删除掉下面两行代码

    然后回到test界面

    我们可以使用import语句导入Cat模块,这个模块就是Cat.py文件。

    当然我们也可以使用下面的写法

    采用from  import写法可以不用写Cat模块名,上一张图出现了Cat.Cat,第一个Cat是模块名称,第二个Cat是我声明的一个类。

    所以尽量取不同的名称。各位可以在Cat.py文件中再增加一些函数,变量,类等,然后看看怎么在test中调用声明的这些变量、方法。这里我就不演示了。

    还是演示一下吧

    Cat.py

    class Cat():
        def __init__(self,name):
            self.__name=name
        def sound(self):
            print(self.__name+"喵喵叫")
    #函数
    def eatWhat():
        print("吃小鱼干")
    #变量
    weight="5kg"

    test.py

    from Cat import *
    oneCat=Cat("大猫")
    oneCat.sound()
    eatWhat()
    print(weight)

    结果如下

    各位可以尝试改回import Cat,看看test.py应该如何修改

    最后回忆一下我们是如何创建test.py和inserSort.py的,我们创建了一个项目innerSort,在该项目下创建了两个文件。这里我要提到一个“包”的概念。

    比如我写的猫的中华田园猫,国外也有一个程序员,写的是品种猫,如下

    class Cat():
        def __init__(self,name):
            self.__name=name
        def sound(self):
            print(self.__name+" mews")
    

    现在我的test里面想要引入这两个类,应该这么写

    import Cat
    import EuramericanCat
    cat1=Cat.Cat("小猫")
    cat2=EuramericanCat.Cat("little cat")
    cat1.sound()
    cat2.sound()

    结果如下

     

    那么假如国外的程序员,模块名称也叫Cat,也就是文件名称也叫Cat.py,这时候test.py里的代码应该怎么写呢?

    这时我们借助“包”也就是package,来解决这个命令冲突的问题,如下

    回车后如下:

    将EuramericanCat.py移动到Eur包下

    操作方式就是鼠标拖动该项到上面,然后点击Refactor,效果如下

    选择EuramericanCat.py后,按SHIFT+F6修改文件名为Cat(也可直接鼠标点击该项,然后右键菜单中选择Refactor选项)

    结果如下

    那么现在test.py代码可以这这样编写

    也可以这样写

     看到这里后,请再次浏览一遍网站上提高的python教程,这时候你应该游刃有余了吧

    Python 基础教程

    Python教程

     

    展开全文
  • 初识C语言

    2017-10-12 20:52:10
    自己最开始是主学Python网络爬虫的,由于C是很多语言的基础,因此准备学习C语言,在这其中会不断分享自己学习的过程,一是激励自己,二是为其他的小伙伴们学习的过程中多一些参考的东西。其中很多的东西都是从菜鸟...
  • 现今比较流行的爬虫语言,属Java、paython和c语言,笔者学习的是Java语言,所以介绍下使用Java如何爬取网页信息。我们先从一个最原始的Java爬虫demo开始,再来看如何使用crawler4j这个框架进行爬虫。Demo使用Java的...
  • C语言】从零开始的C语言小游戏之路(总)

    千次阅读 多人点赞 2020-04-22 16:17:59
    从零开始的C语言小游戏之路(总) Ⅰ前言: 1.这里具体介绍下如何入手C语言,如何去写C语言小游戏。由于我也只是自己对于这方面有兴趣自己...3.本教程采用的是纯C语言内容,不附带任何复杂的图形库,api等高级操作...
  • 在db0703中创建cfsn_news表CREATE TABLE cfsn_news( id INT AUTO_INCREMENT, title VARCHAR(10),URL VARCHAR(255), PRIMARY KEY (id));修改一个表中字段为自动增长:altertablequestionlibmodifyidint(11)auto_...
  • python爬虫小小白入门

    2018-12-18 13:17:00
    简单爬虫实例——从W3Cschool爬取C语言教程文本 python环境:: Anaconda3, spyder, windows10 一、基本思想 爬虫就是从网页上抓取你想要的内容,主要分为三个步骤。首先需要仔细分析目标页面内容,知道你想要的...
  • C语言开发之数据结构与算法四

    千人学习 2019-04-25 21:48:38
    教程主要讲解贪心算法、分治算法、回溯算法、动态规划思想等及将他们灵活的运用到算法里面(地图最短路径、制作短网址、网络爬虫等)。课程讲解的方式均是先以图形的方式进行分析,然后“手敲”代码来实现相关的...
  • Python 爬虫例子

    2018-06-05 20:08:13
    学了几天的语法,今天终于开始实战-爬虫,心情有点小激动 本人看的教程主要是: 廖雪峰的Python博客 大家看了都说好 小甲鱼的Python视频教程 小甲鱼的视频都很经典,将的挺有意思,风趣,时不时讲讲荤段子,...
  • 说明一下 本人现在从事的职业是硬件开发,用C语言编程 学了大概一周时间的Python基础语法,说一下学习一门编程语言的习惯吧。学习基本语法、读别人的代码、修改别人的代码、开始写自己的小程序、参与一个开源的项目...
  • python简易教程

    2015-08-05 08:38:54
    而且python的抽象层次相对比较高,相比较c,c++,java等语言,有统计数据显示一行python代码等于20行c语言代码,10行c++或java代码。现在都流行全栈工程师,咱们来列一下python擅长做的事情网站后台,科学计算,网络...
  • 【Python教程】基础篇

    2020-02-08 18:01:04
    胶着型语言:可以和C语言,java语言融合使用.(GIL程序通常使用其他语言编写,而使用Python调用) 解释型语言:开发过程中无编译环节,运行速度比较慢. 交互式语言:意味着在一个Python提示符下直接互动执行程序. 面向...
  • 数据结构.rar

    2019-08-01 09:58:59
    python写的爬虫,将C语言中文网《数据结构与算法》教程爬取为html格式以及pdf格式,代码包含了BeautifulSoup、pdfkit、requests等库的用法,并用multiprocessing库进行了多进程爬取,速度快,该源代码对学习python...
  • 计算机方面电子书

    2020-06-09 21:46:51
    python3网络爬虫开发实战 流畅的python python cookbook python编程:从入门到实践 python算法教程 php PHP经典实例(第3版) PHP从入门到精通(第3版) Modern PHP 中文版 前端 html5权威指南 JavaScript权威指南(第6...
  • 个人成长书单

    2019-07-15 16:31:24
    基础《 python从入门到实践》《python基础教程》 进阶《Python Cookbook》《流畅的python》 应用《python3网络爬虫开发实战》《python深度学习》 c语言 基础 《C深度剖析》《C与指针》 进阶 《C专家编程》...
  • 2.网络爬虫教程N多,相关的函数库N多,这也是自己当前最想实现的目标;3.运用与数学相关的库,研究算法+数据挖掘(这一方向没有接触过);4.可以与 MySQL等数据库结合,作为一个网站系统的后台支...
  • Python 1基本操作

    2020-02-10 19:39:24
    教材:廖雪峰Python3基础教程 学习目标:了解Python基础语法与简单应用,后续关于爬虫和网络知识在后续补齐。 学习进度:无要求。尽量保持两天学习一次,因为后续内容不一定能看懂,所以无要求。 学习方法:看网页+...
  • 若干vc源代码.rar

    2012-06-11 08:38:23
    134,908 C语言写的网页爬虫程序.rar 942,551 JEPG图像中数字的识.rar 187,152 MC20编译器.zip 2,379 MD5.rar 135,664 MFC视频播放器(带播放列表VC++6.0源代码).zip 211,775 mp3播放器(vc++) 支持歌词同步显示...
  • 今日为2017年2月6日,据在慕课网上学习廖雪峰Python教程也快一周左右了,完全是零基础入门Python,大一上学期粗浅的接触学习了C语言,早就听说过Python语言的大名,又想把Python的爬虫技术收入囊中,所以开始入门...
  • C语言解析教程 提取码:mfgv C语言函数大全 提取码:ir2d C语言的科学和艺术 提取码:zm88 C语言答疑解惑与典型题解 提取码:8cw5 C语言从入门到精通 第2版明日科技 提取码:4s8h C语言程序设计_现代方法 提取...
  • Python学习之路

    2020-12-13 00:45:56
    之后在网上看一些教程,刚开始的时候一点也不理解程序,慢慢的,我看的视频越来越多,我就有了一点理解,在网上也看了3们语言的介绍,是c语言,Java语言,python语言,最后我选择了python。我选择python这一门语言的...
  • C语言解析教程 百度云下载链接 密码:6luf C语言深度剖析 百度云下载链接 密码:yu63 C专家编程 百度云下载链接 密码:xlfm C++ C++ Primer 百度云下载链接 密码:js1a C++编程思想 百度云下载链接 密码:vi02 C++对象...
  • vc程序合集0007.rar

    2012-06-12 00:40:24
    2012-06-11 23:31 50,257,783 C语言木马源代码教程.pdf 2012-06-11 23:55 284,907 c语言源程序900例.rar 2012-06-11 23:37 1,816,254 C语言程序源代码(大集合).rar 2012-06-11 23:51 61,440 C语言简易电子琴设计.doc...
  • 电子设计.doc

    2019-05-28 11:58:28
    0013、单片机C语言程序设计实训100例——基于8051+Proteus仿真 0014、电机转速测量系统论文 0015、多功能出租车计价器设计论文资料 0016、多功能数字时钟设计论文资料 0017、肺活量测量仪设计论文资料 0018、高保真...
  • C语言学习笔记.epub destoon快速入门.epub developerWorks 中国 - Spark 实战系列.epub DevOps的概念与实践(2014年).epub Docker —— 从入门到实践.epub Docker中文指南.epub Docker周报.epub Docker在PHP项目...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

c语言爬虫教程

c语言 订阅
爬虫 订阅