首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

改善Python程序一些建议

第一章:引论 建议1、理解Pythonic概念----详见Python中《Python之禅》 建议2、编写Pythonic代码 (1)避免不规范代码,比如只用大小写区分变量、使用容易混淆变量名、害怕过长变量名等...有时候长变量名会使代码更加具有可读性。 (2)深入学习Python相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认Pythonic代码库,比如Flask等。...建议22:习惯使用with自动关闭资源,特别是在文件读写中 建议23:使用else子句简化循环(异常处理) 建议24:遵循异常处理几点基本原则 (1)注意异常粒度,try块中尽量少写代码 (2)谨慎使用单独...其返回表示Python解释器内部定义 (2)在解释器中直接输入变量,默认调用repr函数,而print(var)默认调用str函数 (3)repr函数返回一般可以用eval函数来还原对象 (4)...两者分别调用对象内建函数__str__()和__repr__() 建议35:分清静态方法staticmethod和类方法classmethod使用场景 作者:笑虎 源自:https://zhuanlan.zhihu.com

59070
您找到你想要的搜索结果了吗?
是的
没有找到

python 三元表达式 if for 构建List 进阶用法

[if]...语句一种简洁构建List方法,从for给定List中选择出满足if条件元素组成新List,其中if是可以省略。下面举几个简单例子进行说明。...2.嵌套for...[if]...语句 嵌套for...[if]...语句可以从多个List中选择满足if条件元素组成新List。下面也举几个例子。...,判断某个数字是否是素数时候需要遍历比它自己小整数,任何一个满足整除情况则判断结束,否则打印这是一个素数info,有了else加持,整个例子逻辑相当“self-expressive”,如同伪代码一般好理解而且相比在判断整除时候设置标志然后在函数结尾处判断标志决定是否打印数字时素数消息...,else语句里逻辑会被执行,当然这个例子可能并没有什么太多实际用处,但大致能说明else在错误处理中用处:简化逻辑,避免使用一些标志就能够准确把握是否发生错误情况来做一些实际操作(比如在保存数据时候如果发生错误...善用else语句块能够让我们编写出更加简明,更加接近自然语言语义代码,当然也会更加pythonic,细微之处大家可以慢慢体会。

7.8K00

几段代码,测测你是 Python 菜鸟还是老鸟

更好实现方式: for i in lst: print(i) 这种不影响功能,但能简化程序、提高可读性语法,我们称之为“语法糖”(Syntactic sugar)。...Python 中类似的例子还有不少,来举几个: 1、交换两个变量,普通写法: temp = aa = bb = temp pythonic 写法: a, b = b, a 2、类似的解包(unpacking...)用法还可以实现多个返回函数。...于是你不得不增加更多判断。 pythonic 写法: value = dct.get(key, 0) 改用 get 方法,不存在时会得到 None,或者指定默认(这里是 0)。...篇幅所限,以上仅仅是一些比较具有代表性例子。但凡事要有度,过分追求 pythonic 写法也可能导致代码可读性下降。比如有人喜欢把很多功能写在一个语句中,这反倒不 pythonic 了。

71480

对比几段代码,看看你是 Python 菜鸟还是老鸟(另有福利)

更好实现方式: for i in lst: print(i) 这种不影响功能,但能简化程序、提高可读性语法,我们称之为“语法糖”(Syntactic sugar)。...)用法还可以实现多个返回函数。...pass pythonic 写法: if x: pass if not y: pass if z is None: pass 8、根据键名获取字典中对应,普通写法: value...于是你不得不增加更多判断。 pythonic 写法: value = dct.get(key, 0) 改用 get 方法,不存在时会得到 None,或者指定默认(这里是 0)。...篇幅所限,以上仅仅是一些比较具有代表性例子。但凡事要有度,过分追求 pythonic 写法也可能导致代码可读性下降。比如有人喜欢把很多功能写在一个语句中,这反倒不 pythonic 了。

70040

总结了90条简单实用Python编程技巧!

