美文网首页
Python基础语法(六)函数

Python基础语法(六)函数

作者: 狂浪的心 | 来源:发表于2018-01-26 15:15 被阅读0次

函数定义

def 函数名(参数1,参数2...):
    函数语句
    return 返回值
def add_func(a,b):
    c = a + b
    return c

add_func(1,2)

返回多个值

def family_func():
    a = "laowang"
    b = "laoli"
    c = "laozhao"
    return [a,b,c] or (a,b,c) or a,bc
names = family_func() #1. 返回列表 2.返回元组 3.返回元组

局部变量转全局变量

wendu = 0
def wendu_fun():
    global wendu
    wendu = 33

def wendu_huashi():
    print(wendu)

wendu_fun()
wendu_huashi() #打印信息33 如果去掉global 打印0

当全局变量是列表或者字典类型可以不用加global,其他的全局变量每次用到都要加上

函数帮助提示信息

wendu = 0
def wendu_fun():
    """获取温度函数"""
    global wendu
    wendu = 33

def wendu_huashi():
    print(wendu)

help(wendu_fun) #提示函数作用
wendu_fun()
wendu_huashi() #打印信息33 如果去掉global 打印0

缺省参数

def add_func(a,b = 20):
    return a+b

c = add_func(10) #打印信息30
def add_func(a,b = 20,c = 33):
    print(a)
    print(b)
    print(c)

add_func(1,c = 55) #打印信息1 20 55

add_func(a = 1,c = 55,b = 30) #打印信息1 30 55

通过给型参进行赋值来进行传值,可改变顺序,没有缺省信息的型参一定要有值,赋值的变量名一定要在型参中有

不定长参数

def add_func(a,b ,*argc,**kargc):
    print(a)
    print(b)
    print(argc)
    print(kargc)

add_func(1,2,3,4) #1 2 (3,4) {}
add_func(1,2,3) #1 2 (3,) {}
add_func(1,2) #1 2 () {}
add_func(1,2,3,4,tast = 2,done = 1) #1 2 (3,4) {"task" :2,"done":1}

argc接收没有键值对的参数,接收后生成元组;*kargc接收有键值对的参数,接收后生成字典

传递元组、字典时进行拆包

def add_func(a,b ,*argc,**kargc):
    print(a)
    print(b)
    print(argc)
    print(kargc)

A = [11,22,33]
B = {"name":"laowang","sex":"nan"} 
add_func(1,2,A,B) #1 2 ([11,22,33], {"name":"laowang","sex":"nan"} ) 
add_func(1,2,*A,**B) #1 2 (11,22,33)  {"name":"laowang","sex":"nan"} 

递归

def getNums(num):
    if num > 1 :
        return num * getNums(num - 1)
    else:
        return num

print("=====%d"%getNums(5))

注意防止函数循环调用自己,导致程序崩溃

匿名函数

def test_add(a,b,func):
    return func(a,b)

print(test_add(1,2,lambda a,b:a+b))

lambda a,b:a+b a,b为参数,a+b为返回值的匿名函数,func对其进行引用

python2动态特性

def test_add(a,b,func):
    return func(a,b)

new_func = input("请输入匿名函数:")

print(test_add(1,2,new_func))

python3动态特性

def test_add(a,b,func):
    return func(a,b)

new_func = input("请输入匿名函数:") #python中输入的都是字符串

new_func = eval(new_func) #eval 将字符串str当成有效的表达式来求值并返回计算结果

print(test_add(1,2,new_func))

相关文章

  • Python从入门到精通

    Python语法的三个阶段 Python基础语法函数是编程 Python进阶语法面向对象编程 Python高级语法...

  • Python基础语法(六)函数

    函数定义 返回多个值 局部变量转全局变量 当全局变量是列表或者字典类型可以不用加global,其他的全局变量每次用...

  • Python 基础入门 7--编写测试用例(完)

    Python 基础入门前六篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类...

  • 2018-07-25Python(7)

    python基础语法(7) 函数下 lambda函数lambda函数有自己的作用域。代码示例:def makeAc...

  • 2018-07-24Python(6)

    python基础语法(6) 函数 定义一个函数代码示例:def add(n,m): sum = n + m ...

  • 第一阶段

    Python语言语法基础 字符串 字典 函数 模块 日期时间 集合容器

  • Python基础语法——函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你...

  • Python 基础语法——函数

    函数 位置实参 你调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。因此最简单的关联...

  • Python 基础语法 函数

    四、 Python 函数 1. 什么是函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函...

  • Day2 语言基础

    一、第一个Python程序 利用print函数输出“Hello World!” 二、Python基础语法 1. 注...

网友评论

      本文标题:Python基础语法(六)函数

      本文链接:https://www.haomeiwen.com/subject/ukbmgxtx.html