函数:

  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'):
pass print_info('lily', 18) # 指定默认性别为女
print_info('xiaoming', 18, 'male') #传入参数:性别为男

不定长参数:

# 不定长参数有两种:一种是不会给传入的参数命名,第二种是传入的参数有命名。 *args 放左边, **kwargs 放右边

# 第一种
def add(*args): # 不定长参数一,*args不会给传入的参数命名,声明时不会命名
print(args)
sum = 0
for i in args: # args = (1, 2, 3, 4, 5),元组类型
sum += i
print(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*b print(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. 保持代码一致性

13 python初学(函数)的更多相关文章

  1. python 初学函数

    #len # s = '金老板小护士' # len(s) # def my_len(): #自定义函数 # i = 0 # for k in s: # i += 1 # print(i) # # le ...

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

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

  3. python 13 内置函数2

    目录 内置函数(二) 匿名函数 内置函数(三) 闭包 内置函数(二) abs() #返回绝对值--返回的是正数 enumerate("可迭代对象","序号起始值" ...

  4. Python数学函数

    1.Python数学函数 1.abs(x):取绝对值,内建函数 2.math.ceil(x):向上取整,在math模块中 3.cmp(x,y):如果 x < y ,返回-1:如果 x == y ...

  5. (Python) 函数、匿名函数

    本节将学习如何用Python定义函数,调用函数,以及学习匿名函数的使用 1.定义函数 Python中定义函数用关键字def,如下例所示,testFun为函数名 def testFun(): print ...

  6. Python之函数进阶

    本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函 ...

  7. (转)python中函数参数中如果带有默认参数list的特殊情况

    在python中函数参数中如果带有默认参数list遇到问题 先看一段代码 1 2 3 4 5 6 7 8 9 def f(x,l=[]):     for i in range(x):         ...

  8. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  9. 【转】Python之函数进阶

    [转]Python之函数进阶 本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函 ...

随机推荐

  1. PHP微信H5支付

    今天项目用到了微信新出的h5支付直接去官网 https://pay.weixin.qq.com/wiki/doc/api/index.html找dome去了找了之后才发现没有一脸懵逼,一开始以为和公众 ...

  2. C# 利用Log4Net进行日志记录

    概述 本文主要简单说明如何使用Log4Net进行日志记录,在程序开发过程中记录日志的优点: 它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug: 一旦在程序中加入了Log 输出 ...

  3. Java虚拟机(四)垃圾收集算法

    前言 在本系列上一篇文章中我讲到了垃圾标记算法,垃圾被标记后,GC就会对垃圾进行收集,垃圾收集有很多种算法,这篇文章就来介绍常用的垃圾收集算法的思想. 1.标记-清除算法 标记-清除算法(Mark-S ...

  4. listview 异步加载图片并防止错位

    1.图片错位原理: 如果我们只是简单显示list中数据,而没用convertview的复用机制和异步操作,就不会产生图片错位:重用convertview但没用异步,也不会有错位现象.但我们的项目中li ...

  5. 【linux】Can't connect to local MySQL server through socket和Plugin 'auth_socket' is not loaded报错

    真的是一次吐血的经历,弄了两个多小时才弄好. 问题1:直接登陆root用户报错 ERROR 2002 (HY000): Can't connect to local MySQL server thro ...

  6. HDU 1086

    You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3 ...

  7. mssql sqlserver 模拟for循环的写法

    转自:http://www.maomao365.com/?p=6567 摘要: 下文讲述sql脚本模拟for循环的写法,如下所示: /* for样例 for('初始值','条件','执行后自增') 通 ...

  8. Python操作字典(dict)

    一.字典定义 >>> dict={} 二.字典元素添加 >>> dict['性别']='男' >>> dict {'性别': '男'} >& ...

  9. Windows 在命令行中将输出内容放到文件中

    1.将命令行中输出的内容存储到文件中. 使用重定向符号 “>” 就可以了. 通过 > 可以创建新文件并将内容放到文件中,如果文件存在,则会覆盖. 2.通过 >> 可以向已有的文 ...

  10. 教你用Python Jupyter Notebook 制作代码分享 PPT

    PPT 是个强大的工具,但是笔者的 PPT 制作技术不咋地,所以之前的分享习惯使用 Jupyter Notebook + RISE,这样使用简单的 markdown 格式加上代码就足够做一次代码分享了 ...