搜索到与相关的文章
各行各业

第二人生的源码分析(九十四)LLTextBox类实现文

在登录的画面里,可以看到程序的版本显示,那么它是怎么样显示出来的呢?现在就来分析显示这个版本号的代码,其实它是由静态文本显示框LLTextBox来显示的。比如在登录时创建版本显示的代码如下:这里就是创建静态文本框。#001LLTextBox*version_text=LLUICtrlFactory::getTextBoxByName(this,"version_text");下面是先格式化再显示版本字符串。#002if(version_text)#003{

系统 2019-08-12 01:33:39 2219

Python

python内存泄漏

python基本运行机制。Python程序运行时不需要编译成二进制代码,而直接从源码运行程序,简单来说是,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码。解释器的具体工作:1完成模块的加载和链接;2将源代码编译为PyCodeObject对象(即字节码),写入内存中,供CPU读取;3从内存中读取并执行,结束后将PyCodeObject写回硬盘当中,也就是复制到.pyc或.pyo文件中,以保存当前目录下所有脚本的字节码文件;*之后若再次执

系统 2019-09-27 17:57:05 2218

Python

Python list遍历remove()时的一个小BUG

有这样一个列表:s=list('abcdefg')现在因为某种原因我们需要从s中踢出一些不需要的元素,方便起见这里直接以踢出所有元素的循环代替:foreins:s.remove(e)结果却是:In[3]:sOut[3]:['b','d','f']多次示例后发现,这种remove方式保持着隔1删1的规律。那么改一下代码看看出了什么问题:In[14]:i=0In[15]:foreins:...:print("第"+str(i)+"次循环删前:s=",s)...

系统 2019-09-27 17:56:38 2218

Python

Python 之父撰文回忆:为什么要创造 pgen 解析器?

花下猫语:近日,Python之父在Medium上开通了博客,并发布了一篇关于PEG解析器的文章(参见我翻的全文译文)。据我所知,他有自己的博客,为什么还会跑去Medium上写文呢?好奇之下,我就打开了他的老博客。最后一篇文章写于2018年5月,好巧不巧,写的竟是pgen解析器,正是他在新文中无情地吐槽的、说将要替换掉的pgen。在这篇旧文里,Guido回忆了他创造pgen时的一些考量,在当时看来,创造一个新的解析器无疑是明智的,只不过时过境迁,现在有了更好

系统 2019-09-27 17:55:03 2218

Python

python字符串Intern机制详解

字符串在Python中是最简单也是最常用的数据类型之一,在CPython中字符串的实现原理使用了一种叫做Intern(字符串驻留)的技术来提高字符串效率。究竟什么是intern机制,这种机制又是通过什么方式来提高字符串效率的呢?希望这篇文章能够抛砖引玉。先来看一段代码:>>>s3="hello!">>>s4="hello!">>>s3iss4False>>>id(s3)80325968L>>>id(s4)80326048Ls3和s4虽然值是一样的,但确确实

系统 2019-09-27 17:52:22 2218

Python

Python 正则表达式匹配数字及字符串中的纯数字

Python正则表达式匹配数字电话号码:\d{3}-\d{8}|\d{4}-\d{7}QQ号:[1-9][0-9]{4,}中国邮政编码:[1-9]\d{5}(?!\d)身份证:\d{15}|\d{18}ip地址:\d+\.\d+\.\d+\.\d+[1-9]\d*正整数-[1-9]\d*负整数-?[1-9]\d*整数[1-9]\d*|0非负整数-[1-9]\d*|0非正整数[1-9]\d*\.\d*|0\.\d*[1-9]\d*$正浮点数-([1-9]\d

系统 2019-09-27 17:50:40 2218

Python

python中的五种异常处理机制介绍

从几年前开始学习编程直到现在,一直对程序中的异常处理怀有恐惧和排斥心理。之所以这样,是因为不了解。这次攻python,首先把自己最畏惧和最不熟悉的几块内容列出来,里面就有「异常处理」这一项。《DiveintoPython》并没有专门介绍异常处理,只是例子中用到的时候略微说明了一下。今天下载《LearnPython》,直接进异常处理这块。这一部分有四章,第一章讲解异常处理的一般使用方法,后面的章节深入地讨论其机制。我目前只看了第一章,先学会用,以后有必要的时

系统 2019-09-27 17:45:37 2218

Python

05 Python爬虫之信息标记与提取方法

目录一、信息标记的三种形式XML格式数据JSON格式数据YAML格式数据二、信息标记形式的比较XMLJSONYAML三、信息提取的一般方法方法一:方法二:融合方法:四、基于bs4库的HTML内容查找方法扩展方法总结:一、信息标记的三种形式XML格式数据JSON格式数据YAML格式数据二、信息标记形式的比较XML最早的通用信息标记语言,可扩展性好,但繁琐。Internet上的信息交互与传递JSON信息有类型,适合程序处理(js),较XML简洁移动应用云端和节

系统 2019-09-27 17:45:34 2218

Python

Python实现的石头剪子布代码分享

我之前写过一篇基于JS的石头剪子布程序《JavaScript实现的石头剪刀布游戏源码分享》,今天又基于Python写了一个实例,这里边的算法有点特殊但一时也想不到一个好的算法规律。代码:复制代码代码如下:#encoding=UTF-8#石头剪子布程序#李忠importrandom#定义石头剪子布字典dict={1:'剪子',2:'石头',3:'布'}forrowindict:print'编号:',row,'=',dict[row]print'您出什么?'l

系统 2019-09-27 17:38:28 2218

Python

Python面向对象进阶学习

在前面的章节我们已经了解了面向对象的入门知识,知道了如何定义类,如何创建对象以及如何给对象发消息。为了能够更好的使用面向对象编程思想进行程序开发,我们还需要对Python中的面向对象编程进行更为深入的了解。@property装饰器之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效。我们之前的建议是将属性命名以单下划线开头,通过这种方式来暗

系统 2019-09-27 17:37:57 2218