zoukankan      html  css  js  c++  java
  • Python学习笔记--函数

    匿名函数:

      lambda函数是一种快速定义单行的最小函数,是从Lisp借来用的,可以用在任何需要函数的地方;

    例如:

      l=range(1,6) //1~5相加

      f=lambda x,y:x+y

      print reduce(lambda x,y:x+y,l)

    使用lambda函数应该注意的几点:

    • lambda定义的是单行函数,如果需要复杂的函数,应该定义普通函数
    • lambda参数列表可以包含多个参数,如 lambda x, y: x + y
    • lambda中的表达式不能含有命令,而且只限一条表达式

    switch语句:

      switch语句用于编写多分支结构的程序,类似与if...elif...else语句;

      switch语句表达的分支结构比if...elif...else语句表达的更清晰,代码的可读性更高

    备注:python本身是没有switch语句的,只能通过字典实现switch语句的功能。

     例如:

      operator={'+':jia,'-':jian,'*':cheng,'/':chu}

      def f(x,o,y):
        operator.get(o)(x,y)

      f(3,'*',2)

    内置函数

    一、数学相关

    1、绝对值:abs(-1)
    2、最大最小值:max([1,2,3])、min([1,2,3])
    3、序列长度:len('abc')、len([1,2,3])、len((1,2,3))
    4、取模:divmod(5,2)//(2,1)
    5、乘方:pow(2,3,4)//2**3/4
    6、浮点数:round(1)//1.0
    二、功能相关
    1、函数是否可调用:callable(funcname),注意,funcname变量要定义过
    2、类型判断:isinstance(x,list/int)
    3、比较:cmp('hello','hello')
    4、快速生成序列:

      range(10)->[0,1,2,3,4,5,6,7,8,9]

      (x)range([start,] stop[, step]):xrange生成的不是一个数组,而是一个生成器
    三、类型转换

    0、type(x):获取x的类型
    1、int(x):将x转化为int类型
    2、long(x)
    3、float(x)
    4、complex(x) //复数
    5、str(x)
    6、list(x)
    7、tuple(x) //元组
    8、hex(x)
    9、oct(x)
    10、chr(x)//返回x对应的字符,如chr(65)返回‘A'
    11、ord(x)//返回字符对应的ASC码数字编号,如ord('A')返回65

    字符串处理:

    str.capitalize():返回字符串的一个副本,只有它的第一个字母大写

      语法:str.capitalize()

      s='hello world' s.capitalize()->'Hello world'

    str.replace():把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次

       语法:str.replace(old, new[, max])

        ss='123123123123'   ss.replace('1','x',3)->'x23x23x23123'

    str.split():通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串

      语法:str.split(str="", num=string.count(str))

      str = "Line1-abcdef Line2-abc Line4-abcd";

      print str.split( ) ->['Line1-abcdef', 'Line2-abc', 'Line4-abcd']

      print str.split(' ', 1 );['Line1-abcdef', ' Line2-abc Line4-abcd']

    序列处理函数:

    len():获取长度

    max():获取最大值

    min():获取最小值

    filter():对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤

      s=range(10)   def fx(x):if(x)>5:return True  filter(fx,s)->[6, 7, 8, 9]

    zip():它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)

      name=['milo','zou','tom']  age=[20,30,40]   zip(name,age)->[('milo', 20), ('zou', 30), ('tom', 40)]

    map():map(function, sequence),作用是将一个列表映射到另一个列表

      name=['milo','zou','tom']  age=[20,30,40]   map(None,name,age)->[('milo', 20), ('zou', 30), ('tom', 40)]

    reduce():reduce(function, sequence, startValue),作用是将一个列表归纳为一个输出

       def add(x,y):return x+y  print reduce(add,range(1,101))

  • 相关阅读:
    Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)
    钱能解决的都是小事——北漂18年(78)
    mysql 排序
    innodb和myisam表排序
    perl 内部字节字符转换
    encode_json 转换给定的perl数据结构为一个UTF-8编码的 2进制字符串 decode_json把UTF-8字节转换成字符
    perl /g
    perl 循环截取字符串
    eclipse报错:Compilation unit name must end with .java, or one of the registered Java-like exten
    用 Flask 来写个轻博客 (30) — 使用 Flask-Admin 增强文章管理功能
  • 原文地址:https://www.cnblogs.com/yinrw/p/5860467.html
Copyright © 2011-2022 走看看