python函数笔记

绝对值函数abs、比较函数cmp

定义函数:

def 函数名(参数):

函数体

return 填写返回值。

例:

def my_abs(x):

if x >= 0:

    return x

elif :

    return -x

检查数据类型的函数isinstance,例:isinstance(1,int),会返回true

函数的参数:

默认参数注意事项:

必须参数在前,默认参数在后。

变化大的参数放前面

默认参数必须指向不变对象

可变参数:可以传入0个或者任意个参数,自动组成tuple

定义可变参数,在参数前面加*号,例:

def abc(*numbers)

关键字参数:允许传入0个或任意个包含参数名的参数,自动组成dict,例:

def person(name,age,**kw)

参数组合:顺序,必选参数、默认参数、可变参数、关键字参数

可变参数的习惯写法*args和关键字参数**kw

递归函数:

一个函数在内部调用自身, 这就是递归函数。

尾递归:递归调用的次数过多,会导致栈溢出。解决溢出用尾递归

切片操作, 主要应用于列表和元组, 比较简单。

迭代

例:

for ex in’abc’:

print ex

如何判断一个对象是可迭代对象:通过collections模块的lterable类型。例:

from collections import lterable

isinstance(‘对象’,lterable),如果是的话返回ture,否则返回false

列表生成式

用来创建list的生成式,可以用一行语句代替循环生成的list

格式:生成元素放前面, 后面跟for循环。例:

[x *x for x in range(1,11)]

三层和三层以上循环很少用。

os.listdir列出文件和目录,例

import os

abc = [d for d in os.listdir(’.’)]

print abc

### 函数定义与调用 在 Python 中,函数是通过 `def` 关键字来定义的。它允许开发者将一段具有特定功能的代码封装成一个可重复使用的模块。例如,下面是一个简单的函数定义: ```python def greet(): """显示简单的问候语""" print('Hello!') ``` 该函数名为 `greet`,不需要任何参数即可运行,并且会在被调用时打印出 "Hello!" [^1]。 要执行这个函数,只需要使用函数名后跟一对括号:`greet()`。这会触发函数体内的代码执行 [^3]。 ### 函数参数 函数可以接受输入值,这些输入值被称为参数。当定义函数时,可以在圆括号内指定这些参数。例如,如果想要创建一个能够对两个数字求和的函数,可以这样定义: ```python def add_two_numbers(a, b): result = a + b print(result) ``` 在这个例子中,`a` 和 `b` 是形式参数(形参),它们充当了实际传递给函数的具体数值(实参)的占位符。调用此函数时,需要提供两个具体的数值: ```python add_two_numbers(5, 7) # 输出 12 ``` 这里的 5 和 7 就是实际参数(实参)[^3]。 ### 返回值 通常情况下,除了打印结果外,我们还希望函数能够返回一个值以供后续处理。为此,我们可以使用 `return` 语句。比如修改上面的例子使其返回计算的结果而不是直接打印: ```python def add_two_numbers(a, b): return a + b ``` 现在,当我们调用 `add_two_numbers(5, 7)` 时,它将返回 12,而不会自动打印出来。这样做的好处是我们可以选择如何处理返回的结果,例如将其存储在一个变量中或者作为另一个函数调用的一部分 [^3]。 ### 内置函数概述 Python 提供了许多内置函数,如 `all()`, `any()`, `sorted()`, `map()`, `filter()`, `reduce()`, `eval()`, `zip()` 等等,它们提供了丰富的功能来简化编程任务。了解并掌握这些函数可以帮助编写更加简洁高效的代码 [^2]。 ### 高级特性 - **Lambda 函数**:匿名函数,适用于简单的一行表达式。 - **装饰器**:一种特殊类型的函数,用来修改其他函数或类的行为,无需修改其源码。 - **递归**:函数在其自身定义中调用自己的能力。 学习如何有效地利用这些高级特性可以让您的 Python 编程技能更上一层楼。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值