zoukankan      html  css  js  c++  java
  • python 基础函数

    1、函数定义: def fun():

           ***

           return

    Note:函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”

    2、函数参数:默认参数:def power(x, n=2):  可调用:power(x) 定义默认参数要牢记一点:默认参数必须指向不变对象     

               可变参数:可变参数允许你传入0个或任意个参数 def calc(*numbers):calc(1, 3, 5, 7) 或 nums=[1, 3, 5, 7] calc(*nums)
                  关键字参数:关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组一个dict。def person(name, age, **kw): person('Adam', 45, gender='M', job='Engineer')
    或 extra = {'city': 'Beijing', 'job': 'Engineer'} person('Jack', 24, **extra) 
                 命名关键字参数:def person(name, age, *, city, job): city与job如果是非默认参数则必须传入参数名

    NOTE:参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

    3、高阶函数 #函数参数可以传入函数

    4、常用函数

       help 函数

       通过help() 查看函数的帮助。如:help(abs)

       int() 可以把其他数据类型转换为整数。类似的还有:float() str() bool() hex()

       isinstance(objet, classinfo) 如 isinstance(1,int) isinstance('abc', Interable)#判断是否可迭代(from collectins import Interable)

       enumerate #将lis变成索引-元素对  for i, value in enumerate(['a','b','c'])

                                                            print (i, value)

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

          list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
       reduce():把一个函数作用在一个序列上,把结果继续和序列的下一个元素做累积计算(from functools import reduce)

          reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

       lambda匿名函数:允许用户快速定义单行函数 log2=lambda x:log(x)/log(2)

      filter():函数用于过滤序列,接收一个函数和一个序列,然后根据返回值是True还是False决定保留还是丢弃该元素.

        list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
       sorted():sorted([36, 5, -12, 9, -21], key=abs)

       type()

       types() #判断对象是否是函数 import types type(fn)==types.FunctionType type(abs)==types.BuiltinFunctionType

  • 相关阅读:
    LLC半桥谐振变换器调试记录
    工业派学习记录
    ubuntu 命令记录
    电容单位换算
    Windows快捷键
    CAN总线学习笔记
    Scala 基础(十五):Scala 模式匹配(三)
    Scala 基础(十四):Scala 模式匹配(二)
    Scala 基础(十三):Scala 模式匹配(一)
    scala 数据结构(十一):流 Stream、视图 View、线程安全的集合、并行集合
  • 原文地址:https://www.cnblogs.com/emma-zhu/p/6771567.html
Copyright © 2011-2022 走看看