上一篇文章分享了 Python中的那些冷知识,地址在这里 盘点 Python 中的那些冷知识(一) 今天将接着分享!! 06. 默认参数最好不为可变对象 函数的参数分三种 可变参数 默认参数 关键字参数 这三者的具体区别,和使用方法在 廖雪峰的教程 里会详细的解释.这里就不搬运了. 今天要说的是,传递默认参数时,新手很容易踩雷的一个坑. 先来看一个示例 def func(item, item_list=[]):    item_list.append(item)    print(item_li…
小明在日常Code中遇到一些好玩,冷门的事情,通常都会记录下来. 现在已经积攒了一些了,最近打算整理一波,发出来给大家补补.一篇只分享五个,有时间了就整理.不想错过的,千万记得关注一下. 1. 省略号也是对象 ... 这是省略号,在Python中,一切皆对象.它也不例外. 在 Python 中,它叫做 Ellipsis . 在 Python 3 中你可以直接写-来得到这玩意. >>> ...Ellipsis>>> type(...)<class 'ellipsis…
分析Python中解析构建数据知识 Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记语言 Html ,但主要对文档和数据进行结构化处理,被用来传输数据:json 作为一种轻量级数据交换格式,比 xml 更小巧但描述能力却不差,其本质是特定格式的字符串:Microsoft Excel 是电子表格,可进行各种数据的处理.统计分析和辅助决策操作,其数据格式为 xls.xlsx.接下来主要…
在最近学习python中遇到的一些小问题汇总一下: 1.在windows7下安装python3.5版本时提示安装不了,缺少ServicePack1.  解决办法是,打开控制面板\系统和安全\Windows Update,下载和更新计算机安装,然后卸载以前的python版本,安装新的版本,注意在安装时添加路径,如果不是默认路径则需要自己手动调整并且建一个名为python的文件夹,然后再继续后面的步骤. 2.在from graphics import * 时出现错误,提示找不到graphics模块,…
在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = """abc""" print(type(a)) # <class 'str'> print(type(b)) # <class 'str'> print(type(c)) # <class 'str'> print(typ…
逻辑行与物理行 所谓物理行(Physical Line)是你在编写程序时 你所看到 的内容.所谓逻辑行(Logical Line)是 Python 所看到 的单个语句.Python 会假定每一 物理行 会对应一个 逻辑行. 有关逻辑行的一个例子是诸如 print('hello world') 这样一句语句——如果其本身是一行(正如你在编辑器里所看到的那样),那么它也对应着一行物理行. Python 之中暗含这样一种期望:Python 鼓励每一行使用一句独立语句从而使得代码更加可读. 如果你希望在…
import json dic={ "name":"杨林" } ret=json.dumps(dic,ensure_ascii=False) #因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False print(ret) with open("j.son","w",encoding="utf-8") as f: #提前制定encodin…
面向对象知识 封装 封装的原理是,其成员变量代表对象的属性,方法代表这个对象的动作真正的封装是,经过深入的思考,做出良好的抽象(设计属性时用到),给出“完整且最小”的接口,并使得内部细节可以对外透明(注意:对外透明的意思是,外部调用者可以顺利的得到自己想要的任何功能,完全意识不到内部细节的存在)优点: 1.控制对数据的操作将数据隐藏起来这不是目的.隐藏起来然后对外提供操作该数据的接口,然后我们可以在接口附加上对该数据操作的限制,以此完成对数据属性操作的严格控制2.隐藏实现方法实现代码例如:#取款…
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https://github.com/hylinux1024 微信公众号:终身开发者(angrycode) 在Python中一切都是对象.如果要在Python中表示一个对象,除了定义class外还有哪些方式呢?我们今天就来盘点一下. 0x00 dict 字典或映射存储KV键值对,它对查找.插入和删除操作都有比较高…
python 冷知识(装13 指南) list1 += list2 和 list1 = list1 + list2 的区别 alpha = [1, 2, 3] beta = alpha # alpha 的别名 beta += [4, 5] # alpha 和 beta 都是[1, 2, 3, 4, 5] beta = beta + [6, 7] # 此时beta的内存地址已经变成了,[1, 2, 3, 4, 5, 6, 7] print(alpha) # alpha 还是 [1, 2, 3, 4…