python继承

Python 中的线程与进程(四)

爷,独闯天下 提交于 2019-12-23 03:16:15
由于大多数程序不需要有多线程的能力,所以在Python启动的时候并不支持多线程。也就是说,Python中支持多线程所需要的数据结构特别是GIL并没有创建。当Python虚拟机启动的时候,多线程处理并没有打开,而仅仅支持单线程。只有当程序中使用了如thread.start_new_thread等方法的时候,python才知道需要有多线程处理的支持,此时,python虚拟机才会自动创建多线程处理所需要的数据结构与GIL。 生成和终止线程(由于thread模块比较低级,不被推荐使用,所以就不说了) 1 使用threading.Thread类(构造函数:Thread(group = None, target = None, name = None, args = (), kwargs = {})   使用threading模块来创建线程是很简单的。简单地说,只要继承threading.Thread,然后在__init__方法中,调用threading.Thread类的__init__方法,重写类的run方法就可以了。 import threading class MyThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): pass thread =

python(10)基础总结

瘦欲@ 提交于 2019-12-22 17:04:11
现在我们已经了解了python的基本概念,现在来进行回顾一下之前学过的东西 我们之前提到一句话,“Everything is Object”. 那么我们就深入体验一下这句话。 首先,我们要介绍两个内置函数,dir()和help() dir()用来查询一个类或者对象所包含的属性(变量属性和方法属性)。你可以尝试一下 >> > print dir ( list ) help()用来查询的说明文档。你可以尝试一下 >> > print help ( list ) (list是Python内置的一个类,对应于我们之前讲解过的表) 1. list是一个类 在上面以及看到,表是Python已经定义好的一个类。当我们新建一个表时,比如: >> > nl = [ 1 , 2 , 5 , 3 , 5 ] 实际上,nl是类list的一个对象。 我们先实验一些list的方法 >> > print nl . count ( 5 ) # 计数,看总共有多少个5 >> > print nl . index ( 3 ) # 查询 nl 的第一个3的下标 >>>nl.append(6) # 在 nl 的最后增添一个新元素6 >>>nl.sort() # 对nl的元素排序 >> > print nl . pop ( ) # 从nl中去除最后一个元素,并将该元素返回。 >> > nl . remove ( 2 ) #

python --对象的属性

折月煮酒 提交于 2019-12-22 08:28:58
转自:http://www.cnblogs.com/vamei/archive/2012/12/11/2772448.html Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性(class attribute)。类属性可能来自类定义自身,也可能根据类定义继承来的。一个对象的属性还可能是该对象实例定义的,叫做对象属性(object attribute)。 对象的属性储存在对象的__dict__属性中。__dict__为一个词典,键为属性名,对应的值为属性本身。我们看下面的类和对象。chicken类继承自bird类,而summer为chicken类的一个对象。 class bird(object): feather = True class chicken(bird): fly = False def __init__(self, age): self.age = age summer = chicken(2) print(bird.__dict__) print(chicken.__dict__) print(summer.__dict__) 下面为我们的输出结果: {'__dict__': <attribute '__dict__'

Python深入03 对象的属性

