700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python入门之函数调用-python之函数入门

python入门之函数调用-python之函数入门

时间:2020-05-18 22:17:01

相关推荐

python入门之函数调用-python之函数入门

python之函数入门

一. 什么是函数

二. 函数定义, 函数名, 函数体以及函数的调用

三. 函数的返回值

四. 函数的参数

五.函数名->第一类对象

六.闭包

一,什么是函数

函数: 对代码块和功能的封装和定义

二. 函数定义, 函数名, 函数体以及函数的调用

我们使用def关键字来定义函数

函数的定义语法: def 函数名()

函数体

如下

def fuc():

lst=[1,2,3,4,5,6,7,8,9]#函数体

fuc()#函数的调用

这里的函数名的命名规则和使用和变量基本一样

函数体: 就是函数被执行之后要执行的代码

函数的调用: 使用函数名可以调用函数, 写法: 函数名(), 这个时候函数的函数体会被执行

三. 函数的返回值

执行完函数之后. 我们可以使用return来返回结果.

如下:

def fuc():

ls= []

lst= [1,2,3,4,5,6,7,8,9]

for i in range(len(lst)):

if int(i) % 2 ==0:

ls.append(lst[i])

return ls#返回值

ls_1=fuc()

print(ls_1)

函数中return的使用:

1. 函数中遇到return, 此函数结束, 不再继续执⾏.

2. 关于返回值:

如果return什么都不写 或者 干脆不写return .那么返回的就是None

如果return后面写了一个值. 则调用者可以接收一个结果

如果return后面写了多个结果, 则调用者可以接收一个tuple, 调用者可以直接解构成多个变量

四. 函数的参数

参数, 函数在调用的时候指定具体的一个变量的值. 就是参数

参数语法: def 函数名(参数列表):

函数体

def func(形参)

a = 10

ret=func(实参)

关于参数:

1. 形参

写在函数声明的位置的变量叫形参. 形式上的一个完整. 表示这个函数需要xxx

2. 实参

在函数调用的时候给函数传递的值. 叫实参, 实际执行的时候给函数传递的信息. 表示给函数xxx

3. 传参

给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.

参数的分类:

在实参的角度来看. 分为三种:

1. 位置参数

2. 关键字参数

3. 混合参数, 位置参数必须在关键字参数前面

在形参的⾓角度来看,

1. 位置参数

2. 默认值参数(大多数传进来的参数都是一样的, 一般用默认参数)

五.第一类对象-> 函数名 -> 变量名

函数名可以像变量一样进行赋值

还可以作为列表的元素进行使用

还可以作为返回值返回

还可以作为参数进行传递

例子1.

def func1():

print("字符串")

def func2():

print("列表")

def func3():

print("字典")

def func4():

print("元组")

lst = [func1, func2, func3, func4] # 函数+() 就是调用.

print(lst)

for el in lst: # el是列表中的每一项.

el() # 拿到函数. 执行函数

例子2.

def wrapper():

def inner():

print("哈哈哈")

return inner # 函数名可以像返回值一样返回

ret = wrapper()#这里的ret就是inner

ret() # 在函数外面访问了函数内部的函数

例子3代理proxy.

# 函数可以作为参数进行传递

def func1():

print("字符串")

def func2():

print("列表")

def func3():

print("字典")

def func4():

print("元组")

# proxy即代理. 装饰器的雏形

def proxy(a): # a就是变量. 形参

a()

proxy(func1)#把func1赋值给a

proxy(func3)#把func2赋值给a

proxy(func4)#把func3赋值给a

六.闭包

闭包 -> 函数的嵌套

内层函数对外层函数中的变量的使用

闭包的优点:

1, 可以保护变量不被其他人侵害

2, 保持一个变量常驻内存

def wrapper():

name = "周杰伦" # 局部变量常驻与内存

def inner():

print(name) # 在内层函数中使用了外层函数的局部变量

return inner # 返回函数名

ret = wrapper() # ret是一个内层函数

ret() # ret是inner, 执行的时机是不确定的, 必须保证里面的name必须存在

如何通过代码查看一个闭包

__closure__: 有东西就是闭包. 没东西就不是闭包

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。