一、python的类对象的继承

1、所有的父类都是object类,由于类可以起到模块的作用,因此,可以在创建实例的时候,巴西一些认为必须要绑定的属性填写上去,通过定义一个特殊的方法 __init__,绑定属性值、,注意 __init__ 方法的第一个参数永远是self,表示创建的是实例本身,在__init__方法内部,就可以将各种属性绑定到self,因为self就是指向创建实例本身。有了__init__方法就不能在创建实例的时候传入空的参数。而且必须传入与__intit__方法匹配的参数。但是self不需要再次传入,python解释器自己会把实例变量传进。

2、数据封装,面向对象编程最重要的是数据封装,在Student类中,每个实例都有各自的name 和score这些数据,可以通过函数来访问这些数据。封装的另一个好处就是可以随时给类添加新的方法,如果让内部的属性不被外部访问,可以把属性的名称前加上两个下划线__,,,实例的变量名如果以__开头,就表示这是一个私有变量(private)只可以在内部访问。

但是注意的一点就是 变量名__xx__这样双划线开头的并且是结尾的,是特殊变量。特殊变量只可以直接访问的。

3、判断一个对象是否属于这个类的语句

4、多态的好处就是当我们需要传入Dog Cat Tortoise 时,实际上任何依赖Animal作为参数的函数或者方法都可以不加修饰正常运行,原因就是出于多态,多态的好处,当我们传入Dog Cat  等 我们只需要修改Animal类就可以,因为Dog Cat 等就是Animal的类型,然后按照Animal类型进行操作,由于Animal类型有run()方法,因此传入的类型是Animal 类或者子类,就会自动调用实际类型的run() 方法,就是多态的。对于静态语言如果传入Animal类型,则传入的对象必须是Animal类型或者子类,否则无法调用run() 方法,对于python动态语言来说,只需要传入的对象有run()方法就可以啦。

继承可以父类的所有功能直接拿过来名字类只需要新增自己的特有方法,也可以吧父类不适合的方法覆盖重写,

5、类型判断type(),从这里可以看出type函数其实返回的就是 class

6、判断基本数据类型可以直接写int ,str等,但是如果判断一个对象是否是函数就要使用 types模块中定义的常量,

但是对于class继承关系来说,使用type()就很不方便,我们要判断class类型可以使用isinstance()函数,isinstance()判断一个对象是否是该类型的本身或者位于该类型的父类继承链接上。

能用type()判断的基本类型也可以会用isinstance()判断,获得一个对象的所有属性和方法使用dir()函数

顺便插一句 pycharm的server注册链接地址测试可行的http://idea.liyang.io

对对象进行属性的测试

python网络爬虫笔记(五)的更多相关文章

  1. Python网络爬虫笔记(五):下载、分析京东P20销售数据

    (一)  分析网页 下载下面这个链接的销售数据 https://item.jd.com/6733026.html#comment 1.      翻页的时候,谷歌F12的Network页签可以看到下面 ...

  2. [Python]网络爬虫(五):urllib2的使用细节与抓站技巧

    转自:http://blog.csdn.net/pleasecallmewhy/article/details/8925978 前面说到了urllib2的简单入门,下面整理了一部分urllib2的使用 ...

  3. [Python]网络爬虫(五):urllib2的使用细节与抓站技巧(转)

    1.Proxy 的设置 urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy. 如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用代理. 新建test ...

  4. Python网络爬虫笔记(二):链接爬虫和下载限速

    (一)代码1(link_crawler()和get_links()实现链接爬虫) import urllib.request as ure import re import urllib.parse ...

  5. python网络爬虫笔记(九)

    4.1.1 urllib2 和urllib是两个不一样的模块 urllib2最简单的就是使用urllie2.urlopen函数使用如下 urllib2.urlopen(url[,data[,timeo ...

  6. python网络爬虫笔记(八)

    一.pthon 序列化json格式 1.将python内置对象转换成json 模块,dumps()方法返回的是一个str,内容是标准的JSON,dump()方法可以直接吧JSON写入一个file-li ...

  7. python网络爬虫笔记(六)

    1.获取属性如果不存在就返回404,通过内置一系列函数,我们可以对任意python对象进行剖析,拿到其内部数据,但是要注意的是,只是在不知道对象信息的时候,我们可以获得对象的信息. 2.实例属性和类属 ...

  8. python网络爬虫笔记(四)

    一.python中的高阶函数算法 1.sorted()函数的排序   sorted()函数是一个高阶函数,还可以接受一个key函数来实现自定义的函数排序,key指定的函数作用于每个序列元素上,并根据k ...

  9. python网络爬虫笔记(三)

    一.切片和迭代 1.列表生成式 2.生成器的generate,但是generate保存的是算法,所以可以迭代计算,没有必要,每次调用generate 二.iteration 循环 1.凡是作用于for ...

随机推荐

  1. jq的stop

    jQuery stop() 方法用于停止动画或效果,在它们完成之前. stop() 方法适用于所有 jQuery 效果函数,包括滑动.淡入淡出和自定义动画. $(selector).stop(stop ...

  2. 表单相关标签之textarea,select

    textarea <textarea rows="3" cols="20"> 在w3school,你可以找到你所需要的所有的网站建设教程. < ...

  3. i春秋 小漏洞也有大梦想

    i春秋上的课,提到了一些概念,学习并记录. 此文主要以了解概念为主,没有代码和实战. 水坑式攻击 百度定义: “水坑式攻击”,是指黑客通过分析被攻击者的网络活动规律,寻找被攻击者经常访问的网站的弱点, ...

  4. Django学习手册 - ORM - ImageField数据类型

    前置步骤 setting.py文件配置: 添加app目录 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'djan ...

  5. const关键字的作用

    1.防止被修饰的成员的内容被改变. 2.修饰类的成员函数时,表示其为一个常函数,意味着成员函数将不能修改类成员变量的值. 3.在函数声明时修饰参数,表示在函数访问时参数(包括指针和实参)的值不会发生变 ...

  6. android图片绘制

    1.基本圆角.边框 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android=& ...

  7. kali2.0的初始设置

    1.修改源 leafpad /etc/apt/sources.list 加kali源 deb http://http.kali.org/kali kali-rolling main non-free ...

  8. Pftriage:分析和追踪恶意文件,识别特征

    项目地址 PFTriage:https://github.com/idiom/pftriage 参考 Pftriage:如何在恶意软件传播过程中对恶意文件进行分析 https://www.freebu ...

  9. SNet解读

    解读论文:Learning Local Image Descriptors with Deep Siamese and Triplet Convolutional Networks by Minimi ...

  10. 美团点评基于MGR的CMDB高可用架构搭建之路【转】

    王志朋 美团点评DBA 曾在京东金融担任DBA,目前就职于美团点评,主要负责金融业务线数据库及基础组件数据库的运维. MySQL Group Replication(以下简称MGR),于5.7.17版 ...