大数据文摘转载自达纳斯特 编码原则 建议1:理解 Pythonic 概念—-详见 Python 中《Python之禅》 建议2:编写 Pythonic 代码 (1)避免不规范代码,比如只用大小写区分变量...有时候长变量名会使代码更加具有可读性。 (2)深入学习 Python 相关知识,比如语言特性、库特性等,比如Python演变过程等。...深入学习一两个业内公认 Pythonic 代码库,比如Flask等。 建议3:理解 Python 与 C 不同之处,比如缩进与 {},单引号双引号,三元操作符?...,不表示操作 建议22:习惯使用 with 自动关闭资源,特别是在文件读写中 建议23:使用 else 子句简化循环(异常处理) 建议24:遵循异常处理几点基本原则 (1)注意异常粒度,try 块中尽量少写代码...(4)两者分别调用对象内建函数 str ()和 repr () 建议35:分清静态方法 staticmethod 和类方法 classmethod 使用场景 库使用 建议36:掌握字符串基本用法

32031

来看几段代码,测测你是 Python 菜鸟还是老鸟

更好实现方式: for i in lst: print(i) 这种不影响功能,但能简化程序、提高可读性语法,我们称之为“语法糖”(Syntactic sugar)。...)用法还可以实现多个返回函数。...pass pythonic 写法: if x: pass if not y: pass if z is None: pass 8、根据键名获取字典中对应,普通写法: value...于是你不得不增加更多判断。 pythonic 写法: value = dct.get(key, 0) 改用 get 方法,不存在时会得到 None,或者指定默认(这里是 0)。...篇幅所限,以上仅仅是一些比较具有代表性例子。但凡事要有度,过分追求 pythonic 写法也可能导致代码可读性下降。比如有人喜欢把很多功能写在一个语句中,这反倒不 pythonic 了。

54150

编写高质量代码 改善 Python 程序 91 个建议

建议1:理解Pythonic概念 建议2:编写Pythonic代码 建议3:理解Python与C语言不同之处 建议4:在代码中适当添加注释 建议5:通过适当添加空行使代码布局更为优雅、合理 建议6:编写函数...4个原则 建议7:将常量集中到一个文件 建议8:利用assert语句来发现问题 建议9:数据交换时候不推荐使用中间变量 建议10:充分利用Lazy evaluation特性 ?...建议11:理解枚举替代实现缺陷 建议12:不推荐使用type来进行类型检查 建议13:尽量转换为浮点类型后再做除法 建议14:警惕eval()安全漏洞 建议15:使用enumerate()获取序列迭代索引和...import来导入模块 建议21:i+=1 不等于 ++i 建议22:使用with自动关闭资源 建议23:使用else子句简化循环(异常处理) 建议24:遵循异常处理几点基本原则 建议25:避免finally...建议30:[]、()和{}: 一致容器初始化形式 建议31:记住函数传参既不是传也不是传引用 建议32:警惕默认参数潜在问题 建议33:慎用变长参数 建议34:深入理解str()和repr()区别

65530

91 条写 Python 程序建议

引论 建议1、理解 Pythonic 概念—-详见 Python 中《Python之禅》 建议2、编写 Pythonic 代码 (1)避免不规范代码,比如只用大小写区分变量、使用容易混淆变量名、害怕过长变量名等...有时候长变量名会使代码更加具有可读性。 (2)深入学习 Python 相关知识,比如语言特性、库特性等,比如Python演变过程等。...) 建议21:i+=1 不等于 ++i,在 Python 中,++i 前边加号仅表示正,不表示操作 建议22:习惯使用 with 自动关闭资源,特别是在文件读写中 建议23:使用 else 子句简化循环...,其返回表示 Python 解释器内部定义 (2)在解释器中直接输入变量,默认调用repr函数,而print(var)默认调用str函数 (3)repr函数返回一般可以用eval函数来还原对象...(4)两者分别调用对象内建函数 __str__() 和 __repr__() 建议35:分清静态方法 staticmethod 和类方法 classmethod 使用场景 4.

59920

为什么你Python代码质量如此不堪……

