1. 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
  2. 定义
    def function_name(args...):
    function_body #例子
    def print_something():
    print('Hello,function')
  3. 命名规则
    #和变量的命名规则一样
    1、函数名只能包含字符串、下划线和数字且不能以数字开头
    2、不能是关键字
  4. 返回值
    #返回值有三种
    ## 没有返回值
    ## 一个返回值
    ## 多个返回值 #没有返回值
    ##1.不需要返回任何数据,不用return
    def func1():
    print('haha') ##2.用以结束函数的运行
    def fun2():
    return
    print('这个print函数不会被执行') #一个返回值
    ##可以返回任何类型的值
    def fun3():
    return [1,2,3] #元组和字典,字符串数字都行 #返回多个值
    ##返回值之间使用逗号隔开,使用相应数量的变量接收返回值
    def fun4():
    a = 1
    b = 2
    return a,b
    n1, n2 = fun4()
  5. 参数
    1. 实参和形参

      实际参数:调用函数时候的参数
      
      形式参数,定义函数时候的参数
      
      def func(a):    #a是形式参数
      pass s = 'aaa'
      func(s) #s是实际参数
    2. 位置参数
      #当我们调用函数的时候,把对应位置的参数放进去,这些参数就是位置参数
      def my_sum(a,b,c):
      return a+b+c 这里a,b,c就是位置参数
    3. 关键字参数
      #如果我们在调用函数的时候,指定参数=值,就是关键字参数
      def my_sum(a,b,c):
      return a+b+c my_sum(b=1,a = 2,c=8)
    4. 默认参数
      #如果一个参数大多数情况都是同一个值,就可以使用默认参数
      def print_name(name = 'hsr'):
      print(name) print_name() #输出hsr print_name('haha') #输出haha
    5. 动态参数
      #使用*args接收按位置传值多余的参数,存到一个元组中
      def my_sum(*args): #*是必须的,但是args可以换成其他变量名
      sum = 0
      for tmp in args:
      sum += tmp
      return sum
      my_sum(1,2,3,4,5) #使用**kwargs接收按关键字传值的参数,存到一个字典中
      def print_something(**kwargs):
      for k,v in kwargs.items():
      print("%s , %s"%(k,v))
      print_something(a=1,b=2,c=3) #动态传参的另一种方式
      ##传给*args
      l = [1,2,3]
      my_sum(*l) #在序列前面加* ##传给**kwargs
      d = {'a':1,'b':2}
      print_something(**d) #在字典前面加**
    6. 参数的顺序
      位置参数,*args,**kwargs,默认参数
  6. 函数注释
    def func(arg):
    '''
    描述功能
    arg:...参数功能类型
    return:返回值类型
    '''
    函数体
  7. 解包
    #python会自动把逗号隔开的多个值默认为是一个元组
    s = 1,2,3
    print(type(s)) #我们可以用相同数量的变量来将元组,列表,字典中的元素分别赋值到变量上
    li = [1,2,3]
    a,b,c = li #a=1,b=2,c=3

python基础6(函数 Ⅰ)的更多相关文章

  1. python基础——匿名函数

    python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便.  在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...

  2. python基础——返回函数

    python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回.  我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...

  3. python基础——sorted()函数

    python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...

  4. python基础——filter函数

    python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...

  5. python基础——匿名函数及递归函数

    python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x ...

  6. 八. Python基础(8)--函数

    八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x):     ' ...

  7. python基础之函数详解

    Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...

  8. Python学习笔记(一)python基础与函数

    1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world > ...

  9. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  10. Python基础__函数

    本节将进入函数的介绍,函数是Python基础中最精彩的部分之一,接下来将对函数做详细介绍.函数 函数就是对代码进行一个封装.把实现某一功能的代码进行封装到一起.下次需要使用时不需要进行编写代码直接调用 ...

随机推荐

  1. 获得a-b的差[返回BigDecimal 类型]

    /*** * 返回 a-b 的差 [返回 BigDecimal 类型] * @param a 被减数 * @param b 减数 * @return */ public static BigDecim ...

  2. HDU1027 Ignatius and the Princess II( 逆康托展开 )

    链接:传送门 题意:给出一个 n ,求 1 - n 全排列的第 m 个排列情况 思路:经典逆康托展开,需要注意的时要在原来逆康托展开的模板上改动一些地方. 分析:已知 1 <= M <= ...

  3. 禁止浏览器缓存input值

    如果不想让浏览器缓存input的值,有2种方法: 方法一: 在不想使用缓存的input中添加 autocomplete="off"; <input type="te ...

  4. [洛谷P3391]【模板】文艺平衡树(Splay)

    题目大意:给定一个$1\sim n$的序列,每次翻转一个区间,输出最后的序列. 解题思路:Splay的区间翻转操作.我借此打了个Splay的模板(运用内存池,但有些功能不确定正确,例如单点插入). 大 ...

  5. WIN10 java环境变量问题之 配置的JDK1.8版本却是1.7

    问题前沿,在开发项目中,发布的项目出现了内存溢出问题,我挨个把代码看了一遍,并不能准确定位到那个地方能出现内存溢出问题,后来想到使用压力测试,较可能出现内存溢出的接口进行一番测试. 我就安装了一个ap ...

  6. 聚类(Clustering)

    简介 相对于决策树.朴素贝叶斯.SVM等有监督学习,聚类算法属于无监督学习. 有监督学习通常根据数据集的标签进行分类,而无监督学习中,数据集并没有相应的标签,算法仅根据数据集进行划分. 由于具有出色的 ...

  7. ASP.NET-关于Global.asax的作用

    这个文件相当于一个应用程序量级的 全局文件,比如你想写一个变量在项目中的所有文件中都能读取是就写在这里面 Application["name"] = "zhangran& ...

  8. Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型

    转自原文 Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型 播放mp4格式的时候提示 Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型 原因是在IIS中 ...

  9. 华硕 X201E 拆机

    每次笔记本拆机,装好之后.就会发现多了几个螺丝,忘了从哪拧下来了 以下记录下华硕 X201E 清灰拆机过程 1:电脑正面图 2:背面图,一共9个螺丝 3:背面的9个螺丝拧下来,把后盖沿着缝隙扣下来 w ...

  10. Unique path ii

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...