pep

sublime python 去掉单行超出字数的白色框框 (E501)

吃可爱长大的小学妹 提交于 2020-04-12 13:50:12
方法一 E501错误:行过长 (大于79个字符),在配置文件里设置 忽略E501错误即可 首选项-->Package Settings-->Anaconda-->Settings -- User 在配置文件里添加如下代码 { "pep8_ignore" : [ "E501" ] } Ctrl + s 保存即可 方法二 把允许的最大长度修改大一点就好了,我设置成了999 在上述配置文件里添加如下代码 { "pep8_max_line_length": 999 , } Ctrl + s 保存即可 来源: oschina 链接: https://my.oschina.net/u/4411837/blog/3230789

「Python猫」公众号原创文章列表

∥☆過路亽.° 提交于 2020-03-10 03:23:51
原创文章随手记录,如有遗漏,请通过公众号(id:python_cat)获取。 如需转载,请查看开白申请: https://shimo.im/docs/3B1zfZRM8d4BS4b7 ======喵星来客系列 1、有了Python,我能叫出所有猫的名字 https://mp.weixin.qq.com/s/ch8JkAgcgi2o4HtGAUfZVg 2、Python对象的身份迷思:从全体公民到万物皆数 https://mp.weixin.qq.com/s/YQbk0smMTCexsi3Ytd2AzA 3、Python对象的空间边界:独善其身与开放包容 https://mp.weixin.qq.com/s/q0QvAqXcZzURH3aZ5gZm8A 4、 Python与家国天下 https://mp.weixin.qq.com/s/EsWmCbH3RtL_QpafyMryOw 5、遇见一只黑猫,她说程序员都是骗子 改标题:遇见一只黑猫,她说Python是个怪物 https://mp.weixin.qq.com/s/e9B_jpyeSMkmEpuRQqqk4g ======持续更新中…… ======Python基础 1、超强汇总:学习Python列表,只需这篇文章就够了 https://mp.weixin.qq.com/s/OKf7N3xxrS0tJ_K8Srw-jA 2

Python中字符串拼接的N种方法

