全干货之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,最好别下最新的,因 ...
最新文章
- 2017-1-7 html元素分类(1)
- R语言ggplot2可视化:ggplot2可视化时间序列数据并在末尾数据点添加数值标签(number label)
- PostgreSQL 模式删除背后的代码
- 中的 隐藏鼠标菜单_如何在鼠标右键菜单中添加自定义菜单?工效率提升一倍...
- CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6
- linux手动生成dump文件权限不足_来玩一玩Linux常见命令~
- ssh连接局域网内ubuntu主机_ubuntu使用ssh连接远程电脑的方法
- 如何将商业第三方文物整合到您的Maven版本中
- # 畸变矫正_别让这个细节毁了你的照片,学会正确进行畸变调整
- java suppresslint_Java 注解用法详解——@SuppressWarnings
- 这届互联网公司月饼:阿里卡哇伊,百度酷炫风,京东乾隆审美……
- 计算机过程控制系统李向舜pdf,2010-2011学年一学期(16-19周)考试安排表(1)
- 51Nod-1018 排序【排序】
- 河南理工大学计算机科学与技术怎么样,河南理工大学计算机科学与技术怎么样...
- ppt背景图片php,ppt背景图片怎么设置 ppt幻灯片制作视频
- IT项目管理 第三章
- 项目组织结构的3种类型:职能型、项目型和矩阵型
- 关于vue项目表单验证身份证号的正则表达式
- 不用注册表删除搜狗输入法残留文件夹
- 解决无法使用IMAP将Gmail帐户添加到Outlook的问题