Python教程

python 函数

本文主要是介绍python 函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python 基础

函数的介绍 : 在python中 给定的参数无法限制

函数就是 一堆准备好的代码 在需要的时候调用 解决代码的冗余 可读性 维护性差

函数的声明:

在python中使用 def 函数名 (形参):

def say_hello(name):
	print('hello python My name '+name)
# 注意函数要在方法调用前 声明
say_hello('zzy')

函数的返回值

def sum(a,b):
    c=a+b
    return c
a = sum(1,3)
print(a ** 4)

帮助函数 help(函数名)

全局变量 和 局部变量

局部变量: 在函数内部定义时 只能在函数内部使用

全局变量: 可以在本类中使用

注意 在函数内部定义一个重名的变量 是创造一个新的局部变量

如果要在函数内部改变 全局变量 加上关键词 global 变量名

locals() 可以查看局部变量

在python中 只有 函数能分割作用域

多个返回值

def hello(x,y):
    return (x,y)
a = hello('zzy','21')
print(a)

参数的使用

缺省参数

给定一个形参设置一个默认值 缺省参数要放在最后面

def gg(name,age,city=''):
    pass

可变参数

*args表示可变长参数

def gg(name,age,*args):
    pass
gg(1,2,3,4,5)

函数的注意点

函数三大要素 函数名 参数 返回值

在python中函数名不能重名

匿名函数的使用

关键字 : lambda student : student 前者是参数 后者是返回值

使用场景 吧匿名函数当作一个参数 传给另一个函数

常用方法

sorted(iter,fun) 对可迭代对象进行排序

filter(fun , iter) 对可迭代对象进行过滤

age = [12,34,22,17,13]
x = filter(lambda age:age>18 , age) # 产生一个可迭代对象
for a in x:
    print(a)

map(fun,iter) 吧可迭代对象里的每个值都 进行一次函数里的代码块

age = [12,34,22,17,13]
x = list(map(lambda item:item+2 , age))
print(x)

reduce(fun,可运算,初始值)

from functools import reduce
age = [12,34,22,17,13]
print(reduce(lambda e1, e2: e1 + e2, age,0))# 求出所有数据的和 ((((12+34)+22)+17)+13) 先加成一个值赋给e1 下一个值赋给e2 

常用内置函数

  1. abs()绝对值
  2. max() 最大数
  3. min() 最小数
  4. all(iter) 会把可迭代对象所有的值 全部转化为bool值 都为true 为true 否则为flase
  5. any() 只要有一个是true 就是true
  6. bin() 将数字转化为二进制
  7. hex() 十六进制
  8. oct() 八进制
  9. chr()将字符编码转化为字符
  10. ord() 将字符转化为对应的编码
  11. dir(object) 能列出参数所有的方法 和属性
  12. divmod() 返回两个数相除的商 和 余数
  13. eval() 吧字符串当作 代码执行
  14. exit(结束吗) 以指定的退出码结束程序
  15. glocals() 查看所有的全局变量
  16. locals() 查看所有的局部变量
  17. help() 帮助文档
  18. bin() 获取内存地址
  19. isinstance()
  20. issubclass() 判断一个类是否是子类
  21. len() 获取长度
  22. iter() 获取可迭代对象的迭代器
  23. next()for..in 底层调用next()
  24. open() 打开一个文件

高阶函数

  1. 函数作为参数 lambda filter map reduce

  2. 函数作为返回值 注意返回的是函数本身 还是返回调用函数执行结果

  3. 函数内部再定义一个函数

    闭包

    在一个函数中 定义另一个函数 内部函数中使用外部函数的变量 叫做闭包

    def a():
        x = 0
        def b():
            nonlocal x # 注意 在内部函数中要想改变外部函数的值 要使用nonlocal 关键字  不然是生成一个新的变量
            x=2
        return b
    

    装饰器

    def a(fn):
    
        def b(d,e):
            return fn(d,e) #也就是把c函数放到了b函数中  而调用的函数c函数 是b函数 
    
        return b
    
    @a # 装饰器 定义
    def c(d,e):
        f=d+e
        return f
    
    
    print(c(1, 2))
    
这篇关于python 函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!