流暢的python---函數
Posted 行走在云端
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流暢的python---函數相关的知识,希望对你有一定的参考价值。
一、函数的定义及其应用
所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用
函数的使用包含两个步骤
1.定义函数–封装独立的功能
2.调用函数–享受封装的成果
函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用‘’
函数:函数是带名字的代码块,用于完成具体的工作 需要在程序中多次执行同一项任务时,你无需反复编写完成该任务的代码,而只需调用该任务的函数
最簡單函數:例子
def fib(n): if n<=1: return n else: return fib(n-1)+fib(n-2) a=fib(10) print (a) for i in range(1, 20): print(fib(i), end=‘ ‘) 打印结果: 55 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
闭包函数:闭包的特点就是内部函数引用了外部函数中的变量。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat May 2 23:04:22 2020
@author: root
函数名.__closure__ 在函数是闭包函数时,返回一个cell元素;不是闭包时,返回None。
"""
def func():
name=100
def inner():
print (name)
print(inner.__closure__) # (<cell at 0x0000027C14EB85E8: str object at 0x0000027C14F54960>,)
return inner
f=func()
f()
结果:
100
(<cell at 0x7f568408d050: function object at 0x7f568405c560>, <cell at 0x7f567feb9310: int object at 0x55d3c129df60>)
def line_conf(a,b): def line(x): return a*x+b return line lineA=line_conf(2,1) #y=2x+1 lineB=line_conf(3, 4) #y=3x+1 print (lineA(1)) print (lineB(1))
__closure__属性返回的是一个元组对象,包含了闭包引用的外部变量。
· 若主函数内的闭包不引用外部变量,就不存在闭包,主函数的_closure__属性永远为None:4
以上是关于流暢的python---函數的主要内容,如果未能解决你的问题,请参考以下文章