zoukankan      html  css  js  c++  java
  • python-函数

    函数是什么

    函数特性

    减少重复代码

    使程序变得可扩展

    使程序变得易维护


    函数参数

     形参实参

    一个是实际存在的值(实参),一个是调用才会用到的值(形参)


     默认参数


    关键参数

    一个参数不能同时接受两个值,关键参数要在位置参数后面


     如果参数中出现 *user,传递的参数就可以不再是固定个数,传过来的所有参数打包给元祖

     报警给多个人发送,且可以一直添加

    方式一

     方式二


    非固定参数


    函数的返回值

     

    #定义在函数外部的一级代码的变量,叫全局变量,全局能用

    #局部变量就是指定义在函数里的变量,只能局部生效

    #在函数内部,可以引用全局变量

    #如果全局和局部都有一个变量,叫name,函数查找变量都顺序是由内而外的

    要在函数里面改全局变量

    global name



    #局部变量,在函数里面的变量就叫局部变量

    name = "xiaoheb"


    def change_name():

    global name
    name = "黑心的奸商"
    age = 25

    print("在",name,"的妈里面...",id(name))


    change_name()
    print(name,id(name))



    #定义在函数外部的一级代码的变量,叫全局变量,全局能用

    #局部变量就是指定义在函数里的变量,只能局部生效

    #在函数内部,可以引用全局变量

    #如果全局和局部都有一个变量,叫name,函数查找变量都顺序是由内而外的

    引用全局要吧global放在上边 (但不建议用)

    #局部变量


    names = ['heb','hebwife','xuyang']

    def change_name():

    del names[2]
    print(names)

    change_name()
    print(names)


    #字符串,数组不可以被修改

    嵌套函数

    age = 19


    def func1():

    age = 213
    print(age)
    def func2():
    print(age)

    func2()

    func1()
    #3. func1() # 213,213




    作用域

    python中的函数就是一个作用域


    匿名函数


    #匿名函数


    def clac(x,y):
    if x < y :
    return x * y
    else:
    return x/y



    func = lambda x,y:x*y if x < y else x/y #lambda 声明一个匿名函数



    print(clac(14,2))
    print(func(14,2))







    data = list(range(10))
    print(data)

    def f2(n):
    return n*n

    print(list(map(lambda x:x*x,data)))

    #1.节省代码量
    #2.看起来更高级






    高阶函数

    #变量可以指向函数,函数的参数可以接受变量,那么一个函数就可以接受另一个函数作为参数,这种函数就称为高阶函数






     

    函数 - 递归


    #把10不断除以2直到不能除为止,打印每次结果



    # n = 10
    #
    # while True:
    #
    # n = int(n/2)
    # print(n)
    # if n == 0:
    # break


    # def clac(n):
    # n = int(n/2)
    # return n

    import sys
    print(sys.getrecursionlimit())

    #递归

    def func():
    pass

    def clac(n):
    n = int(n/2)
    print(n)
    if n > 0:
    clac(n)

    clac(10)


    def calc(n,count):
    print(n,count)
    if count < 5:
    calc(n/2,count+1 )



    calc(188,1 )


    递归特性

    练习题








  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/hyperx233/p/8194858.html
Copyright © 2011-2022 走看看