
python学习
XCCS_澍
这个作者很懒,什么都没留下…
展开
-
python中引入json 文件问题:json.decoder.JSONDecodeError: Expecting value: line 1 column 377291 (char 377290)
https://blog.youkuaiyun.com/it_ta0/article/details/80470838 首先json读取方法是: import json infile = open('my.json','r') data = json.load(infile) infile.close() 1 2 3 4 5 可是还是出错了 最后发现错误的地方: ...转载 2018-07-22 21:11:49 · 26459 阅读 · 0 评论 -
Python性能优化的20条建议
Python性能优化的20条建议 优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。 减少冗余数据 如用上三角或下三角的方式去保存一个大的对称矩阵。在0...原创 2018-07-26 00:28:16 · 648 阅读 · 0 评论 -
python中的作用域和名称空间
一、LEGB原则 Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定的。当 Python 遇到一个变量的话他会按照这样的顺 序进行搜索:本地作用域(Local)→当前作用域被嵌入的本地作用域(Enclosing locals)→全局/模块作用域(Global)→内置作用域(Built-in)。 二、总结 通过函数globals()查看全局变量字典,locals()...原创 2018-07-26 07:23:30 · 254 阅读 · 0 评论 -
“[]”运算符是通过什么方法实现的?
#1.“_getattribute_”只适用于所有的“.”运算符; #2.“_getitem_”只适用于所有的“[]”运算符; class Squanchi(object): def __init__(self,username,age): self.username=username self.age=age def __getattrib...原创 2018-07-27 06:53:23 · 198 阅读 · 0 评论 -
如何优化python的效率
“选择了脚本语言就要忍受其速度”, python作为脚本语言宗效率和性能上确实有不足之处,但优化代码也有其原则: 1,优先保证代码是可工作的; 2,权衡优化的代价; 3,定义性能指标,集中力量解决首要问题; 4,不要忽略可读性; 然后借助性能优化的工具, Psyco, Pypy---------参考自《改善python代码的91条建议》 Python性能优化的20条建议 优化算法时间复杂度...转载 2018-07-27 07:14:54 · 746 阅读 · 0 评论 -
对迭代器的理解
一、什么是迭代器 迭代,顾名思义就是重复做一些事很多次(就现在循环中做的那样)。迭代器是实现了__next__()方法的对象(这个方法在调用时不需要任何参数),它是访问可迭代序列的一种方式,通常其从序列的第一个元素开始访问,直到所有的元素都被访问才结束。[注意]:迭代器只能前进不能后退 [迭代器的优点]: 使用迭代器不要求事先准备好整个迭代过程中的所有元素。迭代器仅仅在迭代到某个元素时才计...原创 2018-07-29 11:53:40 · 16612 阅读 · 3 评论 -
对生成器的理解
附上思维整理图片: 以下内容转载于:https://blog.youkuaiyun.com/weixin_37720172/article/details/78482291 一.为什么要有生成器 秉着先问为什么,再问怎么做的原则,我们来看看为什么python会添加生成器这个功能。 python在数据科学领域可以说是很火。我想有一部分的功劳就是它的生成器了吧。 我们知道我们可以用列表储存数据,可是...原创 2018-07-29 11:58:38 · 395 阅读 · 0 评论 -
python中json文件处理涉及的四个函数json.dumps()和json.loads()、json.dump()和json.load()的区分
一、概念理解 1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串) (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数...转载 2018-08-03 21:02:18 · 216 阅读 · 0 评论 -
Python 的内存管理机制及调优手段?
内存管理机制:引用计数、垃圾回收、内存池。 一、引用计数: 引用计数是一种非常高效的内存管理手段, 当一个 Python 对象被引用时其引用计数增加 1, 当其不再被一个变量引用时则计数减 1. 当引用计数等于 0 时对象被删除。 二、垃圾回收 : 1. 引用计数 引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。当 Python 的某个对象的引用计数降为...原创 2018-08-05 06:50:53 · 1291 阅读 · 0 评论 -
Python的闭包与延时绑定问题
转载于:https://blog.youkuaiyun.com/yitiaodashu/article/details/79025502 今天一个在自学python的同学问了这么一个问题,感觉挺典型的,于是整理如下: def mul(): return [lambda x : i*x for i in range(4)] print([m(2) for m in mul()]) # outp...转载 2018-08-16 15:40:27 · 258 阅读 · 0 评论 -
python _、__和__xx__的区别
"_"单下划线 Python中不存在真正的私有方法。为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。 在使用property时,经常出现这个问题: class BaseForm(StrAndUnicode): ... def _get_errors(self): "Ret...转载 2018-08-18 21:45:55 · 478 阅读 · 0 评论 -
对Python unicode编码的说明
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码...原创 2019-04-24 21:30:38 · 2774 阅读 · 0 评论