python继承

Python类的继承

懵懂的女人 提交于 2019-12-03 10:14:26
基本概念 面向对象三要素之一:继承inheritance。人类和猫类都是继承自动物类。 个体继承自父母,继承了父母的一部分特征,但也可以有自己的个性。在面向对象的世界中,从父类继承,就可以直接拥有父类的属性和方法,这样可以减少代码,多复用。子类可以定义自己的属性和方法。 先看一个不用继承的例子: class Animal: def shout(self): print("Animal shouts") a = Animal() a.shout() class Cat: def shout(self): print("cat shouts") c = Cat() c.shout() 结果为: Animal shouts cat shouts 上面的两个类虽然有关系,但是定义时并没有建立这种关系,而是各自完成定义。 动物类和猫类都有吃,但是它们的吃有区别,所以分别定义。 class Animal: def __init__(self,name): self._name = name def shout(self):#一个通用的吃方法 print("{} shouts".format(self.__class__.__name__)) @property def name(self): return self._name a = Animal("monster") a.shout()

python的多线程和多进程(一)

白昼怎懂夜的黑 提交于 2019-12-03 10:01:52
在进入主题之前,我们先学习一下并发和并行的概念: --并发:在操作系统中,并发是指一个时间段中有几个程序都处于启动到运行完毕之间,且这几个程序都是在同一个处理机上运行。但任一时刻点上只有一个程序在处理机上运行。形象的点描述:一个人做很多事情,但同一时刻只能做一件事情。 --并行:当系统有一个CPU时,则程序的操作有可能非并发。当一个CPU执行一个程序时,另一个CPU可以执行另一个程序,两个程序互不抢占CPU资源,可以同时进行。形象的描述:多人同时做多件事情 可能有小伙伴又会问串行又是什么鬼呢?再来唠叨一下: 串行和并行是数据传输方式的区别。其实和并发和并行的概念是两个领域: 1、数据传输方式不同,串行口传输方式为数据排成一行,一位一位送出,接受也是一样。并行口传输8位数据一次送出。 2、针脚不同,串行口针脚少,并行口针脚多 3、用途不同,串行口现在只用作控制接口,并行口多用作打印机、扫描仪等接口。 来吧,进入正题: 进程的概念:计算机程序其实只是存储在磁盘上可执行的二进制(或其他可执行的类型)文件。只有把它们加载到内存中并被操作系统调用,才算是被执行,并用拥有生命周期。所以说进程是一个执行中的程序。 每个进程都拥有自己的地址空间,内存,数据栈以及其他用于跟踪执行的辅助数据。 此间,操作系统管理其上的所有进程的执行,并为这些进程合理分配时间。 多进程

python之scrapy框架基础搭建

自作多情 提交于 2019-12-03 09:54:20
一、创建工程 #在命令行输入scrapy startproject xxx  #创建项目 二、写item文件 #写需要爬取的字段名称 name = scrapy.Field()  #例 三、进入spiders写爬虫文件 ①直接写爬虫文件自己手动命名 新建一个.py文件即可②通过命令方式创建爬虫文件 scrapy gensipder yyy "xxx.com" 命名不能于工程名相同,爬取的域名区域 四、写爬虫文件 start_urls #爬虫第一次执行时爬取的网址域 初始换模型对象iteam = TencentItem() #将iteam文件引入 iteam['xxx']= each.xpath("./td[1]/a/text()").extract()[0] #xpath返回选择性的列表,extract将其转换成字符串,再取出列表中的第一个字符。 yield iteam #放到管道文件 #由于爬取的页面不止一页,所以需要调用请求回调函数。 #将请求重新发送给调度器入队列,出队列,交给下载器下载 #每次处理完一页的页面请求后,发送下一页的页面请求 yield scrapy.Request(url, callback = self.parse) #函数名parse,有请求才会触发回调函数,yield发送到调度器 //写在每次循环执行完的外面。 五、写管道文件 首先定义初始化方法 def

Python基础面向对象的基本概念

对着背影说爱祢 提交于 2019-12-03 09:45:17
Python使用类(class)和对象(object),进行面向对象(object-oriented programming,简称OOP)的编程。 面向对象的最主要目的是提高程序的重复使用性。我们这么早切入面向对象编程的原因是,Python的整个概念是基于对象的。了解OOP是进一步学习Python的关键。 下面是对面向对象的一种理解,基于分类。 相近对象,归为类 在人类认知中,会根据属性相近把东西归类,并且给类别命名。比如说,鸟类的共同属性是有羽毛,通过产卵生育后代。任何一只特别的鸟都在鸟类的原型基础上的。 面向对象就是模拟了以上人类认知过程。在Python语言,为了听起来酷,我们把上面说的“东西”称为对象(object)。 先定义鸟类 class Bird(object): have_feather = True way_of_reproduction = 'egg'    我们定义了一个类别(class),就是鸟(Bird)。在隶属于这个类比的语句块中,我们定义了两个变量,一个是有羽毛(have_feather),一个是生殖方式(way_of_reproduction),这两个变量对应我们刚才说的属性(attribute)。我们暂时先不说明括号以及其中的内容,记为问题1。 假设我养了一只小鸡,叫summer。它是个对象,且属于鸟类。使用前面定义的类: summer = Bird

