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 )


    递归特性

    练习题








  • 相关阅读:
    Java操作PDF之iText超入门
    Bootstrap 总结
    使用iframe框架后的页面跳转时目标页面变为iframe的子页面的问题
    Alluxio/Tachyon如何发挥lineage的作用?
    (转载)Zab vs. Paxos
    mysql批量数据导入探究
    读技术性文本的技巧
    Spark设计思想浅析
    MapReduce调优总结与拓展
    MapReduce 计算模式
  • 原文地址:https://www.cnblogs.com/hyperx233/p/8194858.html
Copyright © 2011-2022 走看看