头条新闻

海口,黄金走势,奔跑吧兄弟第五季

Python 函数

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

函数能提高应用的模块性,和代641hh码的重复利用率。Python提供了许多内建函数,比如print()。但也可以自己创建函数,这被叫做用户自定义函数。

1.函数的定义:

默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的。

举例1:

def add(x, y):
print(“x = {0}”.format(x))
print(“x = {0}”.format(x))
print(“x + y = {0}”.format(x+y))
return x+y

举例2:

运行结果:

[0, 1]
[3, 2, 1, 0, 1, 4]
[0, 1, 4]

2.函数的调用

定义一个函数只给了函数一个名称,指定了函数里包含的参数,和代码块结构。

运行结果:

2 + 3 = 5

3.函数的参数

函数默认参数:

缺省参数(默认参数)

def fun(x,y=100) 
print x,y
#调用:
fun(1,2)
fun(1)

定义:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def fun(x=2,y=3):
print x+y

调用:

fun()
#结果:
5
fun(23)
#结果
26
fun(11,22)
#结果:
33

我们经常在看别人的代码中,经常出现def(*args, **kwargjiuquseses)这样的表现形式:

*args 指的是:tuple (1,涂鸦跳跃豪华版 )
**kwargs 指的是:dict {“k”: “v”}
fun(*args, **keargs)
fun(1, 2, 3, 4, 5, a=10, b=40)

4.函数的返回值

函bf519数返回值:

函数被调用后会返回一个指定的值

函数调用后默认返回None

return返回值

返回值可以是任意类型

return执行后,函数终止

return与print区别

#!/usr/bin/env python
# -*- coding:utf-8 -*-
def fun():
print 'hello world'
return 'ok'
print 123
fun()
#结果
hello world
123
None

5.函数的变量

局部变量和全局变量:

Python中的任何变量都有特定的作用域

在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使洪荒魔帝用的变量我们称之为局部变量

在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量。

def fun():
x=100
print x
fun()
x = 100
def fun():
global x //声明
x +=1
print x
fun油焖锡纸茄子()
print x

外部变量被改(x由100改为101):

x = 100
def fun():
global x
x += 1
print (x)
fun()
print (x)
#结果
101
101

内部变量外部也可用:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/4/15 21:33
# @Author : Feng Xiaoqing
# @File : demo2.py
# @Function: -----------
x = 100
def fun():
global x
x +=1
global y
y = 1
print(x)
fun()
print(x)
print(y)
#结果:
101
101
1

统计程序中的变吉冈昌仁量,返回的是个字典

#!/usr/bin/env python
# -*- coding:utf-8 -*-
x = 100
def fun():
x = 1
y = 1
print(locals())
fun()
print (locals())

结果:

{'y': 1, 'x': 1}
{'__name__': '__main__', '__doc_海口,黄金走势,奔跑吧兄弟第五季_': None, '__双向尧三青package__': None, '__loader__': <_frozen_importlib_external.sourcefileloader at="at" object="object" x02ff6390="x02FF6390">, '__spec__': None, '__annotations__': {}, '__builtins__': , '__fi京城流氓白航葬礼le__': 'D:/PycharmProjec玄觞结婚照ts/PythonLive/untitled/day07庆阳张万福/demo2.py', '__cached__': None, 'x': 100, 'fun': }

6.匿名函数

顾名思义就是没有名字的函数,那为什么要设立匿名函数,他有什么作用呢?

lambda 函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方

python 使用 lambda 海贼王剧场版13黄泉乡大冒险来创建匿名函数。

  • lambda只是一个表达式,函数体比def简单很多。lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

语法

lambda函数的语法只包含一个语句,如下:

lambda [arg1 [,arg2,.爆粗band友....argn]]:expression

举例:

求两数的乘积:

常规写法:

def fun(x,y)
return x*y

lambda版本写法:

r = lambda x,y:x*y

7.高阶函数

(1)map(f, list)

返丁一舟和赖敏回每个元素通过f计算完的value的list

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

举例:计算列表里值的平方

#!/us妒夫的掠夺r/bin/env python
# -*- coding:utf-8 -*-
def f(x):
return x*x
for i in map(f,[1,2,3,4,5,6,7]):
print(i)

结果:

1
4
9
16
25
36
49

(2)reduce(f,list)函数(求list中数的和)

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

举例:计算列表中所有数的和

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from functools import reduce #导入reduce函数
def f(x,y):
return x+y
print(reduce(f,[雍女的故事1,2,3,4,5,6,7,8,9,10]))
print(reduce(f,range(1,101)))
#结果:
55
5050

(3)filter()函数(过滤)

filter函数接收一个函数f和一个list,函数f的作用是对每个元素进行判断,返回True或者False,fil黑王子声望怎么刷ter()根据判断结果自动过滤掉不符合条件的元素,返回符合要求的元素组成的list

filter(lamdba xmu5700: x%2 ==1, [1, 2, 3, 4, 5])

举例:计算list中小于7的数

#!/usr/bin/env python
# -*- coding:utf-8 -*-
for i in filter(lambda x:x<7, [1, 2, 3, 4, 5,40,8]):
pri叶子楣王霞nt(i)
#结果:
1
2
3
4
5

(4)sorted()函数(排序)

sorted(...)

sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

# sorted(iterable, key, reverse)
# iterable 一个可迭代的对象
# key 对什么进行排序
# reverse bool类型,如果为true为反序, 默认为false
# 返回值是一个list

举例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/4/15 22:47
# @Author : Feng Xiaoqing
# @File : demo3.py
# @Function: -----------
m = dict(a=1, c=10, b=20, d=15)
print(sorted(m.items(), key = lambda d:d[1],reverse = True)) #按value值倒序排列
#结果:
[('b', 20), ('d', 15), ('c', 10), ('a', 1)]

推荐新闻