函数的作用

  • 减少重复代码
  • 程序易于维护
  • 程序易于扩展

函数的定义

>>> def calculate(x,y):    #定义函数名为calculate,参数为x和y
result = x+y
return result #返回结果 >>> a = calculate(x=3,y=4) #调用,关键参数x=3,y=4
>>> print(a)
7

函数参数

形参,实参:形参类似与数学函数中的变量,实参是则是运算时变量实际的值

位置参数:调用函数时,可以按照函数定义时的位置顺序给定参数

关键参数:调用函数时,可以不按顺序给行形参,但须指明对应

默认参数:函数定义时,可以给某个形参定义好初始值,调用时可不给定其实参;默认参数必须写在最后

>>> def calculate(x,y,z=3):       #默认参数为z=3
res = x+y+z
return res >>> a = calculate(3,4)        #位置参数对应,z可以不给定
>>> print(a)
10

非固定参数:可接受额外参数

  • *args接收的是元组,实参以位置参数实现
  • *kwargs接收的是字典,实参以关键参数实现
  • 由于位置参数需要写在最左,*args要能接收值的话,前面的参数都必须以位置参数实现
>>> def register(name,age,cn=00,*args,**kwargs):
print(name)
print(age)
print(cn)
print(args)
print(kwargs) >>> register('xing','55kg','yang','',height=170)
xing
55kg
yang
('',)
{'height': 170}

函数的返回值

返回使用return关键词

  • 如果未指定return,则返回None
  • 函数执行过程中遇到return语句便会停止执行并返回值
>>> def test():
return 1,2,4,4 >>> test() #返回多个值会将变成元组
(1, 2, 4, 4)

函数的作用域

  • 局部变量和全局变量存在不同的内存空间,不会冲突
  • 就近原则:函数内部未定义变量时,会去全局变量里调用
  • 函数内部可定义全局变量,使用global 声明
  • globals(),locals() 可查看全局变量和局部变量
  • 函数内不可以修改全局变量
>>> name = 'xing'        #全局变量
>>> def test():
name = 'lala' #局部变量
print(name) >>> test()
lala
>>> print(name)
xing

Python基础(九)--函数的更多相关文章

  1. python基础——匿名函数

    python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便.  在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...

  2. python基础——返回函数

    python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回.  我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...

  3. python基础——sorted()函数

    python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...

  4. python基础——filter函数

    python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...

  5. python基础——匿名函数及递归函数

    python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x ...

  6. 八. Python基础(8)--函数

    八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x):     ' ...

  7. python基础之函数详解

    Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...

  8. Python学习笔记(一)python基础与函数

    1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world > ...

  9. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  10. Python基础__函数

    本节将进入函数的介绍,函数是Python基础中最精彩的部分之一,接下来将对函数做详细介绍.函数 函数就是对代码进行一个封装.把实现某一功能的代码进行封装到一起.下次需要使用时不需要进行编写代码直接调用 ...

随机推荐

  1. CF1204C

    CF1204C-Anna, Svyatoslav and Maps 题意: 题目传送门 不想说了,阅读题. 解法: 先用floyd跑出各顶点间的最短路.把p(1)加入答案,然后沿着题目给的路径序列遍历 ...

  2. javascript中的类型转换,宽松相等于严格相等

    为了将值转换为基本类型值(string,number,boolean,null,undefined),抽象操作ToPrimitive会首先检查该值有没有valueOf()方法,如果有并且返回基本类型值 ...

  3. Java中基本数据类型

    在数据类型中,最常用也是最基础的数据类型,被称作基本数据类型.可以使用这些类型的值来代表一些简单的状态. Java 语言的基本数据类型总共有以下8 种,下面是按照用途划分出的4 个类别: 定点类型: ...

  4. 19.顺时针打印矩阵 Java

    题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数 ...

  5. 16.合并两个排序的链表 Java

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 解题思路 两种解法:递归和非递归 参考代码 /* public class ListNode { ...

  6. Qt 互斥量 QMutex

    QMutex类提供了一种保护一个变量和一段代码的方法. mutex.lock() //锁住互斥量(mutex).如果互斥量是解锁的,那么当前线程就立即占用并锁定它.否则,当前线程就会被阻塞,知道掌握这 ...

  7. python练习-使用163邮箱发送邮件

    具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...

  8. Flume-Spooling Directory Source 监控目录下多个新文件

    使用 Flume 监听整个目录的文件,并上传至 HDFS. 一.创建配置文件 flume-dir-hdfs.conf https://flume.apache.org/FlumeUserGuide.h ...

  9. koa 项目打包(使用webpack打包koa2 框架app)

    关键问题 一:所有node_modules里的模块都不进行打包 webpack的核心功能是将引用的各个模块打到一个文件里,并会将各种规范的模块进行统一的模块化处理(webpack规范). 然而node ...

  10. C标准库中转换wchar_t和char类型的字符串

    C 库函数 - mbstowcs()  C 标准库 - <stdlib.h> 描述 C 库函数 size_t mbstowcs(schar_t *pwcs, const char *str ...