拥有Python标签的文章
Python

Python中使用双下划线防止类属性被覆盖问题

在使用Python编写面向对象的代码时,我们会常常使用“继承”这种开发方式。例如下面这一段代码:classInfo:def__init__(self):passdefcalc_age(self):print('我是父类的方法')classPeopleInfo(Info):def__init__(self):super().__init__()defcalc_age(self):print(123456)如果你使用PeopleInfo初始化一个对象,然后调用

系统 2019-09-27 17:46:07 2025

Python

浅谈python对象数据的读写权限

面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全。其中原因之一在于:类机制。类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化。但是,python对类的封装并不好,因为所有的属性和方法都是公开的,你可以随意访问或者写入,你可以在类的外部对类的属性进行修改,甚至添加属性。这的确让人感到不安。下面就来总结一下学习后的解决方案。1,使用2个下划线前缀隐藏属性或者方法。__xxx#!/usr/b

系统 2019-09-27 17:38:12 2025

Python

python装饰器与递归算法详解

1、python装饰器刚刚接触python的装饰器,简直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍资料,猜有点点开始明白了。总结了一下解释得比较好的,通俗易懂的来说明一下:小P闲来无事,随便翻看自己以前写的一些函数,忽然对一个最最最基础的函数起了兴趣:defsum1():sum=1+2print(sum)sum1()此时小P想看看这个函数执行用了多长时间,所以写了几句代码插进去了:importtimedefsum1():s

系统 2019-09-27 17:38:08 2025

Python

Python 爬虫多线程详解及实例代码

python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用。虽然python的多线程受GIL限制,并不是真正的多线程,但是对于I/O密集型计算还是能明显提高效率,比如说爬虫。下面用一个实例来验证多线程的效率。代码只涉及页面获取,并没有解析出来。#-*-coding:utf-8-*-importurllib2,timeim

系统 2019-09-27 17:37:56 2025

Python

Linux下搭建Spark 的 Python 编程环境的方法

Spark编程环境Spark可以独立安装使用,也可以和Hadoop一起安装使用。在安装Spark之前,首先确保你的电脑上已经安装了Java8或者更高的版本。Spark安装访问Spark下载页面,并选择最新版本的Spark直接下载,当前的最新版本是2.4.2。下载好之后需要解压缩到安装文件夹中,看自己的喜好,我们是安装到了/opt目录下。tar-xzfspark-2.4.2-bin-hadoop2.7.tgzmvspark-2.4.2-bin-hadoop2

系统 2019-09-27 17:52:49 2024

Python

python之yield和Generator深入解析

首先我们从一个小程序导入,各定一个list,找出其中的素数,我们会这样写importmathdefis_Prims(number):ifnumber==2:returnTrue//除2以外的所有偶数都不是素数elifnumber%2==0:returnFalse//如果一个数能被除1和本身之外的数整除,则为合数。其实我们的判定范围到根号n就可以forcurinrange(2,int(math.sqrt(number))+1,2):ifnumber%cur=

系统 2019-09-27 17:52:34 2024

Python

python实现2048小游戏

2048的python实现。修改自某网友的代码,解决了原网友版本的两个小bug:1.原版游戏每次只消除一次,而不是递归消除。如[2,2,2,2]左移动的话应该是[4,4,0,0],而不是[8,0,0,0]2.对游戏结束的侦测有bug,已经改正。2048game.py#-*-coding:utf-8-*-"""CreatedonTueJul114:15:392014@author:kelvin"""importrandomclassgame2048:tota

系统 2019-09-27 17:51:12 2024

Python

Python中的XML库4Suite Server的介绍

在继续阅读本文之前,您务必要对我们在本专栏中将要讨论的一些技术有所了解。我们要使用的技术包括:可扩展的样式表语言转换(ExtensibleStylesheetLanguageTransformations,XSLT)、XML路径语言(XMLPathLanguage,XPath)和资源描述框架(ResourceDescriptionFramework,RDF)。在参考资料部分有到关于所有这些技术的信息的链接。4SuiteServer概述我们将使用由本文作者参

系统 2019-09-27 17:49:38 2024

Python

Python ValueError: invalid literal

今天在写爬虫程序的时候由于要翻页,做除法分页的时候出现了复制代码代码如下:totalCount='100'totalPage=int(totalCount)/20ValueError:invalidliteralforint()withbase10的错误网上同样的错误有人建议用round(float(“1.0″)),但是解决不了我这个问题,round(float(“1.0″))是用于解决浮点数转换为整形数的,而我这个则是因为原字符串转换为整形后做除法,虽然

系统 2019-09-27 17:45:38 2024

Python

python append、extend与insert的区别

最近在自学Python语言,看到向列表增加更多数据时被append(),extend(),insert()方法绕晕了。append和extend都只需要一个参数,并且自动添加到数组末尾,如果需要添加多个,可用数组嵌套,但是append是将嵌套后的数组作为一个对象,extend是将嵌套的数组内容作为多个对象,添加到原数组中作为编程0基础的小白,觉得有必要自己再梳理一遍:1.append()方法是指在列表末尾增加一个数据项。例如:在students列表末尾增加

系统 2019-09-27 17:37:54 2024

Python

k8s python api二次封装 例子

k8spythonapi二次封装pipinstallpprintkubernetesimporturllib3frompprintimportpprintfromkubernetesimportclientfromosimportpathimportyamlclassK8sApi(object):def__init__(self):#self.config=config.kube_config.load_kube_config()urllib3.disab

系统 2019-09-27 17:54:23 2023

Python

python下wordpdf转换总结

近期涉及到了关于doc文档读取的处理,也查了很久,为了便于大家使用,故集大成一下。Doc文档读取有如下几种:1、从doc读取文本目前没有找到直接的方式,一般是先转为docx文件在处理。所使用工具为doc2doc(批量时可用),或人工另存处理。2、从docx读取文本一般使用python-docx库的方法,但只支持创建新文档和读取一些基本的文件数据,如文件大小和文件标题,不支持正文读取。或直接从docx中读取xml的方法。3、从pdf读取文本一般使用pdf

系统 2019-09-27 17:53:01 2023

Python

python字符串切割:str.split()与re.split()的对比分析

1、str.split不支持正则及多个切割符号,不感知空格的数量,比如用空格切割,会出现下面情况。>>>s1="aabbcc">>>s1.split('')['aa','bb','','cc']因此split只适合简单的字符分割2、re.split,支持正则及多个字符切割>>>printlineabcaa;bb,cc|dd(xx).xxx12.12'xxxx按空格切>>>re.split(r'',line)['abc','aa;bb,cc','|','d

系统 2019-09-27 17:50:51 2023

Python

python如何给字典的键对应的值为字典项的字典赋值

问题1:需要得到一个类似{“demo”:{“key”:”value”}}这样格式的字典dic。dic=dict()dic_temp=dict()dic_temp={"key":"value"}dic["demo"]=dic_temp问题2:创建一个多值映射字典.。d={}forkey,valueinpairs:ifkeynotind:d[key]=[]d[key].append(value)问题3:需要得到一个类似[{“id”:1,“text”:“Root

系统 2019-09-27 17:48:04 2023

Python

python中将字典转换成其json字符串

#这是Python中的一个字典dic={'str':'thisisastring','list':[1,2,'a','b'],'sub_dic':{'sub_str':'thisissubstr','sub_list':[1,2,3]},'end':'end'}//这是javascript中的一个JSON对象json_obj={'str':'thisisastring','arr':[1,2,'a','b'],'sub_obj':{'sub_str':'t

系统 2019-09-27 17:47:24 2023