全干货之Python3快速入门(五)——Python3函数
全干货之Python3快速入门(五)——Python3函数
什么是函数
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
- 函数能提高应用的模块性,和代码的重复利用率。
- 在Python中函数名不能重复(没有重载)
函数定义
# 函数的定义和调用
# def:函数定义符、test1:函数名
def test1():# 函数定义的内容print('Hello')pass# 调用函数
test1()
带参函数定义和调用
def test2(arg1):print('test2:', arg1)# 调用带参函数
test2("Hi")
函数返回值
- return [表达式]
- 语句用于退出函数,调用方放回一个表达式。
- 不带参数值的return语句返回None
函数进行类型定义
- 指定参数类型 arg1 : int
- 指定返回值类型 -> int
def foo(arg1 : int) -> int :return 1
函数参数类型
- 普通参数
- def foo(name, age):
- foo(‘zou’, 18)
- 关键字参数:顺序可以换 代码更加清晰
- def foo(name, age):
- foo(name = ‘zou’, age = 18)
- 默认参数
- def foo(name, age = 18):
- foo(name = ‘zou’, age = 18)
- 不定长参数
- def foo(*args, **kwargs):
- foo(1, 2, 3, name = ‘zou’, age=18)
- *args:元组,普通参数, **kwargs:字典、关键字参数
- 同时使用时:*args参数列必须在 **kwargs前
作用域类型
# 全局作用域
globalScope1 = "globalScope"
for element in range(4):globalScope2 = elementdef test1():# 局部作用域localScope = "localScope"
- G Global 全局作用域
- 在Python中,for/while/if都不会产生新的作用域
- def函数才会产生新的作用域
- L Local 局部作用域
- E Enclosing 闭包作用域
闭包的定义:如果在一个内部函数里,对在外部函数内(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure) - B Build-in 内建作用域
以L->E->G->B的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,最后去内建中找。
一个函数想要修改自己之外的变量:
- 全局变量 需要用 global声明
- 不是全局的 需要用 nonlocal声明
全干货之Python3快速入门(五)——Python3函数相关推荐
- Python3快速入门(五)——Python3函数
Python3快速入门(五)--Python3函数 一.函数定义 1.函数定义 Python 定义函数使用 def 关键字,一般格式如下: def function_name(parameter_li ...
- Python3快速入门(三)——Python3标准数据类型
Python3快速入门(三)--Python3标准数据类型 一.Python3标准数据类型 Python3 中有六种标准数据类型: A.Number(数字) B.String(字符串) C.List( ...
- python3入门-终于懂得python3快速入门教程
跟Java语言一样,python语言也有类的概念,直接使用class关键字定义python类.在python类,定义类的方法.然后直接使用类的初始化调用自身,获取相应的属性.以下是小编为你整理的pyt ...
- Python3快速入门(十四)——Pandas数据读取
Python3快速入门(十四)--Pandas数据读取 一.DataFrame IO 1.CSV文件 pandas.read_csv(filepath_or_buffer, na_values='NA ...
- Python3快速入门(一)——Python简介
Python3快速入门(一)--Python简介 一.Python简介 1.Python简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰Guido van Rossum ...
- Python3快速入门——Pyth
Python3快速入门(十)--Python3网络编程 一.socket模块简介 Python 提供了两个级别访问的网络服务,低级别的网络服务支持基本的 Socket,提供了标准的BSD Socket ...
- Flutter快速入门 五步搞定Flutter环境配置
Flutter是什么? Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能.高保真的应用程序. Flutter目标是使开发人员能够交付在不同平台上都感觉自然流 ...
- python def函数报错详解_JSer 快速入门 Python 之函数详解
前一篇文章,用一天的时间,通过与 JavaScript 做对比的方式,快速领略了 Python 全貌. 梳理了那么多,若忽略细节差异,两门语言只有两个重要差异: 1.书写风格上大相同 2.功能覆盖上, ...
- python3菜鸟教程-Python3 快速入门教程
Python3下载地址 python.org为python的官网,进去后如果是windows用户就先看一下自己的系统是32位的还是64位的,64位的下x86-64,32位的下x86,最好别下最新的,因 ...
最新文章
- linux中去掉^M的方法
- windows上安装gcc/g++环境(MinGW,msys64等)
- ant external lib
- STM32 ADC 单次模式、连续模式、扫描模式(转载)
- 3d打印机 开源资料_3D打印的人类双手,开源课程资料以及更多新闻
- Python爬虫解析htm时lxml的HtmlElement对象获取和设置inner html方法
- Eclipse 中Web项目如何引用Java项目源码调试的配置
- libmaxminddb
- 自媒体时代,人人可做的自媒体(附自媒体教程,少走弯路)
- FTTC-BSA-AuNCs 荧光素异硫氰酸酯标记牛血清白蛋白修饰的金簇
- android 验证手机、邮箱格式
- MATLAB调试滤波器,matlab 滤波器
- 简洁安装HIT-SCIR(哈工大) pyltp
- 实战python网络爬虫豆瓣_三分钟教会你利用Python爬虫实现豆瓣电影采集(实战篇)...
- Carsim与Simulink联仿Carsim找不到Matlab错误的解决方案,此前装过多个Matlab版本出现该问题可以尝试此方法
- RxJS结合vue-rx, Akita的介绍和使用
- scratch案例——跳跃的猴子
- springmvc 下载文件ie8可用
- 服务器正在紧急维护公告,第一大区部分服务器紧急维护公告
- Sentinel下载哨兵数据(IDM或者迅雷下载)
热门文章
- 服务引用定义配置(服务的注册与发现)
- iatf16949标准三大过程_IATF16949要求过程、文件、记录汇总
- Ad Hoc网络路由技术
- 关于微信公众号模板消息的调整,你怎么看?
- java 延时发送邮件_java编程实现邮件定时发送的方法
- matlab 在线帮助,matlab中文帮助文档【荐】.pdf
- 控制台三角形星号及巴基斯坦国旗
- 软件测试工程师的Linux之路(持续更新修正)
- Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)
- 基于matlab的数字调制,基于MATLAB的多功能数字调制系统信号源仿真