---恢复内容开始---
函数:
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 ...
随机推荐
-
jquery的常用ajax操作
$.ajax() 定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() ...
-
Bootstrap系列 -- 16. 文本域textarea
文本域和原始使用方法一样,设置rows可定义其高度,设置cols可以设置其宽度.但如果textarea元素中添加了类名“form-control”类名,则无需设置cols属性.因为Bootstrap框 ...
-
UVA 11552	四 Fewest Flops
Fewest Flops Time Limit:2000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Statu ...
-
ALTER TABLE causes auto_increment resulting key 'PRIMARY'
修改表为主键的自动增长值时,报出以下错误:mysql> ALTER TABLE YOON CHANGE COLUMN id id INT(11) NOT NULL AUTO_INCREMENT ...
-
sqlserver防止数据库挂马新尝试
想法不错,放着以后应该会有用 网站挂马非常让人头痛,每次的安全措施都是治标不治本,想找到根本原因,只能去分析你的程序源代码,由于很多网站不是一个程序员开发,很多的注入漏洞很难发现,曾经通过公共文件加入 ...
-
阿里云容器服务--配置自定义路由服务应对DDOS攻击
阿里云容器服务--配置自定义路由服务应对DDOS攻击 摘要: 容器服务中,除了slb之外,自定义路由服务(基于HAProxy)也可以作为DDOS攻击的一道防线,本文阐述了几种方法来应对普通规模的DDO ...
-
mysql 更新有外键约束的字段
给一个表的字段更新,发现 这个字段是外键,刚开始用了笨 的方法,取消外键,修改后,在添加, 网上百度了. 这样设置 先 关闭外键约束 SET FOREIGN_KEY_CHECKS=0; 执行完了 打开 ...
-
sybase central 报 NullPointerException 解决
准备发布版本,但是要创建数据库的时候遇到了问题,发现之前可以正常打开的sybase Central 现在无法打开了.苦恼一段时间后找到如下解决方法. 报错如下: 解决如下: 正常打开:
-
L1 loss 与 MSE
---恢复内容开始--- 今天在训练时遇到的问题 把损失函数由 MSE 改成 L1 Loss 的时候 Loss 有了明显的下降 以前一直觉得 MSE 相对来说会更好 ,因为求导的话有标签与结果的差值作 ...
-
Java学到什么程度才能叫精通?
把下面这些内容掌握以后,你就可以自诩精通Java后端了. 1 计算机基础 这部分内容是计算机相关专业同学的课程,但是非科班的小伙伴(譬如在下)就需要花时间恶补了. 特别 是计算机网络,操作系统 ...