---恢复内容开始---

函数:

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语法_函数的更多相关文章

  1. Python基本语法_函数属性 & 参数类型 & 偏函数的应用

    目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...

  2. python语法之函数

    函数: 将特定功能代码编写在一个函数里 便于阅读和复用 对一组表达特定功能表达式的封装 使程序模块化 python内置函数: input(),print(),eval()... 函数定义 函数语法格式 ...

  3. Python基础_函数2

    在介绍完函数的大体概念如定义.传参.作用域之后,本节主要介绍函数的几个细节部分. 一. print()函数与return的区别. 相同点:print与return都是向用户在输出界面上展示结果 不同点 ...

  4. python语法join函数

    Python语法中join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. vid = )

  5. Python基本语法_函数_返回值

    目录 目录 前言 函数的返回值 在函数中Return和Print的区别 函数中的文档 前言 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返 ...

  6. Python基本语法_函数_参数的多类型传值

    前言 上一篇主要介绍了Python函数的参数类型,本篇继续学习Python函数多类型传值. 目录 前言 目录 软件环境 参数的多类型传值 向函数传递Tuple 向函数传递List 向函数传递Dicti ...

  7. python语法_内置函数

    a = filter(函数名,序列) 返回一个迭代器对象/.函数里必须加过滤条件 ret = ['a','b','c','d','e'] def ft(s): if s != 'a': return ...

  8. python语法基础-函数-内置函数和匿名函数-长期维护

    ##################     内置函数        #######################  """ 一共是 68个内置函数: 反射相关的内置函 ...

  9. Python练习_函数进阶_day10

    1. 1.作业 1,写函数,接收n个数字,求这些参数数字的和.(动态传参) 2,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): p ...

随机推荐

  1. Gitlab_ansible_jenkins三剑客④jenkins安装图解及freestyle的简单使用

    java环境准备 # 安装jdk1.8 [root@node02 ~]# rpm -ivh jdk-8u181-linux-x64.rpm vim /etc/profile export JAVA_H ...

  2. nyoj 633 幂

    幂 nyoj 633 应用数学 幂 时间限制:3000 ms  |  内存限制:65535 KB   描述 在学习循环的时候,我们都练习过利用循环计算a的k次方.现在给定整数k和一个整数m,请你求出对 ...

  3. Toad DBA Suite for Oracle 12.6 64-bit Commercial 简单连接

    注意:Toad DBA Suite for Oracle 12.6 64-bit Commercial安装包推荐去官网下载,中文版的最好不要使用绿色免安装版,不然连接会报各种错误 1.安装:双击下载好 ...

  4. 初学python之路-day09

    今天的主要内容为内存管理. 1.引用计数:垃圾回收机制的依据 # 1.变量的值被引用,该值的引用计数 +1 # 2.变量的值被解绑,该值的引用计数 -1 # 3.引用计数为0时就会被垃圾回收机制回收 ...

  5. 运行maven命令的时候出现jre不正确

    出错详情: Unable to locate the Javac Compiler in: C:\Program Files\Java\jre1.6.0_07\..\lib\tools.jar Ple ...

  6. Iterator 和 ListIterator 的不同点以及包含的方法

    当我们在对集合(List,Set)进行操作的时候,为了实现对集合中的数据进行遍历,经常使用到了Iterator(迭代器).使用迭代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就 ...

  7. struts2-第一章-基础用法3

    一,结果类型配置 在之前servlet学习中,知道网页页面路径跳转有两种方式,内部跳转(请求转发)和外部跳转(重定向),两者的区别,内部跳转浏览器地址不会变化 可以保存上一次请求的数据 外部跳转浏览器 ...

  8. web.xml 简记

    web.xml (tomcat启动时读取的配置文件) 首页配置 <welcome-file-list>:index.jsp servlet配置(<servlet>和<se ...

  9. golang自动构建脚本

    #!/bin/sh #代码分支 branch_c=$ branch_p=$ #服务器 server=$ #构建版本 version=$ case $server in test1) echo &quo ...

  10. n2n windows 编译安装文件

    n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y ...