关于python函数,你该了解这些

简介: 关于python函数,你该了解这些

1.创建一个函数

语法格式

def functionname([parameterlist]):
[functionbody]

functionname:函数名称,在调用函数时使用

parameterlist:可选参数,用于指定向函数中传递的参数(也可以没有)。

functionbody:函数体,函数被调用的后,要执行的功能代码

举例
def func(x, y, z):

return x * 100 + y * 10 + z

2.调用函数

语法格式

functionname([parameterlist])
形参
形参全名形式参数,又称虚拟变量。实参和形参可以重名。形参只是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。必须注意实参的个数,类型应与形参一一对应。

实参
实参全名实际参数,在调用函数时()里写的是实参,实参可以是常量、变量、表达式或者函数。需要注意的是,在进行函数调用时,这些实参必须要有明确的值。

位置参数
按照从左到右的顺序依次定义的参数

举例

调用上面创建的函数

def func(x, y, z):
 
    return x * 100 + y * 10 + z
 
print(func(3,2,1))

运行结果

image.png

关键字参数
关键字参数针对实参,即实参在定义时,按照key=value形式定义

举例

def func(x, y, z):
 
    return x * 100 + y * 10 + z
 
print(func(y=3,z=2,x=1))

执行结果
image.png

可变长参数
不确定调用时需要传入多少个参数

按位置定义的可变长度的实参(*)

语法格式

def func(x, y, *args)
*args 会把传入的 多余的 参数以一个元组的形式存放

举例

def func(x, y, z,*args):
    print(args)
    return x * 100 + y * 10 + z
 
print(func(1,2,3,4,5,6))

执行结果

image.png

其他

def func(x, y, z):
 
    return x * 100 + y * 10 + z
 
print(func(*{'x':3, 'y':2, 'z':1}))

将字符'x'传给第三个参数z,字符'y'传给第二个参数y,字符'z'传给第一个参数x

执行结果

image.png

变量的作用域

全局变量
不仅可以在函数外访问,函数内也可以访问

在函数外定义
在函数内定义,需要使用global关键字修饰
局部变量
在函数内部定义并使用的变量,只在函数内部有效,函数运行之前或者运行完毕后,所有的名字就都不存在了,所以在函数外部使用函数内部定义的变量,会抛出NameError异常

​​​​​​​3.匿名函数

指没有名字的函数,应用在一个需要函数但是又不想费事起名字的情况,通常情况,这种函数只使用一次,关键字lambda

语法格式

result=lambda[arg1[,arg2,...,argn]]:expression
result:用于调用lambda表达式

[arg1[,arg2,...,argn]]:可选参数,指定要传递的参数列表

expression:必选参数,用于指定一个实现具体功能的表达式
**
举例**

定义一个计算圆面积的函数并调用

代码:

import math
def s(r):
    s=math.pi*r*r
    return s
r=3
print('半径面积为:%d,圆面积为:%.2f'% (r,s(r)))

执行结果

image.png

转化为lambda表达式的代码:

import math
r=3
s=lambda r:math.pi*r*r
print('半径面积为:%d,圆面积为:%.2f'% (r,s(r)))
相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
205 1
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
301 1
|
2月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
183 0
|
3月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
280 101
|
3月前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
228 99
|
3月前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
201 98
|
3月前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
4月前
|
Python
Python 函数定义
Python 函数定义
563 155
|
5月前
|
PHP Python
Python format()函数高级字符串格式化详解
在 Python 中,字符串格式化是一个重要的主题,format() 函数作为一种灵活且强大的字符串格式化方法,被广泛应用。format() 函数不仅能实现基本的插入变量,还支持更多高级的格式化功能,包括数字格式、对齐、填充、日期时间格式、嵌套字段等。 今天我们将深入解析 format() 函数的高级用法,帮助你在实际编程中更高效地处理字符串格式化。
573 0
|
3月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
722 0

推荐镜像

更多