全干货之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函数相关推荐

  1. Python3快速入门(五)——Python3函数

    Python3快速入门(五)--Python3函数 一.函数定义 1.函数定义 Python 定义函数使用 def 关键字,一般格式如下: def function_name(parameter_li ...

  2. Python3快速入门(三)——Python3标准数据类型

    Python3快速入门(三)--Python3标准数据类型 一.Python3标准数据类型 Python3 中有六种标准数据类型: A.Number(数字) B.String(字符串) C.List( ...

  3. python3入门-终于懂得python3快速入门教程

    跟Java语言一样,python语言也有类的概念,直接使用class关键字定义python类.在python类,定义类的方法.然后直接使用类的初始化调用自身,获取相应的属性.以下是小编为你整理的pyt ...

  4. Python3快速入门(十四)——Pandas数据读取

    Python3快速入门(十四)--Pandas数据读取 一.DataFrame IO 1.CSV文件 pandas.read_csv(filepath_or_buffer, na_values='NA ...

  5. Python3快速入门(一)——Python简介

    Python3快速入门(一)--Python简介 一.Python简介 1.Python简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰Guido van Rossum ...

  6. Python3快速入门——Pyth

    Python3快速入门(十)--Python3网络编程 一.socket模块简介 Python 提供了两个级别访问的网络服务,低级别的网络服务支持基本的 Socket,提供了标准的BSD Socket ...

  7. Flutter快速入门 五步搞定Flutter环境配置

    Flutter是什么? Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能.高保真的应用程序. Flutter目标是使开发人员能够交付在不同平台上都感觉自然流 ...

  8. python def函数报错详解_JSer 快速入门 Python 之函数详解

    前一篇文章,用一天的时间,通过与 JavaScript 做对比的方式,快速领略了 Python 全貌. 梳理了那么多,若忽略细节差异,两门语言只有两个重要差异: 1.书写风格上大相同 2.功能覆盖上, ...

  9. python3菜鸟教程-Python3 快速入门教程

    Python3下载地址 python.org为python的官网,进去后如果是windows用户就先看一下自己的系统是32位的还是64位的,64位的下x86-64,32位的下x86,最好别下最新的,因 ...

最新文章

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

热门文章

  1. css导航栏(二级菜单)
  2. 计算机专业申请,美国TOP20计算机专业大学申请建议
  3. matlab小波阈值降噪
  4. 知识付费风口,请远离贩卖焦虑的毒鸡汤
  5. aj-report 报表设计器如何添加组件
  6. editplus安装破解和网盘文件连接制作
  7. 第13天 面向对象
  8. android盒子smb,小米盒子局域网SMB共享很好用很方便
  9. LoadRunner对IE版本支持
  10. 数字调制系列:如何理解IQ ?