Python世界:函数模块知识点小结

Python世界:函数模块知识点小结

部分笔记汇总,持续刷新中。区别于其他笔记之处在于,主要记录易错点坑点。

Python函数模块

函数是编码过程中最小的功能模块。

什么是函数式编程?

函数式编程,本质是通过调用接口函数,实现过程逻辑,输出目标结果。这种方式有助于提高代码的可读性和可维护性,同时减少错误的发生。在Unix系统编程中该思想运用较广。

变量:值传递或值引用辨析

变量赋值本质是对象的引用传递。只是将其指向了某个对象,如对象不可变,新赋值时指向新对象。否则指向改变值后的原对象。

常见的 + =操作符常表示为新创建一个对象。变量能被删除,但对象无法被删除。

  • 可变对象:列表、字典、集合
  • 不可变:字符串、整形、元组

python函数传参是传值还是传引用?

结论:python不允许程序员选择采用传值还是传引用。

函数中,参数传递方式是赋值传递,但对象是引用传递,所指向的对象不变。 本质上可以理解为指针传递,变量名表征的是对象的指向。 唯一要注意是注意区分可变对象和不可变对象。

Python参数传递采用的肯定是"传对象引用"的方式。这种方式相当于传值和传引用的一种综合。

  • 如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值。相当于通过"传引用"来传递对象。

  • 如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象,相当于通过"传值'来传递对象。

参考资料:https://www.cnblogs.com/loleina/p/5276918.html

相关推荐
山峰哥几秒前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
wangjialelele10 分钟前
Selenium4 + Java Web自动化测试入门指南:从环境搭建到常用操作详解
java·开发语言·前端·测试工具·自动化
Awna19 分钟前
Golang 大小写可见性规范
开发语言·后端·golang
leoZ23143 分钟前
实战复盘:用 Claude Code 从零搭一个 GitHub PR 统计工具
java·人工智能·python·深度学习·自然语言处理·github·llama
AI科技星1 小时前
曲率‑挠率与 $\boldsymbol{\omega/c}$ 的关系、精算验证及其物理意义
c语言·开发语言·线性代数·算法·决策树·机器学习·ai科技星
夏天测1 小时前
Python 网络编程入门:从 Socket 底层到 HTTP 并发实战
python·socket·httpx·requests·tcp udp·python网络编程·爬虫基础
鹿角片ljp2 小时前
Java框架篇:Spring + SpringMVC + SpringBoot + MyBatis深度复习
java·开发语言
玉鸯2 小时前
多 Agent 并行时如何保证状态一致性?
分布式·python·agent
aGdF8E3gQ2 小时前
【Application Insights】采样率对Function App日志收集的影响和解决方法
python·flask·wpf
ATMQuant2 小时前
以AI量化为生:25.vnpy 4.4升级实战 - 魔改版框架如何安全跟进上游
人工智能·python·量化交易·vnpy