python函数讲解,Python函数笔记

68 个 Python 内置函数详解

内置函数就是Python给你提供的,拿来直接用的函数,比如print.,input等。

创新互联建站自2013年起,先为邵武等服务建站,邵武等地企业,进行企业商务咨询服务。为邵武企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

截止到python版本3.6.2 ,python一共提供了68个内置函数,具体如下

本文将这68个内置函数综合整理为12大类,正在学习Python基础的读者一定不要错过,建议收藏学习!

(1)列表和元组

(2)相关内置函数

(3)字符串

frozenset 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。

语法:sorted(Iterable, key=函数(排序规则), reverse=False)

语法:fiter(function. Iterable)

function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后根据function返回的True或者False来判断是否保留留此项数据 , Iterable: 可迭代对象

搜索公众号顶级架构师后台回复“面试”,送你一份惊喜礼包。

语法 : map(function, iterable)

可以对可迭代对象中的每一个元素进行映射. 分别去执行 function

hash : 获取到对象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存

一文读懂Python 高阶函数

将函数作为参数传入,这样的函数称为高阶函数。 函数式编程就是指这种高度抽象的编程范式。

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。如下所示:

map(fun, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回。

定义一个匿名函数并调用,定义格式如--lambda arg1,arg2…:表达式

reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

闭包的定义?闭包本质上就是一个函数

如何创建闭包?

如何使用闭包?典型的使用场景是装饰器的使用。

global与nonlocal的区别:

简单的使用如下:

偏函数主要辅助原函数,作用其实和原函数差不多,不同的是,我们要多次调用原函数的时候,有些参数,我们需要多次手动的去提供值。

而偏函数便可简化这些操作,减少函数调用,主要是将一个或多个参数预先赋值,以便函数能用更少的参数进行调用。

我们再来看一下偏函数的定义:

类func = functools.partial(func, *args, **keywords)

我们可以看到,partial 一定接受三个参数,从之前的例子,我们也能大概知道这三个参数的作用。简单介绍下:

总结

本文是对Python 高阶函数相关知识的分享,主题内容总结如下:

python所有内置函数的定义详解

1、定义函数

函数是可重用的程序。本书中已经使用了许多内建函数,如len()函数和range()函数,但是还没自定义过函数。定义函数的语法格式如下:

def 函数名(参数):

函数体

定义函数的规则如下:

①关键字def用来定义一个函数,它是define的缩写。

②函数名是函数的唯一标识,函数名的命名规则遵循标识符的命名规则。

③函数名后面一定要紧跟着一个括号,括号内的参数是可选的,括号后面要有冒号。

④函数体(statement)为一个或一组Python语句,注意要有缩进。

⑤函数体的第一行可以有文档字符串,用于描述函数的功能,用三引号括起来。

按照定义规则,可以定义第一个函数了:

def hello_world():

...     print('Hello,world!')   # 注意函数体要有缩进

...

hello_world()

Hello,world!

这个函数不带任何参数,它的功能是打印出“Hello,world!”。最后一行代码hello_world()是调用函数,即让Python执行函数的代码。

2、全局变量和局部变量

全局变量是定义在所有函数外的变量。例如,定义一个全局变量a,分别在函数test1()和test2()使用变量a:

a = 100   # 全局变量

def test1():

...     print(a)

...

def test2():

...     print(a)

...

test1()

100

test2()

100

定义了全局变量a之后,在函数test1()和test2()内都可以使用变量a,由此可知,全局变量的作用范围是全局。

局部变量是在函数内定义的变量,除了用关键字global修饰的变量以外。例如,在函数test1()内定义一个局部变量a,分别在函数外和另一个函数test2()内使用变量a:

def test1():

...     a = 100   # 局部变量

...     print(a)

...

def test2():

...     print(a)

...

test1()

100

print(a)

Traceback (most recent call last):

File "stdin", line 1, in module

NameError: name 'a' is not defined

test2()

Traceback (most recent call last):

File "stdin", line 1, in module

File "stdin", line 2, in test2

NameError: name 'a' is not defined

Python解释器提示出错了。由于局部变量a定义在函数test1()内,因此,在函数test1()内可以使用变量a,但是在函数外或者另一个函数test2()内使用变量a,都会报错,由此可见,局部变量的作用范围是定义它的函数内部。

一般情况下,在函数内声明的变量都是局部变量,但是采用关键字global修饰的变量却是全局变量:

def test1():

...     global a   # 全局变量

...     a = 100

...     print(a)

...

def test2():

...     print(a)

...

test1()

100

print(a)

100

test2()

100

这个程序与上个程序相比,只是在函数test1()中多了一行代码“global a”,程序便可以正确运行了。在函数test1()中,采用关键字global修饰了变量a之后,变量a就变成了全局变量,不仅可以在该函数内使用,还可以在函数外或者其他函数内使用。

如果在某个函数内局部变量与全局变量同名,那么在该函数中局部变量会覆盖全局变量:

a = 100   # 全局变量

def test1():

...     a = 200   # 同名局部变量

...     print(a)

...

def test2():

...     print(a)

...

test1()

200

test2()

100

由于在函数test1()中定义了一个与全局变量同名的局部变量a,因此,在函数test1()中全局变量a的值被局部变量覆盖了,但是在函数test2()中全局变量a的值没有被覆盖。

综上所述,在Python中,全局变量保存的数据供整个脚本文件使用;而局部变量只用于临时保存数据,变量仅供局部代码块使用。


网页名称:python函数讲解,Python函数笔记
文章链接:http://scjbc.cn/article/hcjhse.html

其他资讯