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大小来比较

原文地址:https://www.cnblogs.com/qianshuixianyu/p/9105278.html