搜索
写经验 领红包
 > 影视

pytho的函数详解(pytho函数的基本用法)

导语:python的函数详解06

python的函数详解(python函数的基本用法)

前言

1.函数的定义与调用2.函数的实参和形参的使用方法3.了解函数的返回值4.缺省参数的使用方法

一.函数的作用在开发程序时,使用函数可以提高编写的效率以及代码的重复利用函数使用包含2个步骤1.定义函数---封装独立的功能2.调用函数---执行函数的代码

二.函数的基本使用

1.函数的定义

定义函数的语法格式如下def 函数名():函数封装的代码

........

def     函数名() :            函数内部封装的代码注意:1.函数名称的命名规则要符合标识符的命名规则2.def是英文 define的缩写3.函数名要能够表达出封装代码的功能,方便后续调用

2.函数调用函数名()

34;hello worldhello worldhello world& 调用函数 hello()hello()

三.函数的参数

函数的主要功能是封装代码可以通过函数的参数,来实现函数代码的灵活性

调用函数如下           函数名(参数1对应的值, 参数2对应的值,,,,)        注意:调用的时候和定义函数的时候,参数是一 一 对应的,即数量一样
3个数求和def my_sum(a,b,c):     print(a+b+c)my_sum(10,20,10)

函数形参和实参

形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用

实参:调用函数时,小括号中的参数,是用来把数据传递到函数内部调用的如下图所示:其中变量 a 和b 是形参,而 10,20是 实参

def my_sum(a, b):    print(a + b)my_sum(10, 20)

形参只能是变量,而实参可以常量,表达式,变量等

def sum(a, b):    print(a + b)实参可以是常量sum(10+10, 20+20)实参可以是变量

形参和实参的传递

1.如果形参的类型为数字或字符串,形参的值改变了 实参的值不会改变!

def test(a):定义一个全局变量 a  test(a)全局变量a的值没有变化

2.如果形参的类型为列表,字典,集合 形参的值改变会影响实参的值

a = [1,2,3]def test(a):    a[0] = 10print(a)调用函数,print(a)[1, 2, 3][10, 2, 3]

缺省参数 :提供实参就使用实参的值,如果没有提供,则使用

定义函数时 可以给参数指定一个默认值,具有默认值的参数叫缺省参数

1.单个缺省值

def test1(a,b=10):    print(a,b)test1(1)输出结果为:此处调用时 没有写第二个参数,所以第二个参数采用缺省值101 10

注意:def test1(a=1,b) 错误X ,不能把有缺省值地形参写在 没有缺省值地形参在前面

四.函数的返回值return的作用:1.结束函数

def test(a):    print()    if a > 0:        return  如果a > 0 则提前结束函数,不打印    print()test(1)

2.返回值(1)函数返回值,通过return返回给调用者一个值(2)多个返回值可以使用逗号隔开

def test():    print()    return ,1,67.8s = test()print(s)

不带表达式的return相当于返回none

def x():    return  34;我是test1&打印:我是test1

六.函数的局部变量和全局变量

局部变量只能在函数内部使用全局变量是在函数外部定义的变量,所有的函数都可以使用这个变量

注意:不建议使用全局变量,可变范围大 不好维护

局部变量

def test1():    a= 1 局部变量a只属于test2()函数    print(a)test1()输出结果为:2

全局变量一般定义在函数的上方

a = 100def test1():    print(a)def test2():    print(a)test1()

全局变量和局部变量重名(这种情况下,局部变量会覆盖掉全局变量)

a = 100def test1():    a = 1    print(a)def test2():    print(a)test1()输出结果为 8888

八.匿名函数1.用lambda关键词创建小型匿名函数2.不要写def定义函数3.一行代码就定义一个函数语法格式如下:lambda 参数1, 参数2 ......:函数执行代码

sum = lambda a,b:a+bx = sum (3,6)print(x)

在lambda函数中可以使用if语句

max = (lambda a,b:a if a > b else b )(4,5)print(max)输出结果:5

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小梓创作整理编辑!