函数:

  1. 概念:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可
  2. 创建: def
  3. 函数名命名规范: a. 必须以下划线或字母开头 b. 区分大小写 c.不能是保留字
  4. 参数(形参和实参):调用时传的参数是实参,方法里写的接收的变量是形参

必备参数:

# name,age 是必备参数;调用此函数时必须按顺序传入值。
def print_info(name, age):

关键字参数:

# 调用函数时可以不按顺序传入参数,但必须说明关键字
print_info(age=17, name='su')

默认参数:

# 声明参数时指定一个默认值:sex='female',这样在调用该函数时如果不传参数值就会使用默认值。默认参数必须放在所有参数后面(不包括不定长参数)# 默认参数后面如果跟了不定长参数,那么会先把第一个参数值给默认参数def print_info(name, age, sex='female'):passprint_info('lily', 18)   # 指定默认性别为女
print_info('xiaoming', 18, 'male')   #传入参数:性别为男

不定长参数:

# 不定长参数有两种:一种是不会给传入的参数命名,第二种是传入的参数有命名。 *args 放左边, **kwargs 放右边# 第一种
def add(*args):   # 不定长参数一,*args不会给传入的参数命名,声明时不会命名print(args)sum = 0for i in args:  # args = (1, 2, 3, 4, 5),元组类型sum += iprint(sum)add(1, 2, 3, 4, 5)#第二种: **kwargs 来接收超出的命名参数,是一个字典类型
def print_info(name, age, **kwargs):print(kwargs)print('name: %s' % name)print('age is: %d'% age)for i in kwargs:print('%s: %s' % (i, kwargs[i]))print_info('lily', 18, sex='female', locate='beijing',)

5. return:

作用:a. 结束函数 b.返回某个对象

如果函数没有 return,会默认 return 一个 None

如果return 多个对象,那么python 会帮我们把多个对象封装成一个元组返回

def test(a, b):return a+b, a*bprint(test(1, 2))>>> (3, 2)

6. 定义域:

built_in , global, enclosing, local

局部作用域如果要修改全局变量,需要加 global :   global count

global 关键字声明的变量必须在全局作用域上,不能在嵌套作用域上。

当要修改嵌套作用域(enclosing)中的变量,需要使用 nonlocal 关键字:nonlocal count

变量查找顺序:LEGB,作用域局部>外层作用域>当前模块中的全局>python内置作用域

只有模块、类及函数才能引入新作用域

对于一个变量,内部作用域先声明就会覆盖外部变量,不声明直接使用,就会使用外部作用域的变量

内部作用域要修改外部作用域变量的值时,全局变量要使用 global 关键字,嵌套作用域变量要使用 nonlocal 关键字,nonlocal 是 python3 新增的关键字,有了这个关键字,就能完美实现闭包了

7. 作用: a.减少重复代码 b. 方便修改,便于扩展 c. 保持代码一致性

转载于:https://www.cnblogs.com/mlllily/p/10252715.html

13 python初学(函数)相关推荐

  1. python初学函数_Python初学者速收藏!面向Python初学者的知识-函数

    什么是函数式编程? 函数式编程是一种编码范例,其中我们定义要做什么而不是执行什么动作.这个想法最初是从数学中采用的,我们定义输入到函数中的输入以及我们期望从中获得的输出. 函数式编程很少依赖状态管理- ...

  2. 13.python的函数(四)——高级特性

    1)切片 就是索引,之前在数据类型里面介绍过了.这里补充一下其他的索引形式. L[:10] #前10个数L[-10:] #后10个数L[10:20] #前11-20个数L[:10:2] #前10个数, ...

  3. Python初学13——jieba库简介与使用

    目录 一.jieba库基本介绍 二.jieba库的使用说明(三种模式.lcut().lcut_for_search().add_word() ) 三."文本词频统计"实例 一.ji ...

  4. python入门(13)获取函数帮助和调用函数

    Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数.可以直接从Python的官方网站查看文档: http://doc ...

  5. python介绍和用途-python匿名函数的介绍及用途

    匿名函数 用lambda能够创建一个匿名函数,这种函数得名于省略了用def声明函数的标准步骤. 语法 lambda [arg1 [,arg2,.....argn]]:expression 如何使用 我 ...

  6. 第三章:Python基础の函数和文件操作实战

    本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...

  7. python进行linux编程,Python之函数进阶

    本节内容 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函数 函数是可以被调用的,且一个函数内部可以调用其他函数.如果一个函数在内部调用本身,这个函数就是一个递归函数.函数递归 ...

  8. python中函数的括号使用

    一直以来对python中函数括号的使用,有点分不清楚,到底什么时候用括号,什么时候不用括号,造成了很大看困惑. ''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 ...

  9. python join函数用法-Python join()函数

    今天写python 100例时,有个题目是大致是这样的:已知输入形式是1+3+2+1,要求输出形式为1+1+2+3 一开始思路是将输入的字符串用split()函数划分成数组,在对数组进行排序,再用fo ...

最新文章

  1. 收集一些好的技术文档
  2. LeetCode算法题7:DFS和BFS
  3. c++强制类型转换运算符
  4. 阿里云 Composer 全量镜像
  5. 【Android】16.3 带Intent过滤器的Services
  6. 浅谈Hybrid技术的设计与实现【转】
  7. 悲苦手机命,“熬”在新零售
  8. ominigraffle 模板_商河盖梁模板安装
  9. Problem 1036 四塔问题
  10. 如何在spring框架中解决多数据源的问题[转]
  11. Jni 返回jstring字符串
  12. 可视化工具软件排行榜
  13. matlab查表svpwm,SVPWM的MATLAB仿真实现
  14. 等价类划分法测试用例设计举例
  15. 模拟退火算法解决车间工作台工作指派问题
  16. 由浅入深聊聊Golang的map
  17. java 定时任务实现方式
  18. 文件管理,文件判断,时间戳,通配符类命令
  19. 利用tcpcopy引流做模拟在线测试
  20. 将本地图片上传至七牛云

热门文章

  1. elementui表格-改变某一列的样式
  2. 20191215周学习总结
  3. 关于Android回调的理解
  4. ZeroC ICE的远程调用框架 ASM与defaultServant,ServantLocator
  5. java io之图片存取
  6. CLR线程概览(一)
  7. Hybrid框架UI重构之路:五、前端那点事儿(HTML、CSS)
  8. oracle用户权限的管理
  9. PMP读书笔记(第11章)
  10. eclipse的workset项目重复显示解决方案