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)
    
  • 相关阅读:
    LeetCode "Super Ugly Number" !
    LeetCode "Count of Smaller Number After Self"
    LeetCode "Binary Tree Vertical Order"
    LeetCode "Sparse Matrix Multiplication"
    LeetCode "Minimum Height Tree" !!
    HackerRank "The Indian Job"
    HackerRank "Poisonous Plants"
    HackerRank "Kundu and Tree" !!
    LeetCode "Best Time to Buy and Sell Stock with Cooldown" !
    HackerRank "AND xor OR"
  • 原文地址:https://www.cnblogs.com/qiangayz/p/8598552.html
Copyright © 2011-2022 走看看