python语法_函数
---恢复内容开始---
函数:
1 减少重复代码
2 定义一个功能,需要直接调用
3 保持代码一致性
def funcation_name(参数s):
功能代码块0
参数可以为多个,传入时按照前后顺序进行掺入,定义时为形参,实际传入的为实参。形参有几个,就需要传入多少实参。
函数名字必须以下划线或者字母开头,区分大小写,不能使用保留字(大致和变量的命令规则一致)
f() 调用f函数,调用一定记得加()
def f(a,b)
f(a,b) 必须参数,需要按照定义顺序进行参数的传递
f(b='123',a='1a') 关键字参数,可以使用(关键字)对应关系进行实参的传递,
def f(a,b,sex =male)
f(a,b) 当参数符合默认设定的关键字时,调用时可以不用加这个参数,但是当不符合默认参数时调用就必须传进来,f(a,b,female)
不定长参数
def jf(*args/**kargs):
sum = 0
for i in args
sum+=i print(sum)
*args使用元组进行参数传入,*kargs采用字典(键值对)的方式进行传入 def jf(*args)
print(args) jf(*[1,2,3]) 加一个*号,可以使列表里每一个元素作为一个参数。 def jf(**kwargs)
print(kwargs) jf(*{a:b,c:d}) 加** 可以直接以字典的键值对作为参数传入。 jf(1,2,3,4,5,6)
def jf(*args,**kwargs):
for i in kwargs:
print('%s :%s'%(i,kwargs[i])) jf(a=1,c=2,b=3,d=4,e=5,f=7)
关于不定长参数的位置关系:有命名参数必须放在无命名参数后面(*args必须放在**kwargs前面)
---恢复内容结束---
#############
return 定义函数返回值
def f():
print('OK')
return 10
a = f()
print(a)
注意点:
1 函数如果没有return ,默认返回None.
2 return可以返回多个对象,但是会封装成一个对象(元组)返回
3 函数到return 就意味着函数已经执行结束。
############
函数的作用域:
函数内部的变量只在函数内部执行以及调用,在函数外部是无法被调用的。
L:local 局部作用域
E:enclosing (嵌套作用域)
G: global 全局变量(全局作用域)
B built-in 系统内部固定模块里面的变量,如int等,搜索变量的顺序优先级顺序依次是:作用域局部>外层作用域>当前模块的全局>python内置作用域,
注意:
局部作用域不能修改全部变量,局部作用域想要修改全部变量,必须先要声明(global 变量)
在local层里修改,enclosing层里的变量,需要加上nonlocal.进行声明。
模块,内,函数才能引入新作用域
对于变量而言,内部作用域才能声明才能覆盖外部变量,不声明的话直接使用,
#########
高阶函数
函数本身是个对象,函数名是个变量,可以对函数名进行赋值
函数名可以作为函数参数,可以作为函数的返回值
def foo3():
def inner():
return 8
return inner print(foo3) 高阶函数
def f(n)
return n*n
def foo3(a,b,func):
return func(a)+func(b) foo3(1,2,f) ##########
递归函数
def fact(n):
if n == 1 :
return 1
return n*fact(n-1)
print(fact(10))
1:自己调用自己
2:有结束条件
但凡递归可以写的循环都可以解决。
递归效率在一定情况下效率是很底的。
斐波那契数列
0 1 1 2 3 5 8 13 21 34 55
python语法_函数的更多相关文章
- Python基本语法_函数属性 & 参数类型 & 偏函数的应用
目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...
- python语法之函数
函数: 将特定功能代码编写在一个函数里 便于阅读和复用 对一组表达特定功能表达式的封装 使程序模块化 python内置函数: input(),print(),eval()... 函数定义 函数语法格式 ...
- Python基础_函数2
在介绍完函数的大体概念如定义.传参.作用域之后,本节主要介绍函数的几个细节部分. 一. print()函数与return的区别. 相同点:print与return都是向用户在输出界面上展示结果 不同点 ...
- python语法join函数
Python语法中join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. vid = )
- Python基本语法_函数_返回值
目录 目录 前言 函数的返回值 在函数中Return和Print的区别 函数中的文档 前言 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返 ...
- Python基本语法_函数_参数的多类型传值
前言 上一篇主要介绍了Python函数的参数类型,本篇继续学习Python函数多类型传值. 目录 前言 目录 软件环境 参数的多类型传值 向函数传递Tuple 向函数传递List 向函数传递Dicti ...
- python语法_内置函数
a = filter(函数名,序列) 返回一个迭代器对象/.函数里必须加过滤条件 ret = ['a','b','c','d','e'] def ft(s): if s != 'a': return ...
- python语法基础-函数-内置函数和匿名函数-长期维护
################## 内置函数 ####################### """ 一共是 68个内置函数: 反射相关的内置函 ...
- Python练习_函数进阶_day10
1. 1.作业 1,写函数,接收n个数字,求这些参数数字的和.(动态传参) 2,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): p ...
随机推荐
- Zypper常用命令
Zypper是OpenSUSE和企业版SUSE中软件包管理器ZYpp的命令行接口. 主要用于:1.管理软件包:zypper可用来安装.删除.更新和查询本地或远程的软件包.2.管理仓库:zypper可用 ...
- js变量传递
基本类型.引用类型 基本类型: undefined.Null.Boolean.Number.String五种 (简单的数据段);引用类型: object (由多个值构成). 两种类型在使用上的区别: ...
- YARN配置
环境搭建 mapred-site.xml <configuration> <property> <name>mapreduce.framework.name< ...
- servlet九大内置对象和监听器
对象名称 类型 描述 作用域 request javax.servlet.ServletRequest 表示一次用户请求 Request response javax.servlet.SrvletRe ...
- IDEA下运行 mybatis报错 Parameter 'arg0' not found. Available parameters are [autoRecharge, id, param1, param2]
电脑换系统之后重新安装一了 一下idea 项目运行时出现了以下错误, [autoRecharge, id, param1, param2] 或 [arg0, id, arg1, param2] 参考地 ...
- python Request模块
---恢复内容开始--- Request的五种请求方式: request.get() request.post() request.head() requst.put() request.patch( ...
- 使用Python批量下载Plus上的Podcast
Plus是一个介绍数学之美与实际应用的网络杂志,其中包含了数学知识.轶闻趣事.历史典故等许多精彩的内容.该杂志恰好有一个Podcast栏目,提供了不少采访与讲座的mp3音频.于是, 我使用Python ...
- Unity引擎相关知识UnityKnowledgeHyperlink
请简述Unity中的四种坐标系 http://liuqingwen.me/blog/2017/07/31/understanding-coordinate-system-in-unity3d/
- keras安装-【老鱼学keras】
为何要用keras? 两个字:简单. Keras让深度学习像搭建积木一样方便地来进行,使前面的tensorflow能够更加方便地使用. 虽然还有其它更多的理由,比如:Keras 支持多个后端引擎,不会 ...
- net core体系-Standard-1概述
前言 早上起来.NET社区沸腾了,期待已久的.NET Core 2.0终于发布!根据个人经验,微软的产品一般在2.0时会趋于成熟,所以一个新的.Net开发时代已经来临!未来属于.NET Core. . ...