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__: 有东西就是闭包. 没东西就不是闭包
python入门之函数调用-python之函数入门相关推荐
- 【Python刷题篇】Python从0到入门4|字典复习、函数入门、综合实践
Python从0到入门3目录 前言 Q1:字典复习-首都 Q2:函数入门-求差 Q3:函数入门-牛牛的朋友 Q4:综合案例:自动售卖饮料机 Q5:综合案例-被8整除的数字 Q6:综合案例-披萨店的订单 ...
- python入门之函数调用内置函数_第九篇 python基础之函数,递归,内置函数
阅读目录 一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量和全局变量 六 前向引用之'函数即变量' 七 嵌套函数和作用域 八 递归调用 ...
- python入门之函数调用第二关_Python入门之函数调用——第2关:函数正确调用 - 得到想要的结果...
任务描述 函数被定义后,本身肯定不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果. 本关的目标是让读者了解并掌握函数调用的相关知识. 相关知识 定义函数与调用函数的顺序 在定义了函数之后 ...
- python内置函数调用_Python中函数的基本定义与调用及内置函数详解
前言 函数function是python编程核心内容之一,也是比较重要的一块.首先我们要了解Python函数的基本定义: 函数是什么? 函数是可以实现一些特定功能的小方法或是小程序.在Python中有 ...
- python写出函数调用关系_函数递归调用: 调用者 与 被调用者之间的四种数据传递关系...
递归就是函数调用本身,来解决子问题,通过子问题的解构造本问题的解. 递归可以用于简化程序,让程序结构明了.. 调用者与被调用者之间有以下的四种数据传递关系: 1>没有任何数据传递 e.g. 打印 ...
- python中一个函数调用另一个函数中的变量
我们在一个函数func2()中想使用另一个函数func1()中的变量,通常会使用返回值的方法,但是在调用的时候,也会将func2()整体运行一遍: 如果func2()函数体的运行对于func1()取返 ...
- python闭包和函数调用区别_函数闭包与可调用类
请注意,由于之前在我的测试代码中发现了一个错误,我原来的答案是不正确的.修订版如下. 我做了一个小程序来测量运行时间和内存消耗.我创建了以下可调用类和一个闭包:class CallMe: def __ ...
- python闭包和函数调用区别_python – 函数闭包与可调用类
在许多情况下,有两种实现选择:闭包和可调用类.例如, class F: def __init__(self, op): self.op = op def __call__(self, arg1, ar ...
- python入门之函数调用第3关_Python入门到入土!史上最详细的函数教程!
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. ...
最新文章
- Angular多个页面引入同一个组件报错The Component ‘MyComponentComponent‘ is declared by more than one NgModule怎么办?
- Redis 为什么这么快?
- ros 工作流程图4
- 2019年春季学期第二周作业(文件指针)
- eclipse中LogCat有时不显示信息的简单解决办法
- HTML CSS简介与图片映射
- python prettytable表格列数太多_excel列数太多了怎么办
- pandas颠倒dataframe与series的顺序
- 2)Oracle 公司的产品线介绍
- c语言文件打开幕式,c语言奥运会开幕式
- 《硅谷钢铁侠》---- 读书笔记
- LNMP 一键安装脚本阅读
- timesten mysql_TimesTen进程种类详解
- 2022年7月国产数据库大事记-墨天轮
- HOMAG工控机维修西门子IPC627D维修HG-A.1.0
- Java批量解析微信dat文件,微信图片破解
- 一个IT工薪族的7年奋斗成果:天鸟之路,天鸟有财,天鸟有度
- 计算机应用团队,【计算机应用论文】团队合作学习下计算机应用论文(共3025字)...
- 使用scrapy爬取北京公交
- 通用计算机按其规模速度和功能,电脑基础知识详解
热门文章
- 动态规划--牛客网19校招--魔法深渊
- 终端服务器安全层在协议流中检测到错误,终端服务器安全层在协议流中检测到错误,并已取消客户端连接...
- 云服务器主机性能测试,云服务器主机性能测试
- iis设置导致python调用urllib.request.urlopen出错问题
- python hstack_Python小白数据科学教程:NumPy (下)
- 近代数字信号处理实验-DFT分析信号的频谱
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 27丨列出指定时间段内所有的下单产品【难度简单】​
- JavaScript 逆向 ( 一 ) --- JavaScript 语法基础
- Python 爬虫框架 - PySpider
- mysql ==null_mysql = null 问题