Python的可读性和简单性是其广受欢迎的两大原因,本文介绍20个常用的Python技巧来提高代码的可读性,并能帮助你节省大量时间,下面的技巧将在你的日常编码练习中非常实用。

注:文末提供 Python 技术交流群

1. 字符串反转

字符串反转有很多方法,咱们再这里介绍两种:一种是切片,一种是python字符串的reversed方法。

# -!- coding: utf-8 -!-
string = 'hello world'# 方法1
new_str = string[::-1]
ic(new_str)# 方法二
new_str2 = ''.join(reversed(string))
ic(new_str2)'''
ic| new_str: 'dlrow olleh'
ic| new_str2: 'dlrow olleh'
'''

2. 首字母大写

这里咱们也是介绍两种方法,区别之处在于**capitalize()**仅是首字母大写

**title()**是每个单词开头的首字母都大写

# 首字母大写
string = 'hello python and world'# 方法一
new_str = string.capitalize()
ic(new_str)# 方法二
new_str2 = string.title()
ic(new_str2)'''
ic| new_str: 'Hello python and world'
ic| new_str2: 'Hello Python And World'
'''

3. 查询唯一元素

我们利用set的唯一性来确定字符串的唯一元素:

string = 'hellohellohello'
new_str = set(string)
# set类型
ic(new_str)
# 字符串类型
new_str = ''.join(new_str)
ic(new_str)'''
ic| new_str: {'l', 'o', 'h', 'e'}
ic| new_str: 'lohe'
'''

4. 变量交换

python中的变量交换比java简单多了,交换两个变量无需定义第三个中间变量,直接交换即可实现

a = 'hello'
b = 'world'
ic(a+b)# 直接交换两个变量
a, b = b, a
ic(a+b)'''
ic| a+b: 'helloworld'
ic| a+b: 'worldhello'
'''

5. 列表排序

列表排序这里我们也提供两种方式。第一个是列表自带的**sort()方法;第二个是python内置函数sorted()**方法

score = [88, 99, 91, 85, 94, 85, 94, 78, 100, 80]
# 方法一
new_score = sorted(score)
ic('默认升序:', new_score)score = [57, 29, 11, 27, 84, 34, 87, 25, 70, 60]
# 方法二
new_score2 = sorted(score, reverse=True)
ic('设置降序', new_score2)'''
ic| '默认升序:', new_score: [78, 80, 85, 85, 88, 91, 94, 94, 99, 100]
ic| '设置降序', new_score2: [87, 84, 70, 60, 57, 34, 29, 27, 25, 11]
'''

6.列表推导式

使用列表推导式可以快速生成一个列表或者根据列表生成满足需求的列表

# 生成10个10-100以内随机整数
numbers = [random.randint(10, 100) for x in range(10)]
ic(numbers)# 输入5折后的价格
price = [800, 500, 400, 860, 780, 520, 560]
half_price = [(x*0.5)for x in price]
ic(half_price)'''
ic| numbers: [64, 22, 80, 70, 34, 81, 74, 35, 85, 12]
ic| half_price: [400.0, 250.0, 200.0, 430.0, 390.0, 260.0, 280.0]
'''

7. 合并字符串

合并字符串我们使用string的.join()方法实现

lists = ['hello', 'world', 'python', 'java', 'c++']# 合并字符串
new_str = ' '.join(lists)
ic(new_str)'''
ic| new_str: 'hello world python java c++'
'''

8. 拆分字符串

拆分字符串我们使用string的split()方法实现

string = 'hello world python java c++'
string2 = 'hello|world|python|java|c++'# 拆分字符串
new_str = string.split(' ')
ic(new_str)new_str2 = string2.split('|')
ic(new_str2)'''
ic| new_str: ['hello', 'world', 'python', 'java', 'c++']
ic| new_str2: ['hello', 'world', 'python', 'java', 'c++']
'''

9. 回文串检测

回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。我们可以根据之前提到的切片来检测这种特殊的字符串序列

str = '20211202'if str == str[::-1]:print('yes')
else:print('no')'''
yes
'''

10. 统计列表元素出现次数

统计列表中元素各自出现的次数我们使用collections 的Counter方法

from collections import Counter
lists = ['a', 'a', 'b', 'b', 'b', 'c', 'd', 'd', 'd', 'd', 'd']# 统计所有元素出现的次数
counts = Counter(lists)
ic(counts)# 统计某一元素出现的次数
ic(counts['d'])# 统计出现最多次数的一个元素
ic(counts.most_common(1))'''
ic| counts: Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})
ic| counts['d']: 5
ic| counts.most_common(1): [('d', 5)]
'''

技术交流

欢迎转载、收藏、有所收获点赞支持一下!

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

