写点什么

软件测试 / 测试开发丨学习笔记之 Python 函数

作者:测试人
  • 2023-07-19
    北京
  • 本文字数:1511 字

    阅读完需:约 5 分钟

免费领取:测试资料+性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/26224

python 函数

函数的作用

  • 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段

  • 函数能提高应用的模块性和代码的重复利用率

  • python 内置函数:https://docs.python.org/zh-cn/3.8/library/functions.html

函数定义

  • def:函数定义关键词

  • function_name:函数名称

  • ():参数列表放置的位置,可以为空

  • parameter_list:可选,指定向函数中传递的参数

  • comments:可选,为函数指定注释

  • function_body:可选,指定函数体

def function_name([parameter_list]):    [''' comments ''']    [function_body]
复制代码

定义函数的注意事项

  • 缩进:python 是通过严格的缩进来判断代码块儿函数体和注释相对于 def 关键字必须保持一定的缩进,一般都是 4 个空格 pycharm 自动格式化快捷键:ctrl+alt+L

  • 定义空函数使用 pass 语句占位写函数注释 comments

函数调用

  • function_name:函数名称

  • parameter_value:可选,指定各个参数的值

function_name([parameter_value])
复制代码

参数传递

  • 形式参数:定义函数时,函数名称后面括号中的参数

  • 实际参数:调用函数时,函数名称后面括号中的参数

# a, b, c 为形式参数def demo_func(a, b, c):    print(a, b, c)
# 1, 2, 3 为实际参数demo_func(1, 2, 3)
复制代码

位置参数

  • 数量必须与定义时一致

  • 位置必须与定义时一致

def demo_func(a, b, c):    print(a, b, c)
# 1 赋值给 a, 2 赋值给 b, 3 赋值给 cdemo_func(1, 2, 3)
复制代码

关键字参数

  • 使用形式参数的名字确定输入的参数值

  • 不需要与形式参数的位置完全一致

def demo_func(a, b, c):    print(a, b, c)
demo_func(a=1, b=2, c=3)
复制代码

为参数设置默认值

  • 定义函数时可以指定形式参数的默认值

  • 指定默认值的形式参数必须放在所有参数的最后,否则会产生语法错误

  • param=default_value:可选,指定参数并且为该参数设置默认值为 default_value

def function_name(..., [param=default_value]):    [function_body]
复制代码

函数返回值

  • value:可选,指定要返回的值

def function_name([parameter_list]):    [''' comments ''']    [function_body]    return [value]
复制代码

python 函数进阶与参数处理

可变参数

  • 可变参数也称为不定长参数

  • 传入函数中实际参数可以是任意多个

  • 常见形式*args**kwargs

*args

  • 接收任意多个实际参数,并将其放到一个元组中

  • 使用已经存在的列表或元组作为函数的可变参数,可以在列表的名称前加*

def print_language(*args):    print(args)
print_language("python", "java", "php", "go")
params = ["python", "java", "php", "go"]print_language(*params)
复制代码

**kwargs

  • 接收任意多个类似关键字参数一样显式赋值的实际参数,并将其放到一个字典中

  • 使用已经存在字典作为函数的可变参数,可以在字典的名称前加**

def print_info(**kwargs):    print(kwargs)
print_info(Tom=18, Jim=20, Lily=12)
params = {'Tom':18, 'Jim':20, 'Lily':12}print_info(**params)
复制代码

python lambda 表达式

匿名函数

  • 没有名字的函数

  • 用 lambda 表达式创建匿名函数

使用场景

  • 需要一个函数,但是又不想费神去命名这个函数

  • 通常在这个函数只使用一次的场景下

  • 可以指定短小的回调函数

语法

  • result:调用 lambda 表达式

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

  • expression:必选,指定一个实现具体功能的表达式

result = lambda [arg1 [, arg2, .... , argn]]: expression
复制代码


book_info = [    ("python", 80),    ("java", 70),    ("ruby", 90),]book_info_sorted = sorted(book_info, key=lambda x: x[1])print('sorted(book_info) returns:', book_info_sorted)
复制代码


发布于: 刚刚阅读数: 4
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试/测试开发丨学习笔记之 Python 函数_Python_测试人_InfoQ写作社区