懵懂的女人 提交于 2020-03-02 03:22:42
python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果: Hello World! 使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。 ②通过str.join()方法拼接 strlist=['Hello',' ','World','!'] print(''.join(strlist)) 输出结果: Hello World! 这种方式一般常使用在将集合转化为字符串,''.join()其中''可以是空字符,也可以是任意其他字符,当是任意其他字符时,集合中字符串会被该字符隔开,例如: ​strlist=['Hello',' ','World','!'] print(','.join(strlist)) 输出结果: Hello, ,World,! ③通过str.format()方法拼接 s='{} {}!'.format('Hello','World') print(s) 输出结果: Hello World! 通过这种方式拼接字符串需要注意的是字符串中{}的数量要和format方法参数数量一致,否则会报错。 ④通过(%)操作符拼接 s = '%s %s!' % (

Python PEP8规范整理

对着背影说爱祢 提交于 2020-03-01 23:47:08
PEP8规范总结 PEP8 是什么呢,简单说就是一种编码规范,是为了让代码“更好看”,更容易被阅读。 具体有这些规范,参考 PEP 8 -- Style Guide for Python Code .当然也可以使用Pycharm检查或使用pylint.下面是规范总结 缩进 不要使用 tab 缩进 使用任何编辑器写 Python,请把一个 tab 展开为 4 个空格 绝对不要混用 tab 和空格,否则容易出现 IndentationError 空格 在 list, dict, tuple, set, 参数列表的 , 后面加一个空格 在 dict 的 : 后面加一个空格 在注释符号 # 后面加一个空格,但是 #!/usr/bin/python 的 # 后不能有空格 操作符两端加一个空格,如 +, -, *, /, |, &, = 接上一条,在参数列表里的 = 两端不需要空格 括号((), {}, [])内的两端不需要空格 空行 function 和 class 顶上两个空行 class 的 method 之间一个空行 函数内逻辑无关的段落之间空一行,不要过度使用空行 不要把多个语句写在一行,然后用 ; 隔开 if/for/while 语句中,即使执行语句只有一句,也要另起一行 换行 每一行代码控制在 80 字符以内 使用 \ 或 () 控制换行,举例: def foo(first,

蟒周刊-409-PyCon2020US 按时开始注册,没受疫情影响

柔情痞子 提交于 2020-02-28 15:27:39
原文: PyCoder's Weekly - Issue #409 200205 Zoom.Quiet (大妈) 用时 42 分钟 完成快译 200205 Zoom.Quiet (大妈) 用时 17 分钟 完成格式转抄. 分析NBA助攻: 如何使用Python可视化数据中的隐藏关系 JP HWANG Using basketball as the background setting, the author discusses several different strategies for uncovering relationships and producing beautiful visualizations with Python. ( 是也乎: 其实, 前提是有老司机能先识别出关系, 才能找到数据模型来提取. ) PyCon美国2020年 Packaging 峰会:注册和主题提案 PYTHON.ORG Registration is open for the PyCon US 2020 Packaging Summit. Topic proposals are also being accepted. Both registration and topic proposals close on March 7, 2020. ( 是也乎: 来了, 来了, 没受疫情影响 )

空集文字?

孤者浪人 提交于 2020-02-28 05:07:24
[] =空 list () =空 tuple {} =空 dict 空 set 是否有类似的符号? 还是我必须写 set() ? #1楼 这取决于您是否要使用文字进行比较或赋值。 如果要使现有集合为空,则可以使用 .clear() 方法,尤其是要避免创建新对象时。 如果要进行比较,请使用 set() 或检查长度是否为0。 例: #create a new set a=set([1,2,3,'foo','bar']) #or, using a literal: a={1,2,3,'foo','bar'} #create an empty set a=set() #or, use the clear method a.clear() #comparison to a new blank set if a==set(): #do something #length-checking comparison if len(a)==0: #do something #2楼 只是为了扩展公认的答案: 从 2.7 版和 3.1 版开始,python已以用法 {1,2,3} 形式 set 文字 {} {1,2,3} ,但 {} 本身仍用于空字典。 Python 2.7(第一行在Python <2.7中无效) >>> {1,2,3}.__class__ <type 'set'> >>> {}._

Python在类中是否具有“私有”变量?

我的未来我决定 提交于 2020-02-28 02:58:57
我来自Java世界,正在阅读Bruce Eckels的 Python 3 Patterns,Recipes和Idioms 。 在阅读类时,它继续说在Python中,无需声明实例变量。 您只需在构造函数中使用它们,然后它们就在那里。 因此,例如: class Simple: def __init__(self, s): print("inside the simple constructor") self.s = s def show(self): print(self.s) def showMsg(self, msg): print(msg + ':', self.show()) 如果是这样,那么 Simple 类的任何对象都可以在类外部更改变量 s 的值。 例如: if __name__ == "__main__": x = Simple("constructor argument") x.s = "test15" # this changes the value x.show() x.showMsg("A message") 在Java中,我们已经学会了有关公共/私有/保护变量的知识。 这些关键字之所以有意义,是因为有时您需要一个类中的变量,而该类之外的任何人都无法访问该变量。 为什么在Python中不需要这样做? #1楼

如何从集合中检索元素而不删除它?

廉价感情. 提交于 2020-02-26 22:01:05
假设如下: >>> s = set([1, 2, 3]) 如何在不执行 s.pop() s 情况下从 s 获取值(任何值 s.pop() ? 我想把这个项留在集合中,直到我确定我可以删除它 - 我只能在异步调用另一个主机后才能确定。 又快又脏: >>> elem = s.pop() >>> s.add(elem) 但是你知道更好的方法吗? 理想情况下在恒定的时间。 #1楼 要提供不同方法背后的一些时序数据,请考虑以下代码。 get()是我对Python的setobject.c的自定义添加,只是一个pop()而不删除元素。 from timeit import * stats = ["for i in xrange(1000): iter(s).next() ", "for i in xrange(1000): \n\tfor x in s: \n\t\tbreak", "for i in xrange(1000): s.add(s.pop()) ", "for i in xrange(1000): s.get() "] for stat in stats: t = Timer(stat, setup="s=set(range(100))") try: print "Time for %s:\t %f"%(stat, t.timeit(number=1000)) except: t

导入语句是否应该始终位于模块的顶部?

喜夏-厌秋 提交于 2020-02-26 16:35:34
PEP 08 指出: 导入总是放在文件的顶部,紧随任何模块注释和文档字符串之后,以及模块全局变量和常量之前。 但是,如果仅在极少数情况下使用我要导入的类/方法/函数,那么在需要时进行导入肯定会更有效吗? 这不是吗? class SomeClass(object): def not_often_called(self) from datetime import datetime self.datetime = datetime.now() 比这更有效? from datetime import datetime class SomeClass(object): def not_often_called(self) self.datetime = datetime.now() #1楼 当函数被调用零次或一次时,第一种变体的确比第二种变体更有效。 但是,在第二次及其后的调用中,“导入每个调用”方法实际上效率较低。 请参阅 此链接 以获取延迟加载技术,该技术通过执行“延迟导入”结合了两种方法的优点。 但是,除了效率之外,还有其他原因导致您可能会偏爱一个。 一种方法是使阅读该模块相关代码的人更加清楚。 它们还具有非常不同的故障特征-如果没有“ datetime”模块,第一个将在加载时失败,而第二个在调用该方法之前不会失败。 补充说明: 在IronPython中

Python多行字符串的正确缩进

余生长醉 提交于 2020-02-26 09:36:11
函数中Python多行字符串的正确缩进是什么? def method(): string = """line one line two line three""" 要么 def method(): string = """line one line two line three""" 或者是其他东西? 在第一个例子中将字符串悬挂在函数外部看起来有点奇怪。 #1楼 还有一些选择。 在启用了pylab的Ipython中,dedent已经在命名空间中。 我查了一下,它来自matplotlib。 或者它可以导入: from matplotlib.cbook import dedent 在文档中,它声明它比textwrap等效的快,并且在我的ipython测试中,它的平均速度确实快了3倍。 它还有一个好处,它丢弃任何前导空行,这使您可以灵活地构建字符串: """ line 1 of string line 2 of string """ """\ line 1 of string line 2 of string """ """line 1 of string line 2 of string """ 在这三个例子中使用matplotlib dedent将给出相同的合理结果。 textwrap dedent函数将在第一个示例中有一个前导空白行。 显而易见的缺点是textwrap在标准库中