zoukankan      html  css  js  c++  java
  • 函数

    一、为什么要用函数

    1、避免代码重复
    
    2、提高代码的可读性

    二、函数的定义与调用

    1. def  函数名(参数1,参数2)
    
        ''' 函数注释'''
    
        print'函数体')
    
        return 返回值
    
    定义:def关键字开头,空格之后接函数名和圆括号,最后冒号结尾
    
      def是固定的,不可变的
    
    函数名:函数名是包含字母,数字,下划线的任意组合,不能以数字开头,函数名尽量使用一些能看得出函数功能的,避免使用Python的关键字
    
    2、函数的调用
    
    返回值=函数名(参数1,参数2)#记得函数名后面加括号

    三、函数的返回值

    1.return的作用:结束一个函数的执行
    
    2.首先返回值可以是任意的数据类型。
    
    3.函数可以有返回值:如果有返回值,必须要用变量接收才有效果
    
       也可以没有返回值:
    
      没有返回值的时候分三种情况:
    
        1.当不写return的时候,函数的返回值为None
    
        2.当只写一个return的时候,函数的返回值为None
    
        3.return None的时候,函数的返回值为None(几乎不用)
    
    4.return返回一个值(一个变量)
    
    5.return返回多个值(多个变量):多个值之间用逗号隔开,以元组的形式返回。
    
          接收:可以用一个变量接收,也可以用多个变量接收,返回几个就用几个变量去接收

    四、函数的参数

    # def fun(s):#参数接受:形式参数,简称形参
    #     '''
    #         计算字符串长度的函数---------函数的功能
    #         参数s:接受要计算的字符串--------参数的信息
    #         return:要计算字符串长度 ---------返回值得信息
    #     '''
    #     length=0
    #     for i in s:
    #         length+=1
    #     return length
    #
    # ret=fun('helloword')#参数传入:实际参数,简称实参
    # print(ret)
    
    1.实参和形参
    形参:是函数定义时候定义的参数
    实参:函数调用的时候传进来的参数
    2.传递多个参数
    可以传递多个参数,多个参数之间用逗号隔开。
    站在传参的角度上,调用函数时传参数有两种方式:
      1.按照位置传参数
      2.按照关键字传参数
    用法:1.位置参数必须在关键字参数的前面
       2.对于一个参数只能赋值一次
    3.默认参数
    
    用法:为什么要用默认参数?将变化比较小的值设置成默认参数(比如一个班的男生多,女生就几个,就可以设置个默认值参数)
    
    定义:默认参数可以不传,不传的时候用的就是默认值,如果传会覆盖默认值。
    
       默认的值是在定义函数的时候就已经确定了的
    
    4.动态参数
    
    按位置传值多余的参数都由args统一接收,保存成一个元组的形式
    
    按关键字传值接受多个关键字参数,由kwargs接收,保存成一个字典的形式

    五、小结

    1.定义:def 关键词开头,空格之后接函数名称和圆括号()。
    2.参数:圆括号用来接收参数。若传入多个参数,参数之间用逗号分割。
        参数可以定义多个,也可以不定义。
        参数有很多种,如果涉及到多种参数的定义,应始终遵循位置参数、*args、默认参数、**kwargs顺序定义。
        如上述定义过程中某参数类型缺省,其他参数依旧遵循上述排序
    3.注释:函数的第一行语句应该添加注释。
    4.函数体:函数内容以冒号起始,并且缩进。
    5.返回值:return [表达式] 结束函数。不带表达式的return相当于返回 None
    
    def 函数名(参数1,参数2,*args,默认参数,**kwargs):
            """注释:函数功能和参数说明"""
            函数体
            ……
            return 返回值
    

      




  • 相关阅读:
    POJ 2240 Arbitrage spfa 判正环
    POJ 3259 Wormholes spfa 判负环
    POJ1680 Currency Exchange SPFA判正环
    HDU5649 DZY Loves Sorting 线段树
    HDU 5648 DZY Loves Math 暴力打表
    HDU5647 DZY Loves Connecting 树形DP
    CDOJ 1071 秋实大哥下棋 线段树
    HDU5046 Airport dancing links 重复覆盖+二分
    HDU 3335 Divisibility dancing links 重复覆盖
    FZU1686 神龙的难题 dancing links 重复覆盖
  • 原文地址:https://www.cnblogs.com/52-qq/p/7236165.html
Copyright © 2011-2022 走看看