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

[python] 函数基础

二 函数参数

2.1 必备参数(位置参数)

  • 含义: 传递和定义参数的顺序及个数必须一致
    格式: def func(a,b)
def func_1(id,passwd):print("id = ",id)print("passwd = ",passwd)
func_1(10086,123456)

2.2 默认参数

  • 函数: 为函数的参数提供一个默认值,如果调用时不传递就以默认的为主
    格式: 如果有位置参数,那么必须在默认参数之前
def func_2(id = 100001,passwd = '<PASSWORD>'):func_1(id,passwd)
func_2()

2.3 可变参数

  • 含义: 传入的值的数量是可以改变的,0-n个
    格式: def func(*args)
    接收: 是以元组的形式在函数内接受传递的参数的
def func_3(*args):print(args[0])
func_3('可变参数')

2.4 关键参数

  •  格式: def func(**kwargs)
    接受: 以字典的形式接受的形式
    传值: 需要采用  键 = 值
def func_4(**kwargs):print(kwargs)
func_4(id= "10001", passwd= "123456")

2.5 函数嵌套

  • 含义: 在一个函数里面调用另一个函数
func_2()

2.6 嵌套定义

  • 含义: 在一个函数里面定义另外一个函数
    注意: 不要在内层函数中调用外层循环,否则会陷入死循环
def out_func():print("调用外部函数")def in_func():print("调用内部函数")#in_func() # 如果这里不调用内部函数,外部调用out_func时,内部函数是不会被调用的
out_func()

三 作用域

  • 变量的有效范围分为: 全局变量和局部变量
    

3.1 全局变量

  • 函数外部定义的变量,在整个文件中都是有效的。

3.2 局部变量

  • 含义: 函数内部定义的变量,只能在函数内部使用
    注意: 如果全部变量和局部变量命名一样,在函数内会使用函数内的局部变量。而全局变量不会被使用
num = 10
def func_1():num = {1,2,3}print(num)
func_1()
print(num)

3.3 global关键字

  • 用法1 :在函数内部修改全局变量的值,可以使用global关键字否则在函数内部修改的全局变量不会生效
  • 用法2: 在函数内部使用global声明全局变量,外部可以使用.
id = 10001
def func_2():global idid = 10003
func_2()
print(id)

3.4 nonloacl:关键字

  • 含义: 声明外层的局部变量,只能在嵌套函数中使用,在外部函数中先进行声明内部函数进行nonloacl声明
    注意: 只能在嵌套函数中对上一层函数进行修改
a = 10
def out_func():a = 5def in_func():nonlocal aa = 20print("内函数的值a = %d"%a)in_func()print("外函数的值a = %d" % a)
out_func()
匿名函数:
格式: 函数名 = lambda 形参 : 返回值(表达式)
调用: 结果 = 函数名(实参)
"""
add = lambda a,b: a+b # a,b就是形参
print(add(2,5))"""
lambda:
无参数:
"""
noargs_func = lambda :"无参lambda"
#必备参数
must_func = lambda a,b:a+b
#默认参数
default_func = lambda id,passwd = "123456":(id,passwd)
print(default_func(5))# 关键子参数
kwargs_func = lambda **kwargs:kwargs
print(kwargs_func(id = 1,passwd = 123))

http://www.dtcms.com/a/177675.html

相关文章:

  • B站pwn教程笔记-8
  • 【微信小程序开发】从0开始的一点点小记录
  • 电厂参与全球能源效率排名的方法
  • Python实现中文数字与阿拉伯数字映射生成器(支持0-9999)
  • 《开源先锋Apache软件基金会:历史沿革、顶级项目与行业影响》
  • Android单例模式知识总结
  • 使用迁移学习的自动驾驶汽车信息物理系统安全策略
  • Java数据结构——Queue
  • LeetCode热题100--54.螺旋矩阵--中等
  • 商业中的人工智能 (AI) 是什么?
  • 大疆无人机(全系列,包括mini)拉流至电脑,实现直播
  • 【链表扫盲】FROM GPT
  • 第四章 OpenCV篇—图像梯度与边缘检测—Python
  • Rust包、crate与模块管理
  • 【 Redis | 实战篇 短信登录 】
  • CSS:元素显示模式与背景
  • 【图片合并PDF】一次性将多个文件夹里的图片批量按文件夹为单位合并PDF,多个文件夹图片合并PDF,基于WPF的实现方案
  • WPF中解决数据绑定不匹配的问题
  • 【wpf】11 在WPF中实现父窗口蒙版效果:原理详解与进阶优化
  • 【AI提示词】马斯洛需求分析专家
  • WPF主窗体子窗体关联方法
  • 华为云Astro后端开发中对象、事件、脚本、服务编排、触发器、工作流等模块的逻辑关系如何?以iotDA数据传输过程举例演示元素工作过程
  • 网易游戏 Flink 云原生实践
  • DeFi开发系统软件开发:技术架构与生态重构
  • redis多路复用IO模型 以及 6.0引入的多线程模型
  • Python pandas 向excel追加数据,不覆盖之前的数据
  • 记录微信小程序掉起半屏失效问题
  • 全面解析 iTextSharp:在 .NET 中高效处理 PDF
  • 微信小程序执行C语言库的详细方案
  • 基于腾讯云MCP广场的AI自动化实践:爬取小红书热门话题