寵の児 提交于 2019-12-22 08:28:37
原文: Python深入03 对象的属性 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Python一切皆 对象(object) ,每个对象都可能有多个 属性(attribute) 。Python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义,叫做 类属性(class attribute) 。类属性可能来自类定义自身,也可能根据类定义继承来的。一个对象的属性还可能是该对象实例定义的,叫做 对象属性(object attribute) 。 对象的属性储存在对象的 __dict__ 属性中。__dict__为一个词典,键为属性名,对应的值为属性本身。我们看下面的类和对象。chicken类继承自bird类,而summer为chicken类的一个对象。 class bird(object): feather = True class chicken(bird): fly = False def __init__(self, age): self.age = age summer = chicken(2) print(bird.__dict__) print(chicken.__dict__) print(summer.__dict__) 下面为我们的输出结果: {'__dict_

Python深入03 对象的属性

回眸只為那壹抹淺笑 提交于 2019-12-22 08:28:19
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性(class attribute)。类属性可能来自类定义自身,也可能根据类定义继承来的。一个对象的属性还可能是该对象实例定义的,叫做对象属性(object attribute)。 对象的属性储存在对象的__dict__属性中。__dict__为一个词典,键为属性名,对应的值为属性本身。我们看下面的类和对象。chicken类继承自bird类,而summer为chicken类的一个对象。 class bird(object): feather = True class chicken(bird): fly = False def __init__(self, age): self.age = age summer = chicken(2) print(bird.__dict__) print(chicken.__dict__) print(summer.__dict__) 下面为我们的输出结果: {'__dict__': <attribute '__dict__' of

Python深入03 对象的属性

a 夏天 提交于 2019-12-22 08:28:06
Python深入03 对象的属性 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性(class attribute)。类属性可能来自类定义自身,也可能根据类定义继承来的。一个对象的属性还可能是该对象实例定义的,叫做对象属性(object attribute)。 对象的属性储存在对象的__dict__属性中。__dict__为一个词典,键为属性名,对应的值为属性本身。我们看下面的类和对象。chicken类继承自bird类,而summer为chicken类的一个对象。 class bird(object): feather = True class chicken(bird): fly = False def __init__(self, age): self.age = age summer = chicken(2) print(bird.__dict__) print(chicken.__dict__) print(summer.__dict__) 下面为我们的输出结果: {'__dict__': <attribute

Python 之私有属性

拈花ヽ惹草 提交于 2019-12-22 05:21:30
概要 在基类的定义中,如果有些属性或者方法,我们希望隐藏它,从而不被子类继承,或者使其不被实例直接访问到,这时候可以用到私有属性的命名方法。尽管类的所有属性和方法在某种意义上说都是“暴露的”,但是私有属性的存在即表达了我们的态度。 私有属性命名规则 在类中所有以双下划线开头的名称都会自动变形,比如一个私有属性名为 __print ,会自动变形为 _Classname__print ,这样就有效避免了在子类中使用的私有名称不会与基类中使用的相同私有名称发生冲突。示例代码如下: # -*- coding: utf-8 -*- class Marvel(object): def __init__(self): self.signature = self.__print() def __print(self): # 私有实例方法,变形为 _Marvel__print return "I love Marvel movies!" class EvilMarvel(Marvel): def __init__(self): super().__init__() self.signature = self.__print() self.base_signature = self.__base_print() def __print(self): # 私有实例方法,变形为 _DC__print

Python多线程

会有一股神秘感。 提交于 2019-12-21 23:51:57
一、线程概念 在程序运行时,操作系统会创建一个进程,并且会创建一个线程,这个线程就是主线程,主线程可以创建子线程。线程看上去同时运行,其实是按照并发执行的,走走停停,一直到所有形线程完成为止。线程像进程一样会有生命周期,如下所示: 将程序进行多线程编程,其性能会得到很大提升。python线程对CPU密集型性能提高不大,对I/O密集型性能提高很大。 二、多线程示例 import threading import time class myThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): out() #加入执行的程序代码 def out(): print_time1() print_time2() def print_time1(): print("Locka is acquired") print("Lockb is acwuired") def print_time2(): print("Lockb is acquired") time.sleep(2) print("Locka is acwuired") def main(): for i in range(50): t = myThread() t.start() #执行线程 main()

python中的异常

雨燕双飞 提交于 2019-12-21 20:18:52
一、python中用异常对象(exception object)来表示异常的情况 遇到错误后,回引发异常。如果异常对象并未被处理或者捕捉,则程序就会用所谓的回溯(Traceback ,一种错误信息来终止) try: open(“abc。txt”,‘+r’) except FileNotFoundError : print(“异常了!”) try: open(aa) except FileNotFoundError: print(“异常了!”) try: open(aa) except NameError : print(“异常了!”) 异常的抛出机制: 1.如果在运行时发生异常,则解释器会查找相应的处理语句(成为handlder) 2.如果在当前的函数里没有找到的话,则它会将异常传递给上一层的调用函数,看看那里能不能处理 3.如果在最外层(全局main)还是没有找到的话,那么解释器就会推出,同时打印Traceback,以便让用户找到错误产生的原因 注: 1.虽然大多数错误会导致异常,但异常不一定代表错误,有时候他们呢只是一个警告,有时候时一个终止信号,例如退出循环等 2.在python中所有的异常类都继承Exception,所以可以使用他来接收所有类型的异常信息。 try: open(aa) except Exception: print(“异常了!”) 3.从python2.5后

Python:过程型考核

十年热恋 提交于 2019-12-21 15:07:48
一: 利用猫狗与人的年龄换算器和类的继承编写的“养宠物经历” 1、PyQt设计界面: 2、对象命名: 3、源程序: # 系统包 import sys from PyQt5 import QtCore , QtGui , QtWidgets # 项目包 from Ui_MainWindow import Ui_MainWindow class people : name = "" age = 0 sex = "女" hometown = "章丘" memories = "" def OutputName ( self ) : strOutput = "我叫" + self . name return strOutput def OutputAge ( self ) : strOutput = "今年已经" + self . age + "岁了" return strOutput def OutputSex ( self ) : if self . sex == "女" : strOutput = "我先进行一下自我介绍,本人喜欢小动物,喜欢滑雪,旅行,唱歌,吃美食,喜欢记录一些美好的事情,不管事拍照,还是写日记,我比较喜欢直来直去,性格活泼开朗,对待事情严谨认真不轻言放弃的态度,把事情做到极致,很注重仪式感。" else : strOutput = "我是一个活泼开朗的男孩