提高 Python 代码的可读性,你需要知道的十个技巧

Python的可读性和简单性是其广受欢迎的两大原因,本文介绍10个常用的Python技巧来提高代码的可读性,并能帮助你节省大量时间,下面的技巧将在你的日常编码练习中非常实用。 2021-12-08 23:38:25 Python工具代码 好记性不如烂笔头-Webpack篇 指示webpack如何去输出、以及在哪里输出你的bundle、asset 和其他你所打包或使用 webpack载入的任何内容。 2021-12-08 22:48:16 Webpack异步同步 一文看懂:如何搭建经营分析体系 今天为大家分享的,是数据分析的经典分枝——经营分析。经营分析非常有历史了,早在“数据分析”这个名词火起来之前就已经存在了。今天一起来看看。 2021-12-08 22:29:41 经营分析体系 了解 Linkerd Service Mesh 架构 从较高的层次上看,Linkerd 由一个控制平面(control plane) 和一个 数据平面(data plane) 组成。 2021-12-08 17:54:55 架构控制平面 如何友好地将安全性集成到 CI/CD 中? 译文 对云原生基础设施的攻击呈上升趋势。2021 年为期六个月的研究表明,在过去六个月中,对容器环境的攻击增加了26。恶意行为者的目标是自动构建过程、打包有效负载、使用 rootkit 并破坏配置错误的 API——通常在安装后不到一个小时内。

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

1. 字符串反转

[[439418]]

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

  1. #-!-coding:utf-8-!-
  2. string='helloworld'
  3. #方法1
  4. new_str=string[::-1]
  5. ic(new_str)
  6. #方法二
  7. new_str2=''.join(reversed(string))
  8. ic(new_str2)
  9. '''
  10. ic|new_str:'dlrowolleh'
  11. ic|new_str2:'dlrowolleh'
  12. '''

2. 首字母大写

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

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

  1. #首字母大写
  2. string='hellopythonandworld'
  3. #方法一
  4. new_str=string.capitalize()
  5. ic(new_str)
  6. #方法二
  7. new_str2=string.title()
  8. ic(new_str2)
  9. '''
  10. ic|new_str:'Hellopythonandworld'
  11. ic|new_str2:'HelloPythonAndWorld'
  12. '''

3. 查询唯一元素

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

  1. string='hellohellohello'
  2. new_str=set(string)
  3. #set类型
  4. ic(new_str)
  5. #字符串类型
  6. new_str=''.join(new_str)
  7. ic(new_str)
  8. '''
  9. ic|new_str:{'l','o','h','e'}
  10. ic|new_str:'lohe'
  11. '''

4. 变量交换

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

  1. a='hello'
  2. b='world'
  3. ic(a+b)
  4. #直接交换两个变量
  5. a,b=b,a
  6. ic(a+b)
  7. '''
  8. ic|a+b:'helloworld'
  9. ic|a+b:'worldhello'
  10. '''

5. 列表排序

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

  1. score=[88,99,91,85,94,85,94,78,100,80]
  2. #方法一
  3. new_score=sorted(score)
  4. ic('默认升序:',new_score)
  5. score=[57,29,11,27,84,34,87,25,70,60]
  6. #方法二
  7. new_score2=sorted(score,reverse=True)
  8. ic('设置降序',new_score2)
  9. '''
  10. ic|'默认升序:',new_score:[78,80,85,85,88,91,94,94,99,100]
  11. ic|'设置降序',new_score2:[87,84,70,60,57,34,29,27,25,11]
  12. '''

6.列表推导式

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

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

7. 合并字符串

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

  1. lists=['hello','world','python','java','c++']
  2. #合并字符串
  3. new_str=''.join(lists)
  4. ic(new_str)
  5. '''
  6. ic|new_str:'helloworldpythonjavac++'
  7. '''

8. 拆分字符串

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

  1. string='helloworldpythonjavac++'
  2. string2='hello|world|python|java|c++'
  3. #拆分字符串
  4. new_str=string.split('')
  5. ic(new_str)
  6. new_str2=string2.split('|')
  7. ic(new_str2)
  8. '''
  9. ic|new_str:['hello','world','python','java','c++']
  10. ic|new_str2:['hello','world','python','java','c++']
  11. '''

9. 回文串检测

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

  1. str='20211202'
  2. ifstr==str[::-1]:
  3. print('yes')
  4. else:
  5. print('no')
  6. '''
  7. yes
  8. '''

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

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

  1. fromcollectionsimportCounter
  2. lists=['a','a','b','b','b','c','d','d','d','d','d']
  3. #统计所有元素出现的次数
  4. counts=Counter(lists)
  5. ic(counts)
  6. #统计某一元素出现的次数
  7. ic(counts['d'])
  8. #统计出现最多次数的一个元素
  9. ic(counts.most_common(1))
  10. '''
  11. ic|counts:Counter({'d':5,'b':3,'a':2,'c':1})
  12. ic|counts['d']:5
  13. ic|counts.most_common(1):[('d',5)]
  14. '''

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月5日 18:44
下一篇 2023年5月5日 18:44

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信