python 超继承

ぐ巨炮叔叔 提交于 2019-12-03 09:44:09
如果在子类里把父类里的函数重写了 这个时候就需要用到超继承 不然调用父类的函数会报错 在重写的函数里写上 比如初始化函数 __init__() def __init__():   super(子类名,self).__init__(父类方法里需要传入的参数) 来源: https://www.cnblogs.com/wind666/p/11785961.html

Python中的多态如何理解?(转帖,让我很理解。)

穿精又带淫゛_ 提交于 2019-12-03 08:27:18
Python中多态的作用 让具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容(功能)的函数。 Python中多态的特点 1、只关心对象的实例方法是否同名,不关心对象所属的类型; 2、对象所属的类之间,继承关系可有可无; 3、多态的好处可以增加代码的外部调用灵活度,让代码更加通用,兼容性比较强; 4、多态是调用方法的技巧,不会影响到类的内部设计。 多态的应用场景 1. 对象所属的类之间没有继承关系 调用同一个函数fly(), 传入不同的参数(对象),可以达成不同的功能 class Duck(object): # 鸭子类 def fly(self): print("鸭子沿着地面飞起来了") class Swan(object): # 天鹅类 def fly(self): print("天鹅在空中翱翔") class Plane(object): # 飞机类 def fly(self): print("飞机隆隆地起飞了") def fly(obj): # 实现飞的功能函数 obj.fly() duck = Duck() fly(duck) swan = Swan() fly(swan) plane = Plane() fly(plane) ===运行结果:======================================================

python基础面试题(全网最全!)

只愿长相守 提交于 2019-12-03 07:50:31
目录 1、为什么学习Python? 2、通过什么途径学习的Python? 3、Python和Java、PHP、C、C#、C++等其他语言的对比? 4、简述解释型和编译型编程语言? 5、Python解释器种类以及特点? 6、位和字节的关系? 7、b、B、KB、MB、GB 的关系? 8、请至少列举5个 PEP8 规范 9、通过代码实现如下转换: 10、请编写一个函数实现将IP地址转换成一个整数。 11、python递归的最大层数? 12、求结果: 13、ascii、unicode、utf-8、gbk 区别? 14、字节码和机器码的区别? 15、三元运算规则以及应用场景? 16、列举 Python2和Python3的区别? 17、用一行代码实现数值交换: 18、Python3和Python2中 int 和 long的区别? 19、xrange和range的区别? 20、文件操作时:xreadlines和readlines的区别? 21、列举布尔值为False的常见值? 22、字符串、列表、元组、字典每个常用的5个方法? 23、lambda表达式格式以及应用场景? 24、pass的作用? 25、*arg和**kwarg作用? 26、is和==的区别? 27、简述Python的深浅拷贝以及应用场景? 28、Python垃圾回收机制? 29、python的可变类型和不可变类型? 30、求结果:

day1------python基础

让人想犯罪 __ 提交于 2019-12-03 05:21:49
python 基础 一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 最新的TIOBE排行榜,Python已经占据世界第四名的位置, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。 TOP 10 编程语言 TIOBE 指数走势( 2002-2018 ) 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域, 如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。 目前 Python 主要应 用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox,豆瓣。。。, 典型WEB框架有Django 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib,

python-测试报告的输入

こ雲淡風輕ζ 提交于 2019-12-03 04:54:06
本文来源于 : https://www.cnblogs.com/insane-Mr-Li/p/9132078.html 我们整个自动化才是报告的环节基本上分为三个部分: 1.测试用例的准备 2.测试用例的执行 3.测试报告的输出 1.测试用例的准备: 那我们就以搜孤网页做一个简单的用例: from selenium import webdriver import unittest class Case_1(unittest.TestCase): def setUp(self): self.driver = webdriver.Chrome() self.driver.maximize_window()#放大浏览器 self.driver.get("https://www.sogou.com/") def test_001(self): self.driver.find_element_by_link_text('微信').click() self.assertIn(self.driver.title,u'搜狗微信搜索_订阅号及文章内容独家收录,一搜即达') def test_002(self): self.driver.find_element_by_link_text('新闻').click() self.assertIn(self.driver.title,u'搜狗新闻 -

python类和self解析

拥有回忆 提交于 2019-12-03 04:20:22
在介绍Python的self用法之前,先来介绍下Python中的类和实例…… 我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个Student类来表示。而实例是根据类创建出来的一个个具体的“对象”,每一个对象都从类中继承有相同的方法,但各自的数据可能不同。 1、以Student类为例,在Python中,定义类如下: class Student(object): pass (Object)表示该类从哪个类继承下来的,Object类是所有类都会继承的类。 2、实例:定义好了类,就可以通过Student类创建出Student的实例,创建实例是通过类名+()实现: student = Student() 3、由于类起到模板的作用,因此,可以在创建实例的时候,把我们认为必须绑定的属性强制填写进去。这里就用到Python当中的一个内置方法__init__方法,例如在Student类时,把name、score等属性绑上去: class Student(object): def __init__(self, name, score): self.name = name self.score = score 这里注意:(1)、__init__方法的第一参数永远是self,表示创建的类实例本身,因此,在__init_