提高 Python 代码的可读性,你需要知道这10个技巧相关推荐

  1. (译)用多重赋值和元组解包提高python代码的可读性

    原文链接(侵删): http://treyhunner.com/2018/03/tuple-unpacking-improves-python-code-readability/ 无论我是教pytho ...

  2. 如何提高Python代码的可读性?

    程序的编码风格,指的是一个人在编写程序时表现出来的特点.习惯逻辑思路等. 对于程序员来说,在开发时要重视其编写规范,程序不仅应该能够在机器上正确执行,还应便于调试.维护及阅读. 下面,播妞举例说明一些 ...

  3. python 代码换行_你一定不知道的Python小技巧,提升你Python代码的可读性

    Python的初学者,开发者都应该知道的代码可读性提高技巧,本篇主要介绍了如下内容: PEP 8是什么以及它存在的原因 为什么你应该编写符合PEP 8标准的代码 如何编写符合PEP 8的代码 为什么我 ...

  4. 提高 Python 代码可读性的 5 个基本技巧

    不知道小伙伴们是否有这样的困惑,当我们回顾自己 6 个月前编写的一些代码时,往往会看的一头雾水,或者是否当我们接手其他人的代码时, Python 中有许多方法可以帮助我们理解代码的内部工作原理,良好的 ...

  5. 使用Cython提高python代码执行速度

    2022.2.21更新 python程序执行效率是明显低于c的. 优化python代码的一个思路就是:将python的核心代码(一般是需要多次调用,或核心循环部分)转换成c语言. 不需要将程序重新改写 ...

  6. 如何提高自己代码的可读性?

    你自己的代码可读性怎么样,能让不懂代码的同学看懂主要逻辑吗?有没有"觉得大家的代码风格都差不多"这种感觉? 有没有被吐槽过,或者被赞扬过? 是否也写过或见过几百行的代码,内部调用的 ...

  7. 为了提高python代码运行速度和进行_一行代码让你的python运行速度提高100倍

    Python用的好,猪也能飞起来.今天,带大家学习如何让Python飞起来的方法,干货满满哦! python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器 ...

  8. 提高python代码能力_解决不了bug先放着,这里有40条提升编程技能小妙招

    点击上方 "Python人工智能技术" 关注,星标或者置顶 22点24分准时推送,第一时间送达 来自:公众号 机器之心 | 编辑:真经君 Python人工智能技术(ID:coder ...

  9. 让 Python 代码更易维护的七种武器——代码风格(pylint、Flake8、Isort、Autopep8、Yapf、Black)测试覆盖率(Coverage)CI(JK)...

    让 Python 代码更易维护的七种武器 2018/09/29 · 基础知识 · 武器 原文出处: Jeff Triplett   译文出处:linux中国-Hank Chow    检查你的代码的质 ...

最新文章

  1. python 连续矫正_Python实现系统时间自动校正 | 学步园
  2. xshell 家庭/学校 免费教育版下载
  3. 印度HCL揭秘云计算五大盈利模式
  4. Linux禁止非WHEEL用户使用SU命令
  5. java中间件_90%的Java程序员,都扛不住这波消息中间件的面试四连炮!
  6. Hadoop教程(三)HDFS文件系统Shell命令
  7. tcp/ip,http,socket mysql底层技术原理
  8. 阿里员工:只有两百万现金和一套房,这样干着没意思
  9. oracle常用函数汇总【持续更新中...】
  10. 记一次3dmax操作入门(二)模型导入,选择和显示
  11. 智能商场管理系统(可当做毕设)
  12. Oracle Database 12c新特性 In-Database Archiving数据库内归档
  13. w10系统服务器如何创建新用户,win10添加新用户的方法分享
  14. arccatalog点要素显示不完_shp文件转为dwg之后在arcgis下打开属性表有高程信息但在cad里面打开为何没高程 - 地学 - 小木虫 - 学术 科研 互动社区...
  15. 命令式和声明式,哪个才是你的菜
  16. pg服务管理 与 psql常用命令
  17. CNSD/Echarts图的使用
  18. 实现动态输入关键字时关键字高亮
  19. 电子报表数据稽核实践-VLOOKUP函数的妙用
  20. libpython3.7m so静态库_Python3.7:加载共享库时出错:libpython3.7m.so.1.0

热门文章

  1. coding coffee HTML文档
  2. 从零开始写高性能的人脸识别服务器(二)
  3. 在线教育行业和产品数据分析报告
  4. 数字未来 认识DMA基金会
  5. Go专家编程 timer、ticker
  6. 反恐精英系列《CS 2》将于今夏推出,在起源2的加持下视觉、玩法和环境效果可谓十分震撼
  7. ubuntu16 无法调节亮度问题
  8. 【unity 保卫星城】--- 开发笔记01(飞机移动)
  9. 移动端rem字体大小适配
  10. Linux的使用及软件安装