zoukankan      html  css  js  c++  java
  • 函数基础相关知识

    #标准的函数体
    
    def funtionname(x):
        """
        :param x:
        :return: 函数的说明,强烈建议写,养成良好的编程习惯
        """
        return x
    
    #什么是面向过程编程,即将单个小的功能、顺序、逻辑、写到一个小函数里,再用多个小函数实现过程的逻辑的实现
    
    def test1():
        print ("123")
    
    def test2():
        return 0
    
    def test3():
        return 1,2,["q","c","c"]
    
    x = test1()           #函数1返回None,函数2返回object 1 函数三将所有元素放到一个元素里面返回,如果使用1个变量接受
    y = test2()
    z = test3()
    
    #为什么会有返回值?想要函数的执行结果,后续逻辑需要判断此函数来决定是否执行
    
    def funtionname(arg1,arg2):  #形参
        return arg1,arg2
    
    funtionname(1,2)  #实参
    
    
    #参数组
    def funtionname(*args):  #参数返回为元组类型(必须接受位置参数)
        print args
    
    
    def test_four(**kwargs):  #参数组传入字典的方式(关键字参数对位置无要求)
        print (kwargs)
    
    test_four(a1="a",a2="b",a3="c")
    
    #局部变量与全局变量  局部变量的作用域为函数,只在局部生效
    #在局部更改全局的方法:global arg
    #                       arg = value   不建议这么用,菜!
    
    
    #全局变量 在函数顶层定义,可以函数内访问,但不可更改其值
    #也可在函数内定义global arg
    #                 arg = value  不建议这么定义,菜!!
    
    #只有字符串,数字等不能在局部改全局,列表,字典、集合等可以在局部即函数里面更改全局
    
    
    #递归函数 在函数内部调用自身 要求:1、必须有个明确的结束条件/2、问题规模必须比上次少 3、效率低
    
    def calc(n): #对象最深调用次数999
        print (n)
        a = calc(n/2)
        return a
    
    def calc1(n):
        print (n)
        if int(n/2)>0:
            return calc1(int(n/2))
        print ("->",n)
    
    #高阶函数:将一个函数当做参数传给另一个参数
    def add(a,b,f):
        return f(a)+f(b)
    
    res = add(3,-6,abs)
    
    #将字符串变为字典类型
    list1 = ["a",1,"b",2,"c",3]
    dict1 = eval(list1)
    
  • 相关阅读:
    await Task.Delay(delay)
    C# MemberwiseClone浅复制
    wpf如何在ItemTemplate绑定viewModel对象
    resful接口请求token认证方式
    Convert.ToInt32与int区别强制转换区别
    亿量级App Push系统(4)--渠道推送
    亿量级App Push系统(3)--推送服务
    亿量级App Push系列(2)--模板管理
    亿量级 App Push系列(1)--设备管理
    MySQL如何查看大事务
  • 原文地址:https://www.cnblogs.com/qiangayz/p/8598552.html
Copyright © 2011-2022 走看看