全干货之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. linux中去掉^M的方法
  2. windows上安装gcc/g++环境(MinGW,msys64等)
  3. ant external lib
  4. STM32 ADC 单次模式、连续模式、扫描模式(转载)
  5. 3d打印机 开源资料_3D打印的人类双手,开源课程资料以及更多新闻
  6. Python爬虫解析htm时lxml的HtmlElement对象获取和设置inner html方法
  7. Eclipse 中Web项目如何引用Java项目源码调试的配置
  8. libmaxminddb
  9. 自媒体时代,人人可做的自媒体(附自媒体教程,少走弯路)
  10. FTTC-BSA-AuNCs 荧光素异硫氰酸酯标记牛血清白蛋白修饰的金簇
  11. android 验证手机、邮箱格式
  12. MATLAB调试滤波器,matlab 滤波器
  13. 简洁安装HIT-SCIR(哈工大) pyltp
  14. 实战python网络爬虫豆瓣_三分钟教会你利用Python爬虫实现豆瓣电影采集(实战篇)...
  15. Carsim与Simulink联仿Carsim找不到Matlab错误的解决方案,此前装过多个Matlab版本出现该问题可以尝试此方法
  16. RxJS结合vue-rx, Akita的介绍和使用
  17. scratch案例——跳跃的猴子
  18. springmvc 下载文件ie8可用
  19. 服务器正在紧急维护公告,第一大区部分服务器紧急维护公告
  20. Sentinel下载哨兵数据(IDM或者迅雷下载)

热门文章

  1. 服务引用定义配置(服务的注册与发现)
  2. iatf16949标准三大过程_IATF16949要求过程、文件、记录汇总
  3. Ad Hoc网络路由技术
  4. 关于微信公众号模板消息的调整,你怎么看?
  5. java 延时发送邮件_java编程实现邮件定时发送的方法
  6. matlab 在线帮助,matlab中文帮助文档【荐】.pdf
  7. 控制台三角形星号及巴基斯坦国旗
  8. 软件测试工程师的Linux之路(持续更新修正)
  9. Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)
  10. 基于matlab的数字调制,基于MATLAB的多功能数字调制系统信号源仿真