python笔记5

函数

  • python是用def关键字来定义函数的
def output():
    print("666")
output()
666
  • 带参数
def fun(name):
    print(name + "5555")
fun("666")
6665555
  • 返回值
# 形参 就是定义函数时的参数如add(a, b)中的a, b
# 实参 就是引用函数时的参数如add(11, 12)中的 11, 12
def add(a, b):
    return a + b
a = add(11, 12)
a
23
  • 函数文档
# 用来解释函数作用的
def add(a, b):
    'a + b'
    return a + b
add.__doc__
'a + b'
  • 关键字引用函数
def fun(name, school):
    print(name + "毕业于" + school)
fun("科大","我"), fun(school = "科大",name = "我")
科大毕业于我
我毕业于科大
  • 收集参数
def add2(*a):
    print(a[0], a[1], a[2])
add2(1, 5, 9) #元组
# 收集参数
def add2(*a, b):
    print(a[0], a[1], a[2], b) 
add2(1, 5, 9, b = 999) #元组 关键字
  • 都有返回值,没有返回值就返回None
t = add2(1, 5, 9, b = 999)
print(t)
1 5 9 999
None
  • 动态确定返回值类型
def fun2(): #动态确定返回值类型
    return [2, 3, 6]
a = fun2()
a
[2, 3, 6]
  • 局部变量 和 全局变量
# 在函数中访问一个全局变量可以,但是修改要给全局变量会出意外----会先生成一个新的局部变量来代替,名字和原来一样
 def fun2(b):
    c = 50
    print("c2:",c)
c = 100
fun2(100)
print("c3:", c)
c2: 50
c3: 100
  • global关键字
# 可以访问全局变量
def fun2(b): #动态确定返回值类型
    global c
    c = 50
    print("c2:",c)
c = 100
fun2(100)
print("c3:", c)
c2: 50
c3: 50
  • 内嵌函数和闭包
# 函数式编程
def funx(x):
    def funy(y):
        return x * y
    return funy
y = funx(40)
y(40)
1600
funx(40)(40)
1600
  • nonlocal关键字
# nonlocal
def funx(x): 
    t = 10
    def funy(y):
        nonlocal t
        return x * t * y
    return funy(10)
funx(40)
4000
  • 匿名函数 lambda表达式
    • 格式: lambda 参数 : 返回值
f = lambda x : x * 2 + 6
f(4)
14
f = lambda x, y : x * 2 + 6 * y
f(2, 2)
16
  • filter(function or None, iterable) 过滤器 默认选择为真
def odd(x):
    return x % 2
temp = range(10)
show = filter(odd, temp)
list(show)
[1, 3, 5, 7, 9]
list(filter(lambda x : x % 3, temp)) # 去掉了0
[1, 2, 4, 5, 7, 8]
  • map(func, *iterables)映射
# 类似于循环 就是从range中按顺序取出数字为x,然后进行运算
list(map(lambda x : x * 3, range(5)))
[0, 3, 6, 9, 12]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值