• Python实现计算二叉树中出现最多的元素python二叉树

    题目:Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred element) in the given BST.Assume a BST is defined as follows:The left subtree of a node contains only nodes with keys less than or equal to the node's key.The right subtree of a node contains only nodes with keys greater than or equal to the node's key.Both the left...

    禁心尽力 发布于:2017年05月25 12:37:02
  • Python调用C动态库高级教程pythonctypes

    概览Python 是一种用于快速开发软件的编程语言,它的语法比较简单,易于掌握,但存在执行速度慢的问题,并且在处理某些问题时存在不足,如对计算机硬件系统的访问,对媒体文件的访问等。而作为软件开发的传统编程语言—— C 语言,却能在这些问题上很好地弥补 Python 语言的不足。因此,本文通过实例研究如何在 Python 程序中整合既有的 C 语言模块,包括用 C 语言编写的源程序和动态链接库等,从而充分发挥 Python 语言和 C 语言各自的优势。背景知识介绍Python 语言的特点Python 作为一门程序开发语言,被越来越多地运用到快速程序开发。Python 是一种解释型的,互动的,面向对象的编程语言,它包含了模块化的操作,异常处理,动态资料形态,以及类型的使用。它的语法表达优美易读,具有很多优秀的脚本语言的特点:解释的,面向对象的,内建的高级数据结构,支持模块和包,支持多种平台,可...

    jason8482 发布于:2017年03月09 10:05:56
  • python如何获取系统信息cpu、内存、网络情况python系统信息

    做个程序需要用到系统的cpu、内存、网络的使用情况,百度之后发现目前使用Python获取这些信息大多是调用系统命令(top、free等)。其实多Linux命令也是读取/proc下的文件实现的,索性不如自己写一个。一、计算cpu的利用率要读取cpu的使用情况,首先要了解/proc/stat文件的内容cpu、cpu0、cpu1……每行数字的意思相同,从左到右分别表示user、nice、system、idle、iowait、irq、softirq。根据系统的不同,输出的列数也会不同,比如ubuntu 12.04会输出10列数据,centos 6.4会输出9列数据,后边几列的含义不太清楚,每个系统都是输出至少7列。没一列的具体含义如下: user:用户态的cpu时间(不包含nice值为负的进程所占用的cpu时间)nice:nice值为负的进程所占用的cpu时间system:内核态所占用的...

    jason8482 发布于:2017年01月18 17:48:58
  • Python中Generators教程pythongenerators

    要想创建一个iterator,必须实现一个有__iter__()和__next__()方法的类,类要能够跟踪内部状态并且在没有元素返回的时候引发StopIteration异常.这个过程很繁琐而且违反直觉.Generator能够解决这个问题.python generator是一个简单的创建iterator的途径.前面讲的那些繁琐的步骤都可以被generator自动完成.简单来说,generator是一个能够返回迭代器对象的函数.怎样创建一个python generator?就像创建一个函数一样简单,只不过不使用return 声明,而是使用yield声明.如果一个函数至少包含一个yield声明(当然它也可以包含其他yield或return),那么它就是一个generator. yield和return都会让函数返回一些东西,区别在于,return声明彻底结束一个函数,而yield声明...

    AlfredZhao 发布于:2017年01月15 16:41:37
  • 常用几个Python高效编程技巧python编程技巧

    我已经使用Python编程有些年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用。这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件,如Django, Flask, Requests中获得的。下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。1.字典推导(Dictionary comprehensions)和集合推导(Set comprehensions)大多数的Python程序员都知道且使用过列表推导(list comprehensions)。如果你对list comprehensions概念不是很熟悉——一个list comprehension就是一个更简短、简洁的创建一个list的方法。>>> some_list = [1, 2, 3, 4, 5] >>...

    jason8482 发布于:2017年01月14 12:46:01
  • python中该如何正确的处理错误和异常python错误处理

    作为Python初学者,在刚学习Python编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。Python有两种错误很容易辨认:语法错误和异常。语法错误Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例>>> while True print('Hello world') File "<stdin>", line 1, in ? while True print('Hello world') ^SyntaxError: invalid syntax这个例子中,函数 print() 被检查到有错误,是它前面缺少了一个冒号(:)。语法分析器指出了出错的一行,并且在最先找到的错误的位置标记了一个小小的箭头。异常即便Python程序的语法是正确的,在运行它的时候,也有可能发...

    伏草惟存 发布于:2017年01月09 15:01:43
  • python中对包的相对导入和绝对导入python

    绝对导入是指跳过包内,直接搜索 sys.path ,在sys.path的基础上进行我们的模块搜索。相对导入是指先包内,再包外,再,,,那么下面这篇文章主要给大家介绍了Python中的相对导入和绝对导入,需要的朋友可以参考借鉴,下面来一起看看吧。前言Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。Python import 的搜索路径在当前目录下搜索该模块在环境变量 PYTHONPATH 中指定的路径列表中依次搜索在 Python 安装路径的 lib 库中搜索Python import 的步骤python 所有加载的模块信息都存放在 sys.modules 结构中,当 import 一个模块时,会按如下步骤来进行如果是 import A,检查 sys.modules 中是否已经有 A...

    醉眼识朦胧 发布于:2017年01月09 13:56:40
  • python垃圾回收机制简单理解python垃圾回收

    一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。#encoding=utf-8__author__ = 'kevinlu1010@qq.com' class ClassA(): def __init__(self): print 'object born,id:%s'%str(hex(id(self))) def __del__(self): print 'object del,id:%s'%str(hex(id(self))) def f1(): while True: c1=ClassA() del c1执行f1()会循环输出这样的结果,而且进程占用的内存基本不会变动object born,i...

    伏草惟存 发布于:2017年01月04 10:26:37