文章目录

  • 1 基础知识
  • 2 lambda函数
  • 示例
  • 3 内置函数列表
  • 4 常用函数示例
  • 4.1 abs()
  • 4.2 round()
  • 4.3 max(),min()
  • 4.4 sum()
  • 4.5 sorted()
  • 4.6 list.sort()


1 基础知识

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。格式如下:

def 函数名(参数):
    函数主体
    return 返回对象

你可以定义一个由自己想要功能的函数,以下是简单的规则:

第一:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

第二:任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

第三:函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

第四:函数内容以冒号起始,并且缩进。

第五:return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。

2 lambda函数

lambda函数在Python中被称为匿名函数,具体基本格式如下:

函数名=lambda 参数: 表达式

  • 应用场景

如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化。

  • 示例
# 自定义add函数
>>> def add(a,b):
...     return a+b
>>> add(1,2)
3
# lambda实现
>>> add=lambda a,b:a+b
>>> add(2,4)
6

示例

定义一个计算平均收益率的函数。

1、代码中已经给出收益率列表,请定义对应的平均收益率函数,并在函数中返回。

2、 输出时要求保留两位小数。

def a_mean(r):
    total=sum(r)
    n=len(r)
    mean=total/n
    return mean
    
r=[0.05,0.01,0.03,0.1,0.07] 
mean1=a_mean(r)
print(f'{mean1:.2f}')

#out 
0.05

3 内置函数列表

内置函数在Python中占有非常重要的地位,熟练使用内置函数对学习和使用python来说非常重要。Python官方文档给出python内置函数文档如下,下一节我们来学习一些常用的内置函数。

内置函数

abs()

delattr()

hash()

memoryview()

set()

all()

dict()

help()

min()

setattr()

any()

dir()

hex()

next()

slice()

ascii()

divmod()

id()

object()

sorted()

bin()

enumerate()

input()

oct()

staticmethod()

bool()

eval()

int()

open()

str()

breakpoint()

exec()

isinstance()

ord()

sum()

bytearray()

filter()

issubclass()

pow()

super()

bytes()

float()

iter()

print()

tuple()

callable()

format()

len()

property()

type()

chr()

frozenset()

list()

range()

vars()

classmethod()

getattr()

locals()

repr()

zip()

compile()

globals()

map()

reversed()

__import__()

complex()

hasattr()

max()

round()

4 常用函数示例

4.1 abs()

abs(x)

返回给定参数的绝对值,参数可以是整数,浮点数,复数,如果是复数则返回它的模。

>>> abs(-12)
12
>>> abs(13)
13
>>> abs(3+4j)
5.0

4.2 round()

round(number,[ndigits])

返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数。

>>> round(2.4827,2)
2.48
>>> round(2.48)
2

4.3 max(),min()

max函数返回可迭代对象中最大的元素,min函数返回可迭代元素中最小的元素。

>>> max(12.4,2,5,8)
12.4
>>> min(12.4,2,5,8)
2

4.4 sum()

sum(iterable, /, start=0)

start为指定相加的参数,默认为0。从 start 开始自左向右对 iterable 的项求和并返回总计值。 iterable 的项通常为数字,而 start 值则不允许为字符串。在 3.8 版更改: start 形参可用关键字参数形式来指定。

>>> list1=[1,2,3,4,5]
>>> tup1=(13,17,20)
>>> sum(list1)
15
>>> sum(list1,1)
16
>>> sum(tup1)
50
>>> sum(tup1,20)
70
>>> sum(tup1,-30)
20

4.5 sorted()

sorted(iterable, key=None, reverse=False)

sorted()函数是python的一个内置排序函数,它接受三个参数,如下

iterable:可迭代对象,可以是字符,列表,字典等;

key:按照指定关键字排序,默认None;

reverse:排序规则,默认False升序,即从小到大。reverse=True时降序排列。

>>> list1
[1, 2, 3, 4, 5]
>>> sorted(list1)
[1, 2, 3, 4, 5]
>>> list1=[3,2,8,5,1]
>>> sorted(list1)   # 升序
[1, 2, 3, 5, 8]
>>> sorted(list1,reverse=True) # 降序
[8, 5, 3, 2, 1]

对字典排序,当key=None,reverse=False时,默认按键值进行升序排列。可以使用关键字随意按键或者值进行排序,如下

>>> dic={'a':1,'b':4,'d':2}
>>> sorted(dic)
['a', 'b', 'd']
# 通过指定key进行排序
>>> dic={'a':1,'B':4,'d':2}
>>> sorted(dic,key=str.lower)
['a', 'B', 'd']

在使用sorted()进行排序时需要注意它的以下特性

1)结果返回一个新的列表

2)不是原地操作,不会改变原对象的的顺序

3)默认进行升序排列

4)sorted()是一个内置函数,标准安装的python环境就能使用

4.6 list.sort()

list.sort(self, key=None, reverse=False)

sort()是列表的一个方法,也能实现排序功能。其用法基本和sorted()内置函数差不多。不过它有着和sorted()区别很明显的特性,如下

1)sort()是列表的一个方法,使用格式list.sort()

2)原地操作,不会创建新的列表,直接在原列表上操作,所以会改变原列表的排序

3)没有返回值,或者返回值为None

>>> list1=[4,3,8,2,0]
>>> sorted(list1)
[0, 2, 3, 4, 8]
>>> list1
[4, 3, 8, 2, 0]
>>> list1.sort()
>>> list1
[0, 2, 3, 4, 8]