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

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

 1. 字符串反转

[[439418]]

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

  1. # -!- coding: utf-8 -!- 
  2. string = 'hello world' 
  3.  
  4. # 方法1 
  5. new_str = string[::-1] 
  6. ic(new_str) 
  7.  
  8. # 方法二 
  9. new_str2 = ''.join(reversed(string)) 
  10. ic(new_str2) 
  11.  
  12. ''
  13. ic| new_str: 'dlrow olleh' 
  14. ic| new_str2: 'dlrow olleh' 
  15. ''

2. 首字母大写

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

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

  1. # 首字母大写 
  2. string = 'hello python and world' 
  3.  
  4. # 方法一 
  5. new_str = string.capitalize() 
  6. ic(new_str) 
  7.  
  8.  
  9. # 方法二 
  10. new_str2 = string.title() 
  11. ic(new_str2) 
  12.  
  13. ''
  14. ic| new_str: 'Hello python and world' 
  15. ic| new_str2: 'Hello Python And World' 
  16. ''

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. ''
  10. ic| new_str: {'l''o''h''e'
  11. ic| new_str: 'lohe' 
  12. ''

4. 变量交换

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

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

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.  
  6. score = [57, 29, 11, 27, 84, 34, 87, 25, 70, 60] 
  7. # 方法二 
  8. new_score2 = sorted(score, reverse=True
  9. ic('设置降序', new_score2) 
  10.  
  11. ''
  12. ic| '默认升序:', new_score: [78, 80, 85, 85, 88, 91, 94, 94, 99, 100] 
  13. ic| '设置降序', new_score2: [87, 84, 70, 60, 57, 34, 29, 27, 25, 11] 
  14. ''

6.列表推导式

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

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

7. 合并字符串

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

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

8. 拆分字符串

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

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

9. 回文串检测

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

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

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

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

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

 

 

责任编辑:华轩 来源: 今日头条
相关推荐

2022-08-23 14:57:43

Python技巧函数

2022-08-29 00:37:53

Python技巧代码

2019-06-06 08:48:14

代码函数编程语言

2023-03-31 08:10:50

2017-10-30 15:22:29

代码可读性技巧

2015-09-20 16:23:27

2020-03-27 12:30:39

python开发代码

2023-10-30 18:05:55

Python类型

2023-06-05 16:50:06

开发TypeScriptJavaScript

2014-07-29 09:55:33

程序员代码可读性

2014-07-28 10:28:25

程序员

2021-10-09 10:24:53

Java 代码可读性

2022-11-04 11:18:16

代码优化可读性

2010-06-03 11:39:28

网络性能

2010-09-02 10:43:24

CSS文件

2023-01-09 17:23:14

CSS技巧

2013-03-04 09:34:48

CSSWeb

2021-04-01 16:43:05

代码可读性开发

2018-09-10 09:26:33

2022-07-06 15:51:48

浏览器开发者工具
点赞
收藏

51CTO技术栈公众号