博客
关于我
Python2 已终结,入手Python 3,你需要这30个技巧
阅读量:798 次
发布时间:2023-03-08

本文共 3189 字,大约阅读时间需要 10 分钟。

Python3 的功能强大,学习一些实用的技巧可以让你的代码更高效、更简洁。以下 30 个技巧将帮助你提升编程效率。

1. 使用 Python3

Python2 已于 2020 年 1 月 1 日正式弃用,建议全面升级到 Python3。很多教程和库都只支持 Python3,继续使用 Python2 可能会遇到兼容性问题。

2. 检查 Python 版本

在运行脚本前,检查当前环境的 Python 版本。可以用以下代码:

import sysprint("当前 Python 版本:", sys.version)

3. 使用 IPython

IPython 是 Python 的交互式解释器,功能强大:

  • %cd:切换目录
  • %edit:打开编辑器并直接执行代码
  • %env:显示环境变量
  • %pip install [包名]:在线安装包
  • %time 和 %timeit:代码性能测试

安装 IPython:

pip3 install ipython

4. 列表表达式

使用列表表达式生成列表,代码简洁高效:

[expression for item in list if condition]

例如:

# 生成 1-100 的整数列表numbers = [x for x in range(1, 101)]

5. 检查内存占用

查看对象占用内存的大小:

import syssys.getsizeof(object)

注意:range 类型占用的内存比普通列表小。

6. 返回多个值

Python 函数可以返回多个值,直接用元组:

def get_multiple RETURNS:    return 1, 2, 3

7. 数据类 (Python 3.7+)

数据类提供了方便的数据操作:

  • 自带 __eq__,支持对象比较
  • 自带 __repr__,方便调试
  • 强制类型提示,减少 bug

示例:

from dataclasses import dataclass@dataclassclass User:    name: str    age: int

8. 交换变量

使用 swap 技巧:

a, b = b, a

只需一行代码交换变量。

9. 合并字典(Python 3.5+)

合并字典简单高效:

# 创建新字典,将原字典的键值覆盖new_dict = {**dict1, **dict2}

10. 字符串变成标题格式

使用 title() 方法:

"hello world".title()  # "Hello World"

11. 字符串分割成 list

按空格分割字符串:

"hello world python".split()  # ['hello', 'world', 'python']

12. 将 list 变成字符串

使用 join 方法:

" ".join(["hello", "world"])  # "hello world"

13. 使用 emoji

安装 emoji 模块:

pip3 install emoji

示例:

from emoji import emojiprint(emoji("Hello🌍"))  # "Hello🌍"

14. 切片操作

Python 切片简单灵活:

list[start:stop:step]

默认参数:

  • start: 0
  • stop: 列表末尾
  • step: 1

示例:

numbers = list(range(10))numbers[2:7:2]  # [4, 6, 8]

15. 翻转字符串或 list

使用负步长:

"hello".[::-1]  # "olleh"numbers = list(range(10))numbers[::-1]  # [9, 8, 7, ..., 0]

16. 展示图片 (Pillow)

安装 Pillow:

pip3 install Pillow

示例:

from PIL import Imageimg = Image.open("kittens.jpg")img.show()

17. 使用 map()

将函数应用到可迭代对象:

list(map(func, iterable))

示例:

names = ["Alice", "Bob", "Charlie"]sorted_names = list(map(str.upper, names))# ["ALICE", "BOB", "CHARLIE"]

18. 获取唯一元素

使用 set():

unique_elements = set(list_or_string)

19. 找到高频值

统计字符或列表中出现次数最多的值:

def find_maxFrequency(lst):    if not lst:        return None    frequency = {}    for item in lst:        frequency[item] = lst.count(item)    max_count = max(frequency.values())    max_items = [k for k, v in frequency.items() if v == max_count]    return max_items

20. 创建进度条 (Progress)

安装 Progress:

pip3 install progress

示例:

from progress import Progressp = Progress()p.update("下载中...", 50)p.update("下载完成!", 100)

21. 使用 _ 变量

在 IPython 中,_ 表示上一条命令的输出:

In [1]: 3 * 3Out[1]: 9In [2]: _

22. 快速创建网页服务器

python3 -m http.server

23. 多行字符串

使用 triple quotes:

text = """这是一长多行的字符串."""

24. 条件赋值

使用三元运算符:

value = "成功!" if condition else "失败!"

25. 统计出现次数

使用 collections.Counter:

from collections import Countercounts = Counter(list)

26. 比较符链

a > b > c > d

支持多个比较操作。

27. 添加颜色 (Colorama)

安装 Colorama:

pip3 install colorama

示例:

from colorama import Fore, Back, Styleprint(Fore.RED + "警告" + Style.RESET_ALL)

28. 日期计算 (python-dateutil)

安装:

pip3 install python-dateutil

示例:

from dateutil import parserdate = parser.parse("2024-05-20")

29. 整除规则

Python3 中除号默认返回浮点数,// 返回整数:

# Python35 / 2  # 2.55 // 2  # 2

30. 检测字符集 (chardet)

安装:

pip3 install chardet

示例:

from chardet import detecttext = "测试文本"detected_char = detect(text)[0]

这些技巧可以帮助你提升代码的效率和可读性,欢迎在实际项目中灵活运用!

转载地址:http://lklfk.baihongyu.com/

你可能感兴趣的文章
Python3.6属性错误:模块‘;异步没有属性‘;运行‘;
查看>>
python3.6版本中的python-weka-wrapper安装失败,错误代码为%1
查看>>
Python3.7安装cv2踩过的坑
查看>>
python写txt文件
查看>>
python关于sorted排序函数详细解析 附实战代码(全)
查看>>
python3.8调用m文件,调用matlab
查看>>
python3.9新特性_Python 3.9 新特性速览
查看>>
Python3.x:遍历select下拉框获取value值
查看>>
python360百科_11月编程排行榜:Python超过Java成第二
查看>>
Python关于Paginator分页函数详细解析 附实战代码
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>
python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
查看>>
python3与django中@property详解
查看>>
python3中如何表示无穷大
查看>>
Python3中提示:no module named 'wxpy'
查看>>