当前位置:首页>python>27 个 Python 技巧:我希望你在开始编程时就知道的

27 个 Python 技巧:我希望你在开始编程时就知道的

  • 2026-03-26 09:17:57
27 个 Python 技巧:我希望你在开始编程时就知道的
点击👆蓝字关注我,加星标
27 个 Python 技巧:我希望你在开始编程时就知道的

文 | web前端开发

在我开始学习编程的时候,我深入研究 Python 的世界感觉有点难度,对于我来讲是有一点挑战性的。虽然我掌握了一些基础知识,但学习如何写出优雅而干净的代码,对于我来讲,却是一个需要急迫解决的难题。 
那时,我经常提到 Python 之禅——它确实很好,但在我看来,它是笼统和模糊的。我需要更具体的例子,这也是我写这篇文章的原因。
有趣的是,我观察到人们学习编码的方式发生了转变,尤其是那些在 ChatGPT 时代之后开始学习的人。 
在 ChatGPT 时代学习的人,似乎擅长修复错误和调试。另一方面,那些在 GPT 之前编程的人擅长分析答案、利用 Stack Overflow 和文档等资源。
在我七年的 Python 开发生涯中,我遇到了一些产生重大影响的概念。在这篇文章中,我想根据我自己的经验分享 27 个简单的技巧。 
这些技巧不仅加快了我写程序的速度,并且还帮助我写出了更干净、更容易理解的代码。
当我分享这些知识要点时,希望你能保留好,也许有一天,你可能会发现一些与你的编码之旅相识之处,从而产生一些共鸣。
1.F-Strings:动态字符串格式
提示:使用 f-strings (Python 3.6+) 进行简洁和动态的字符串格式化。
优点:
  • 简洁易读的语法。
  • 轻松将表达式嵌入字符串中。
缺点:
  • 仅限于 Python 3.6 及以上版本。
  • 小心安全漏洞;SQL注入。
例子:
name = "John"age = 25message = f"My name is {name}, and I am {age} years old."

2. 装饰器:动态增强功能

提示:利用装饰器动态扩展或修改函数,增强代码模块化。

优点:

  • 提供了一种扩展函数行为的简洁方法。

  • 增强代码的可重用性。

缺点:

  • 过度使用装饰器会使代码更难理解。

例子:

import timedeftimer_decorator(func):defwrapper(*args, **kwargs):        start_time = time.time()        result = func(*args, **kwargs)        end_time = time.time()        print(f"{func.__name__} executed in {end_time - start_time} seconds")return resultreturn wrapper@timer_decoratordefexample_function():# Function logic here

3. 利用 help() 函数掌握 Python

提示:利用 help() 函数作为强大的工具来深入了解 Python 模块、函数和对象,以便更好地理解和使用。

优点:

  • 即时文档:快速访问代码中任何 Python 对象、模块或函数的文档。

  • 交互式学习:非常适合直接从 Python 解释器或脚本探索和学习不熟悉的模块或函数。

缺点:

  • 详细信息有限:help() 提供的信息有时可能很简洁,对于复杂的主题可能需要更详细的文档。help() 的有效性取决于代码中文档字符串的存在和质量。

例子:

# Example: Using the help() functiondefcalculate_square(number):"""    Calculates the square of a given number.Parameters:    - number (int): The input number.    Returns:    - int: The square of the input number.    """return number ** 2# Accessing help for the calculate_square functionhelp(calculate_square)

4. 列表推导式:紧凑列表创建

提示:采用列表推导式,以简洁易读的方式创建列表,从而减少对多行循环的需求。

优点:

  • 通过压缩列表创建逻辑来增强可读性。

  • 与传统循环相比,通常可以提高性能。

缺点:

  • 避免嵌套列表理解以获得更好的可读性,尤其是对于复杂的逻辑。

例子:

# Finding squares of even numbers in a rangesquares = [x**2 for x in range(10) if x % 2 == 0]

5.循环中的else子句

提示:在循环中使用 else 子句,以便在循环自然完成时执行代码。

优点:

  • 允许在循环自然完成时执行代码,而无需使用break语句。

  • 非常适合特定操作应遵循成功循环的场景。

缺点:

  • 经常被忽视或误解,导致潜在的逻辑错误。

例子:

# Finding prime numbers using the else clausefor n in range(210):for x in range(2, n):if n % x == 0:breakelse:print(n, "is a prime number.")