引论 建议1、理解Pythonic概念—-详见Python中《Python之禅》 建议2、编写Pythonic代码 (1)避免不规范代码,比如只用大小写区分变量、使用容易混淆变量名、害怕过长变量名等...有时候长变量名会使代码更加具有可读性。 (2)深入学习Python相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认Pythonic代码库,比如Flask等。...建议22:习惯使用with自动关闭资源,特别是在文件读写中 建议23:使用else子句简化循环(异常处理) 建议24:遵循异常处理几点基本原则 (1)注意异常粒度,try块中尽量少写代码 (2)谨慎使用单独...其返回表示Python解释器内部定义 (2)在解释器中直接输入变量,默认调用repr函数,而print(var)默认调用str函数 (3)repr函数返回一般可以用eval函数来还原对象 (4)...两者分别调用对象内建函数__str__()和__repr__() 建议35:分清静态方法staticmethod和类方法classmethod使用场景 库 建议36:掌握字符串基本用法 建议37

1.3K40

Python | 改善Python程序91个建议

1:引论 建议1、理解Pythonic概念—-详见Python中《Python之禅》 建议2、编写Pythonic代码 避免不规范代码,比如只用大小写区分变量、使用容易混淆变量名、害怕过长变量名等。...有时候长变量名会使代码更加具有可读性。 深入学习Python相关知识,比如语言特性、库特性等,比如Python演变过程等。深入学习一两个业内公认Pythonic代码库,比如Flask等。...建议22:习惯使用with自动关闭资源,特别是在文件读写中 建议23:使用else子句简化循环(异常处理) 建议24:遵循异常处理几点基本原则 注意异常粒度,try块中尽量少写代码 谨慎使用单独...*args和**kargs 这种使用太灵活,从而使得函数签名不够清晰,可读性较差 如果因为函数参数过多而是用变长参数简化函数定义,那么一般该函数可以重构 建议34:深入理解str()和repr()区别...)和__repr__() 建议35:分清静态方法staticmethod和类方法classmethod使用场景 4:库 建议36:掌握字符串基本用法 建议37:按需选择sort()和sorted()

1.4K31

90 条实用编写Python 程序建议

一 编程前言 建议1:理解Pythonic概念,详见Python中《Python之禅》。 建议2:编写Pythonic代码建议。...(1)避免不规范代码,比如只用大小写区分变量、使用容易混淆变量名、害怕过长变量名等,有时候长变量名会使代码更加具有可读性; (2)深入学习Python相关知识,比如语言特性、库特性等,比如Python...演变过程等,深入学习一两个业内公认Pythonic代码库,比如Flask等; 建议3:理解Python与C不同之处,比如缩进与{},单引号双引号,三元操作符?...建议23:使用else子句简化循环(异常处理)。 建议24:遵循异常处理几点基本原则。...__str__ ()和 __repr__ (); 建议35:分清静态方法staticmethod和类方法classmethod使用场景。

54610

Python(一)让你代码更加pythonic

关键词:python; pythonic pythonic就是让你代码更加具有python特色,通常是利用python独有的一些语法实现。...pythonic代码往往更加简洁、优美和高效,不信你接着往下瞧: 比如,交换两个变量,通常做法是 ? 而pythonic写法只需要一行,简单高效: ? 这样例子还有很多,本文将一一罗列。...字符串列表拼接 ? ? 列表推导式 ? ? 相应地,还有字典推导式(python2.7及以上版本支持) ? ? 字典默认 dictget(key,default)方法用来获取字典中key。...这样就省去了写if…else…繁琐。 ? ? zip:配对两个数组 zip方法返回是一个元组,将两个数组中一一配对。 ? ? 利用zip(*)解配对: ? ?...文件打开和关闭 使用with方法,Python将自动管理文件流打开与关闭,无需手动操作。 ? ? 怎么样,pythonic写法是不是很简练、优美!

55820

pythonic风格代码有什么好处?附12个代码实例

pythonic方法 a = [1,2,3,4,5,6,7,8,9,10] result = [x**2 for x in a if x%2==0] 「2、用生成器表达式来代替数据量较大列表推导」...# 任务:对比两个列表相同索引位置元素大小,输出较大 # 非pythonic方法 a = [1,5,7] b = [2,4,6] for i in range(len(a)): if a[...方法 import sys, os # pythonic方法 import os import sys from subprocess import Popen, PIPE 「9、交换两个变量」...、判断一个是否为True、空列表、None」 # 非pythonic方法 if x == True: pass if len(y) == 0: pass if z == None:...具有单一功能 包含文档注释 返回一个 函数和类应该用两个空行隔开 尽量使用内置函数 「补充」 最后说下PEP8规范,PEP8是Python编码规范,其目的在于提高代码可读性。

