zoukankan      html  css  js  c++  java
  • python入门之函数及其方法

     
    foo=[1,2,3,4,5,6,7,8,9]
    1.函数多个返回值组成元组。可以用多个变量接收
    2.map(lambda x:expres ,foo) map(tt,foo) 得到列表,需要循环输出
    3.filter(lambda x:x>10,foo) 可以过滤符合的结果,一个元素
      reduce(lambda x,y:x+y,foo) x是和/差。y是每一个元素
      有两个参数,做元素的统计
    4.print("r-{0}".format(r))格式化
    5.sorted()函数不改变原列表。生成新的列表
    6.class m:类
      p=m()对象 可以点方法
    7.self当前对象。可以点方法,可以直接定义属性
    8.set/get方法和init()方法不能一起存在
    9.初始化和销毁 销毁在结束方法和使用del时启用
    10.私有方法__fan() 只能类内部调用
     
     
    1.函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
    2.语法:
    def 函数名(参数列表):
     函数体
     return XXX
    可以返回多个值,返回的多个值组成一个元组,返回值加上一对中括号,则返回一个列表
    函数分为定义和调用。
    如下列:
    def calc(x,y=None,*numbers):        #定义函数,并设定参数
    print(numbers)        #输出不定长参数numbers
    sum = 0            #定义变量
    for n in numbers:       #迭代参数numbers内变量
    sum = sum + n * n     #求得所有数值的平方和
    return sum          #返回给函数结果
    result=calc(1,2)         #调用函数calc,并赋值参数x,y的值为1和2.所以numbers为空值
    print(result)          #输出的为sum最初定义值

    3.可更改(mutable)与不可更改(immutable)对象
    在 python 中,(strings, tuples, 和 numbers) 是不可更改的对象,而( list,dict )等则是可以修改的对象。

    4.

    关键字参数:关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict

    不定长参数(可变参数):
    可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple,

    但是调用的时候,需要先组装出一个list或tuple。

    5.

    参数组合
    在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用,除了可变参数无法和命名关键字参数混合。

                                                                          但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数

    6.

    要注意定义可变参数和关键字参数的语法:
    *args是可变参数,args接收的是一个tuple;
    **kw是关键字参数,kw接收的是一个dict。

    7.

     三个重要的大数据用到的函数:
    >>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
    >>> print filter(lambda x: x % 3 == 0, foo)
    [18, 9, 24, 12, 27]
    >>> print map(lambda x: x * 2 + 10, foo)
    [14, 46, 28, 54, 44, 58, 26, 34, 64]
    >>> print reduce(lambda x, y: x + y, foo)
    139

    其中详解:

        (1).map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

     (2).  map(lambda x:expres ,foo)         map(tt,foo) 得到列表,需要循环输出,其中tt代表引用的函数

             filter(lambda x:x>10,foo) 可以过滤符合的结果,一个元素,     注:如果需要输出值,需要转为list类型才可以!!!!     

    def is_odd(n):
    return n % 2 == 1
    a = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
    print(a)

            filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

          该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,

          然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

        reduce(lambda x,y:x+y,foo) x是和/差。y是每一个元素有两个参数,做元素的统计,对于序列内所有元素进行累计操作

      8.

      sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是:

      传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。

        字符串默认按照ASCII大小来比较

  • 相关阅读:
    文件的基本操作整理
    简谈深浅拷贝
    python进阶之内置方法
    python基础之打/解包及运算符与控制流程
    python中的常用数据类型
    python基础学习(起步)
    趣谈编程语言 (续集)
    豆瓣王守崑:大数据时代社交图谱与兴趣图谱的融合
    常见面试之机器学习算法思想简单梳理
    Future Research Directions in Social Recommendation
  • 原文地址:https://www.cnblogs.com/qianshuixianyu/p/9105278.html
Copyright © 2011-2022 走看看