6. Lambda 函数:快速且匿名的函数

提示:使用 lambda 函数进行快速匿名函数定义。

优点:

  • 简洁的单行代码实现简单的功能。

  • 不需要正式的函数定义。

缺点:

  • 仅限于单一表达;不适合复杂的逻辑。

  • 如果过度使用会降低代码的可读性。

例子:

# Adding two numbers with a lambda functionadd_numbers = lambda x, y: x + yresult = add_numbers(35)

7. 使用 enumerate 和 zip 进行 Pythonic 迭代

提示:使用 enumerate() 和 zip() 函数对序列进行更多 Python 迭代。

优点:

  • enumerate():使用索引和值简化迭代。

  • zip():促进多个列表的并行迭代。

缺点:

  • 无重大影响;提高代码的清晰度和简洁性。

例子:

# Pythonic iteration using enumerate and zipnames = ["Alice""Bob""Charlie"]ages = [253022]# Enumerate for index and valuefor index, name in enumerate(names):    print(f"Person {index + 1}{name}")# Zip for parallel iterationfor name, age in zip(names, ages):    print(f"{name} is {age} years old.")

8. *args 和 **kwargs:灵活的函数参数

提示:使用 *args 和 **kwargs 将可变数量的参数传递给函数,为广泛的用例提供灵活性。

优点:

  • 非常适合处理可变数量的参数。

  • 允许创建多功能函数和包装器。

缺点:

  • 需要仔细记录,因为函数签名可能不会显示所有可能的参数。

例子:

# A function that multiplies all given argumentsdefmultiply(*args):    result = 1for num in args:        result *= numreturn result

9. 使用 try 和 except 进行优雅的错误处理

提示:合并 try 和 except 块以进行优雅的错误处理,从而增强代码的稳健性。

优点:

  • 错误恢复能力,防止你的程序因意外错误而崩溃。

  • 增强的调试:提供对错误原因的深入了解,有助于有效的调试。

  • 用户友好:允许你向用户传达特定的错误消息以获得更好的体验。

缺点:

  • 开销:在某些情况下,使用 try 和 except 可能会带来轻微的性能开销。

  • 潜在的疏忽:错误地捕获或抑制错误可能会掩盖潜在的问题。

例子:

# Example: Graceful error handling with try and exceptdefdivide_numbers(a, b):try:        result = a / b        print(f"The result of {a} divided by {b} is: {result}")except ZeroDivisionError:        print("Cannot divide by zero! Please provide a non-zero denominator.")except Exception as e:        print(f"An unexpected error occurred: {e}")else:        print("Division successful!")# Testing the functiondivide_numbers(102)  # Normal divisiondivide_numbers(50)   # Division by zerodivide_numbers("a"2# Unexpected error (TypeError)

10.列表切片:功能强大且富有表现力

提示:利用列表切片对列表进行简洁且富有表现力的操作。

优点:

  • 简化提取子列表、反转或跳过元素等操作。

  • 增强代码可读性并减少对显式循环的需求。

缺点:

  • 过度使用复杂的切片可能会影响代码的可读性。

例子:

# Extracting a sublist from index 2 to 5original_list = [1234567]sublist = original_list[2:6]

11. 生成器:内存高效迭代

提示:利用生成器迭代大型数据集,而无需将所有内容加载到内存中。

优点:

  • 有效处理大型数据集。

  • 即时生成项目,节省内存。

缺点:

  • 生成器是一次性迭代器;一旦消耗,它们就不能重复使用。

例子:

Fibonacci sequence generatordeffibonacci(n):    a, b = 01for _ in range(n):yield a        a, b = b, a + b

12. 断言:充满信心地调试

提示:在开发过程中使用断言来确认有关代码状态的假设。

优点:

  • 通过尽早发现潜在问题来增强代码可靠性。

  • 提供一种方法来确认有关代码的假设。

缺点:

  • 在生产代码中过度使用会影响性能。

例子:

# Assertion for checking if a variable is positivenum = -5assert num > 0"Number must be positive"

13. 深复制与浅复制:明智地复制

提示:了解处理可变对象的深复制和浅复制之间的区别。

优点:

  • 浅拷贝:创建一个包含对相同对象的引用的新集合。

  • Deepcopy:生成原始对象及其所有内容的独立克隆。

缺点:

  • 当需要深复制时使用浅复制可能会导致原始数据的意外修改。

例子:

# Duplicating a nested list with both shallow and deep copiesimport copyoriginal = [[1, 2, 3], [4, 5, 6]]shallow = copy.copy(original)deep = copy.deepcopy(original)

14. 随机模块:拥抱不可预测性

提示:使用 random 模块将可变性或随机性引入代码中。

优点:

  • 对于模拟、游戏或任何需要不可预测性的场景很有用。

  • 提供多种随机化功能。

缺点:

  • 结果并不是真正随机的;它们是伪随机的。

例子:

import random# Generating a random number between 1 and 10random_number = random.randint(110)

15.Defaultdict:简化字典操作

提示:使用集合模块中的 defaultdict 来简化字典操作。

优点:

  • 通过为不存在的键提供默认值来简化代码。

  • 消除显式密钥存在检查。

缺点:

  • 需要导入集合模块。

例子:

from collections import defaultdictword = "pythonic"letter_count = defaultdict(int)for letter in word:    letter_count[letter] += 1

16. 海象运算符 (:=):内联赋值以提高效率

提示:使用海象运算符 (Python 3.8+) 进行表达式内的内联赋值。

优点:

  • 高效地分配值并在同一表达式中使用它们。

  • 在某些情况下减少冗余。

缺点:

  • 过度使用它会使不熟悉该操作符的人更难阅读代码。

例子:

# Reading lines from a file until a blank line is foundwith open('file.txt''r'as f:while (line := f.readline().strip()):        print(line)

17. 类型提示:增强代码清晰度

提示:采用类型提示 (Python 3.5+) 来提高代码清晰度,尤其是在大型项目中。

优点:

  • 提高代码的可读性和可维护性。

  • 实现更好的 IDE 支持和静态类型检查。

缺点:

  • Python 仍然是一种动态类型语言;类型提示是可选的,不是强制的——它是为了人眼;)。

例子:

# Function with type hintsdefgreet(name: str) -> str:returnf"Hello, {name}!"

18.Namedtuples:自记录数据结构

提示:使用命名元组创建简单的、自记录的数据结构。

优点:

  • 提供轻量级、不可变的数据结构。

  • 通过为每个字段命名来增强代码可读性。

缺点:

  • 不可变;创建后无法修改。

  • 对于可变结构,请考虑使用数据类 (Python 3.7+)。

例子:

# Creating a namedtuple for a personfrom collections import namedtuplePerson = namedtuple('Person', ['name''age'])alice = Person(name="Alice", age=30)

19. 压缩和解压缩列表:组合和解压序列

提示:使用 zip() 组合多个可迭代对象,从而更轻松地并行循环多个列表。

优点:

  • 简化了同时迭代多个列表的过程。

  • 对于需要一起处理不同列表中的项目的任务非常方便。

缺点:

  • zip() 在最短输入列表处停止;对于不同大小的可迭代对象,请考虑使用 itertools.zip_longest()。

例子:

# Matching user inputs with corresponding answers in a quiznames = ["Alice""Bob"]scores = [8592]for name, score in zip(names, scores):    print(f"{name}{score}")

20. 字典 — get() 和 setdefault():优雅的键处理

提示:使用 get() 和 setdefault() 方法增强字典操作。

优点:

  • get():检索键的值,如果键不存在则提供默认值。

  • setdefault():如果键不存在则设置默认值,防止多余的键检查。

缺点:

  • 忽略这些方法可能会导致检查密钥是否存在的冗余代码。

例子:

data = {"name""Alice"}age = data.get("age"30)data.setdefault("country""USA")

21. __main__ Guard:脚本执行控制

提示:当直接运行脚本时,使用 if __name__ == "__main__": 保护来控制代码执行。

优点:

  • 确保某些代码仅在直接执行脚本时运行,而不是在导入时运行。

  • 对于可以为函数导入或为任务直接运行的实用程序脚本很有用。

缺点:

  • 导入模块时忘记使用此防护可能会导致意外行为。

例子:

if __name__ == "__main__":print("This script is being run directly!")

22. 虚拟环境:隔离项目特定开发的依赖关系

提示:利用虚拟环境来隔离项目特定的依赖关系,防止与系统范围的包发生冲突。

优点:

  • 确保每个项目都有一个干净且隔离的环境。

  • 便于管理依赖关系并避免冲突。

缺点:

  • 忘记激活虚拟环境可能会导致全局 Python 环境中意外安装包。

例子:

# Creating and activating a virtual environmentpython-m venv my_project_envsourcemy_project_env/bin/activate

23. 星号 (*) 运算符:用途广泛且功能强大

提示:探索星号 (*) 运算符在打包和解包、关键字参数解包和重复方面的多功能性。

优点:

  • 有效地将集合解包为单独的元素。

  • 促进函数中的动态参数处理。

缺点:

  • 过度使用会降低代码的可读性,尤其是连续多次解包时。

例子:

# Passing a dynamic list of values to a function expecting separate argumentsdef func(ab, c):return a + b + cvalues = [123]print(func(*values))

24. 上下文管理器(带语句):资源管理简单性

提示:将上下文管理器与 with 语句结合使用,以实现高效的资源管理。

优点:

  • 确保资源的正确设置和拆卸。

  • 提高代码可读性并降低资源泄漏的可能性。

缺点:

  • 在有益的情况下忘记使用 with 语句可能会导致与资源相关的问题。

例子:

# Opening and reading a file using a context managerwithopen('file.txt''r'as f:content = f.read()

25. Python 的下划线 (_) 用途:命名和循环的多功能性

提示:利用下划线 (_) 作为循环中的一次性变量。

优点:

  • 表示命名约定中的“受保护”变量。

  • 重用 REPL 环境中的最后结果。

  • 当不需要循环变量时,充当循环中的一次性变量。

缺点:

  • 不同的用途可能会令人困惑,尤其是对于新程序员来说。

例子:

# Iterating a specific number of times without needing the loop counterfor _ in range(5):print("Hello, World!")

26.映射、过滤和归约:Python 中的函数式编程

提示:将map()、filter() 和reduce() 合并为处理集合的函数方法,从而减少对显式循环的需要。

优点:

  • map():将函数应用于集合中的每个项目。

  • filter():根据谓词选择项目。

  • reduce():累积应用函数,将序列减少为单个值。

缺点:

  • 请注意,在 Python 3.x 中,map() 和 filter() 返回迭代器;如果需要,将它们转换为列表。

例子:

# Using map() to convert strings to uppercasenames = ["alice""bob""charlie"]upper_names = list(map(str.upper, names))

27.合并字典:简化字典操作

提示:使用 update() 方法或 {**dict1, **dict2} 语法来合并字典。

优点:

  • 简化多个词典内容的组合。

  • 提供选择合并方法的灵活性。

缺点:

  • 在处理嵌套字典时,过度使用这种方法可能会导致意想不到的结果。

例子:

# Merging dictionaries using the update() methoddict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'c': 4}dict1.update(dict2)

恭喜!你已经走到了最后!

总结完这些 Python 编码技巧后,我希望能为你的开发工具包找到一些方便的技巧。

无论你是专家还是新手,通过新技巧保持新鲜感始终是一个不错的举措。尝试一下,看看什么对你有用,并享受这个过程,让你的 Python 工具变得更强大。

最后,感谢你的阅读,祝编程快乐!

学习更多技能

请点击下方公众号

END -

错过上一篇热文,可点击☟☟☟

别学编程了,AI会搞定一切?那你可能被这个建议骗了

我测试了 Cursor 和 Claude Code:一个用了 2 分钟,另一个用了 24 分钟

看完记得点击下方卡片关注我☟☟☟

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 11:43:39 HTTP/2.0 GET : https://f.mffb.com.cn/a/482800.html
  2. 运行时间 : 0.080669s [ 吞吐率:12.40req/s ] 内存消耗:5,164.68kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=740c7c2603b89a0e9d8320df5227d2ac
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000504s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000818s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000322s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000250s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000574s ]
  6. SELECT * FROM `set` [ RunTime:0.000249s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000657s ]
  8. SELECT * FROM `article` WHERE `id` = 482800 LIMIT 1 [ RunTime:0.001097s ]
  9. UPDATE `article` SET `lasttime` = 1774583019 WHERE `id` = 482800 [ RunTime:0.003814s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000256s ]
  11. SELECT * FROM `article` WHERE `id` < 482800 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000512s ]
  12. SELECT * FROM `article` WHERE `id` > 482800 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000450s ]
  13. SELECT * FROM `article` WHERE `id` < 482800 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001289s ]
  14. SELECT * FROM `article` WHERE `id` < 482800 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000995s ]
  15. SELECT * FROM `article` WHERE `id` < 482800 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001381s ]
0.082276s