49510

Python合并两个字典成一个新字典几种方法比较

注意,先添加是d1,以保证后面添加d2重复键会覆盖d1。此方法满足了我们要求,而且清晰明确,可是三行代码总感觉不够Pythonic。...d1方法,更明显表现出d1作为默认。...(d1.items() | d2.items())这种方法挺有意思,可是并不准确,因为集合是无序,键重复时不能保证谁覆盖谁,而且字典中通常也是不可哈希,当然也就不能返回一个类似集合对象。...(ChainMap(d1, d2))这种方法也很pythonic,而且也是通用方法。...10.字典拆分在Python3.5+中,可以使用一种全新字典合并方式:>>> d = {**d1, **d2}这行代码很pythonic,如果是你python版本是3.5+,用这种方法是很不错选择

40320

荐书与免费送书:《编写高质量代码改善 Python 程序 91 个建议》

再往下看看目录: 第1章 引论 1 建议1:理解Pythonic概念 1 建议2:编写Pythonic代码 5 建议3:理解Python与C语言不同之处 8 建议4:在代码中适当添加注释 10 建议5...:通过适当添加空行使代码布局更为优雅、合理 12 建议6:编写函数4个原则 15 建议7:将常量集中到一个文件 18 第2章 编程惯用法 20 建议8:利用assert语句来发现问题 20 建议9:数据交换时候不推荐使用中间变量...建议14:警惕eval()安全漏洞 31 建议15:使用enumerate()获取序列迭代索引和 33 建议16:分清==与is适用场景 35 建议17:考虑兼容性,尽可能使用Unicode...建议21:i+=1不等于++i 50 建议22:使用with自动关闭资源 50 建议23:使用else子句简化循环(异常处理) 53 建议24:遵循异常处理几点基本原则 55 建议25:避免finally...29:区别对待可变对象和不可变对象 68 建议30:[]、()和{}:一致容器初始化形式 71 建议31:记住函数传参既不是传也不是传引用 73 建议32:警惕默认参数潜在问题 77 建议33:慎用变长参数

48720

如何激怒一位Python爱好者?

写代码不那么pythonic风格,多多少少都会让人有点难受。 什么是pythonic呢?...在Python中大家可以把一个复杂功能,用多个函数去分解,一个函数代码行数最好不要超过十行,如果确实需要很多代码,那就进行分解,多写几个函数来实现。...比如以下函数,用来实现csv文件读取、行去重、空剔除、保存等功能。...,较难阅读 列表推导式可以简化列表创建,既实用还能让代码更加美观,但列表推导式只适合创建逻辑简单列表,对于很复杂且代码量大列表,是不建议用列表推导式,比如以下案例。...风格规范,需要大家注意,建议按照约定俗成方法去写,第一原则是可读性强,可读性强,可读性强。

12210

手把手教你学会Python函数式编程

魔术方法就像是一个API,可以帮助你对象变得更加Pythonic。...一些对象将具有魔术方法\_\_next\_\_而不是\_\_iter\_\_魔术方法,例如集合(在本文后面讨论)。对于本文,我们假设我们接触所有内容都是可迭代对象。...冒号之后任何内容都是您对输入所做操作,它会自动返回结果。 简化我们square程序到只有一行代码,我们可以这样做: 所以在lambda表达式中,所有参数都在左边,你要用它们做东西在右边。...一等公民被定义为具有以下一个或多个特征: 在运行时创建 在数据结构中分配变量或元素 作为函数参数传递 作为函数结果返回 Python中所有函数都可以用作高阶函数。...您可能会注意到set(集合)与dict(字典)具有相同花括号。 Python非常聪明。根据你是否为dict提供,它会知道你是在写dict推导还是set推导。 总结 函数式编程美观而纯粹。

1.1K20
领券