当前位置: 首页 > news >正文

Phthon

一,函数基础与分类

1.无参函数

        Python的自定义无参函数并不复杂。

        以关键字 def 开始,后面跟函数名,小括号,冒号,最后使用 return 退出函数。用表达式可以传递函数的返回值,如果没有返回值,则返回 Nine。

        函数是以字母,数字和下划线组成的字符串,但是不能以数字开头。

定义与调用:

无需函数无需接收外部参数,直接执行固定逻辑。

def greet():
    print("Hello, World!")
greet()  # 输出:Hello, World!

返回值:

若未显式使用 return ,函数默认返回 None。

def add():
    a, b = 10, 20
    return a + b
result = add()  # result = 30

  • 简单逻辑:适合封装无需动态输入的代码块。
  • 代码复用:避免重复代码,提高可维护性。

2.带参函数

        Python带参函数的语法格式如下。

语法:

def 函数名称(形式参数列表):

        代码块

        return  [表达式]

        通过语法可以看出,带参函数与无参函数的区别是在函数名称后面的小括号中有形式参数列表,简称形参列表。

        注意:形式参数列表实际上只是占位符,用于体现参数的个数,每个参数都没有提供具体的数值。 调动参数时,需要为每个参数传递对应的实际数值,又称实参列表。

定义与调用:

通过形参接收外部数据,实现形态逻辑。

def multiply(x, y):
    return x * y
print(multiply(3, 4))  # 输出:12

参数类型:

  • 位置参数:按顺序传递实参。
  • 关键字参数:明确指定形参,顺序无关。

def power(base, exponent):
    return base ** exponent
print(power(exponent=2, base=3))  # 输出:9

默认参数:形参可指定默认值,调用时可省略。

def greet(name="User"):
    print(f"Hello, {name}!")
greet()  # 输出:Hello, User!

注意事项:

  • 默认参数后置:默认参数必须定义在非默认参数之后。

# 错误示例
def func(a=1, b): ...
# 正确示例
def func(b, a=1): ...

  • 参数个数一致:参数与形参数量需匹配,否则报错。

3.参数传递方式总结

类型语法特点
位置参数func(3,4)按顺序传递,不可省略
关键字参数func(x=3,y=4)明确参数名,顺序灵活
默认参数def func(x=0):...调用时可省略,简化代码

二,变量作用域与全局变量

1.局部变量与全局变量

  • 局部变量:定义在函数内部,仅在函数内有效。
  • 全局变量:定义在模块顶层,所有函数可访问。

示例:

global_var = "Global"

def func():
    local_var = "Local"
    print(global_var)  # 输出:Global
    print(local_var)   # 输出:Local

func()
print(global_var)      # 输出:Global
print(local_var)       # 报错:未定义

2.global关键字

用于在函数内部修改全局变量。

count = 0

def increment():
    global count
    count += 1

increment()
print(count)  # 输出:1

总结:

  • 避免滥用全局变量:易引发数据冲突,推荐通过参数传递数据。
  • 作用域优先级:局部变量优先于同名全局变量。

三,lambda函数于匿名操作

1.lambda语法

lambda函数用于快速定义单行匿名函数,语法为:

lambda 参数列表: 表达式

示例:

square = lambda x: x ** 2
print(square(5))  # 输出:25

2.适用场景

  • 简单操作:如数据转换,过滤。
  • 高阶函数参数:配合 map filter 使用

numbers = [1, 2, 3]
squared = list(map(lambda x: x ** 2, numbers))  # [1, 4, 9]

限制:

        仅支持单行表达式,不能包含复杂逻辑(如循环,条件分支)。

四,常用内置函数详解

1.数值处理函数

函数功能示例
abs()返回绝对值abs(-10) - 10
sum()求和sum([1,2,3]) -6
max()返回最大值max([5,2,8]) - 8
min()返回最小值

min([5,2,8]) - 2

2.类型转换函数

函数功能示例
int()转换为整数int("100") - 100
float()转换为浮点数float("3.14") - 3.14

bool()

转换为布尔值

bool(0) - False


3.序列生成函数

range()生成整数序列,常用于循环:

for i in range(0, 10, 2):
    print(i)  # 输出:0, 2, 4, 6, 8


五,模块与包的组织

1.模块的定义与导入

模块:一个 .py 文件,包含函数,类或变量。

示例:

# mymodule.py
def add(a, b):
    return a + b

导入方式:

        导入整个模块:

import mymodule
mymodule.add(2, 3)  # 输出:5

        导入特定函数:

from mymodule import add
add(2, 3)  # 输出:5

        别名导入

import mymodule as mm
mm.add(2, 3)

2.包的结构与使用

包:包含多个模块的目录,需包含 __init__.py

目录结构:

project/
├── main.py
└── utils/
    ├── __init__.py
    └── math_tools.py

导入包内模块:

from utils import math_tools
math_tools.multiply(3, 4)  # 假设 math_tools 中定义 multiply 函数


六,常用模块示例解析

1.random模块

用于生成随机数或随即操作:

import random
print(random.randint(1, 100))   # 生成 1-100 的随机整数
print(random.choice(["a", "b", "c"]))  # 随机选取元素
random.shuffle([1, 2, 3])       # 打乱列表顺序

2.sys模块

获取系统信息与控制程序行为:

import sys
print(sys.version)    # Python 版本
print(sys.path)       # 模块搜索路径
sys.exit()            # 强制退出程序

2.time模块

处理时间相关操作:

import time
print(time.time())          # 当前时间戳(秒)
print(time.ctime())         # 可读时间字符串
time.sleep(2)               # 暂停 2 秒


七,总结与最佳实践

1.核心要点回顾

  • 函数设计:合理使用参数与返回值,避免全局变量。
  • 模块化开发:通过模块和包组织代码,提升复用性。
  • 内置工具:熟练使用 random , sys,time等模块简化开发。

2.最佳实践建议

  • 代码分层:将功能拆分为独立模块,降低耦合度。
  • 异常处理:在关键操作中添加 try-except 块增强健壮性。
  • 文档注释:为函数和模块添加文档字符串("""注释"""),提高可读性。
http://www.xdnf.cn/news/122401.html

相关文章:

  • 智能吸顶灯/摄影补光灯专用!FP7195双通道LED驱动,高效节能省空间 !
  • 学员答题pk知识竞赛小程序怎么做
  • 视频汇聚平台EasyCVR赋能高清网络摄像机:打造高性价比视频监控系统
  • C++如何理解和避免ABA问题?在无锁编程中如何解决
  • 对话模型和补全模型区别
  • 聊聊Spring AI Alibaba的OneNoteDocumentReader
  • 【C/C++干货】VS Code 快捷键大全
  • 线上助农产品商城小程序源码介绍
  • 测试模版x
  • HTML5 详细学习笔记
  • torch serve部署原理探索
  • Comsol 超声波测厚度
  • Flask + ajax上传文件(一)
  • 访问者模式:分离数据结构与操作的设计模式
  • 什么是CMMI认证?CMMI评估内容?CMMI认证能带来哪些好处?
  • JCP官方定义的Java技术体系组成部分详解
  • RHCE练习1
  • 正则表达式学习指南
  • 深度解析 TransmittableThreadLocal(TTL):原理、实战与优化指南
  • 高等数学同步测试卷 同济7版 试卷部分 上 做题记录 第四章 不定积分同步测试卷 A卷
  • flutter 中各种日志
  • Flutter 在全新 Platform 和 UI 线程合并后,出现了什么大坑和变化?
  • 【Qt6 QML Book 基础】07:布局项 —— 锚定布局与动态交互(附完整可运行代码)
  • 使用localStorage的方式存储数据,刷新之后,无用户消息,需要重新登录,,localStorage 与 sessionStorage 的区别
  • 实时操作系统在服务型机器人中的关键作用
  • 小刚说C语言刷题——1317正多边形每个内角的度数?
  • Pikachu靶场-unsafe upfileupload
  • 每日Html 4.24
  • 2025 年 Odoo 安装与部署全攻略
  • 2026届华为海思秋暑期IC实习秋招笔试真题(2025.04.23更新)