美文网首页
python--函数

python--函数

作者: 昆仑草莽 | 来源:发表于2019-03-20 11:41 被阅读0次

    python是面向对象的高级语言,函数是高级语言所必须的,所以,来看看函数。
    函数的定义:

    def   函数名(参数):
         pass
         return  表达式
    

    其中:pass是表示不执行任何操作,在没有函数内容时候使用。
    函数名定义规则:数字,字母,下划线,数字不能开头。和变量名规则一致。
    return 后可以返回任意表达式,但不能是赋值语句。如果没有写 return 则会默认返回 None(空值)。
    注意 return 和 print 的区别
    return 是返回值,不能打印出来,可以赋值给变量。
    print 只是打印出来。
    函数的调用:
    函数名(参数)
    例如:

    def hello(a):  #定义函数hello,参数为 a
        print(‘hello world’)   
        return   1234    #返回值,1234 此处无论传入的参数为什么,都返回1234
    hello(3)   #调用函数。传入参数3.
    

    函数的参数是什么呢。
    函数的参数分为必备参数,默认参数,不定长参数,下面我们分别来看。
    必备参数:函数调用的时候,必备参数是必须要传入的。

    def hello(x):#定义函数hello,参数为 x ,这里就是必备参数
        print(x)
    hello('hello world')#调用函数
    

    默认参数:注意,默认参数必须写在必备参数的后面。

    def func(x,y=16):#定义函数 func ,参数为 x,y 。有有默认值。
        print(x)
        print(y)
    func(5)#调用函数 func 且只传入一个参数,此时,参数 y 取默认值。
    func(5,11)#调用函数 func ,传如两个参数,此时,参数 y 取传入参数的值。
    

    不定长参数:不定长参数,是应为不知道需要传多少参数,所以使用不定长参数。在函数调用时,不定长参数可以不传入,也可以传入任意长度,在定义时,元组放在最前面,字典只能放在最后面

    def func(*args,**kwargs):#定义函数 func 参数为 *args,**kwargs,表示不定长参数,
    
        print(args)
        print(kwargs)
    func(1,2,3,a=5,b=8)#调用函数
    

    参数 args 接收列表,元组,字符串等,除了字典外的所有参数
    参数
    *kwargs 接收 字典元素。
    参数 *args 必须写在参数 **kwargs 前面。这两个参数也被称为关键字参数。
    注意:在python中,参数是没有类型限制的,参数可以接受任意对象,只有函数内部代码才可以限制参数类型。
    python的内置函数。
    查看python的内置函数

    dir(__builtins__)#查看python的内置函数
    

    由于python的内置函数众多,在这里只介绍几个较为常用的。

    li = [1,2,3,4,5]
    len()#求长度
    len(li)#可以求出列表 li 的长度。
    min()#求最小值
    min(li)#求出列表 li 的最小值 
    max()#求最大值
    max(li)#求除列表 li 的最大值
    sorted()#排序
    sorted(li)#对列表 li 进行排序,与列表中 sort() 的方法相同,不同的时,前者时函数,后者只是列表的方法。
    reverse()#反向
    reverse(li)#将列表 li 反向,注意,这里没有排序,只是反向。
    sum()#求和
    sum(li)#对列表中元素进行求和
    

    python 中进制转换的函数(常用)

    bin()#转为二进制 
    oct()#转为八进制
    hex()#转为十六进制
    ord()#字符转ASCII码
    chr()#ASCII码转字符
    

    python 中的几个常用高级内置函数

    li = ['a','b','c','d','e']
    enumerate()#返回一个可以枚举的对象
    print(list(enumerate(li)))
    [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')]#返回结果,前面数字为每个元素的下标索引。也就是说为每一个元素进行下标索引与元素的配对。
    
    a = '1+3+5'
    eval()#取出字符串内容,并将字符串当成有效的表达式求取并返回结果
    print(eval(a))  #输出结果为 9 ,也就是说 a 是一个字符串,eval将字符串内容做了运算。
    
    exec()#执行字符串编译过的字符
    exec('x = 2')   
    a  #输出结果 2
    
    filter() #过滤器
    def func(x):#定义一个函数
            return x > 10
    li = [2,5,12,33,65,89]
    list(filter(func,li))#将函数 func 和 列表 li 放进 filter 中,使用 list 接受 。
    #输出结果为:[12,33,65,89] 也就是将列表中满足函数 return 的元素输出。
    
    map()#对于参数 iterable 中的每一个元素都应用 function 函数,并将结果作为列表返回。
    def func(x):
            return x*10 #此处的表达式可以自行定义,运算,判断,转换等等均可。
    li = [1,2,3,4,5]
    print(list(map(func,li)))
    [10, 20, 30, 40, 50]
    def func(x):
            return x >3 #此处为判断
    li = [1,2,3,4,5]
    print(list(map(func,li)))
    [False, False, False, True, True]
    
    zip()#将对象逐一配对
    li1 = [1,2,3]
    li2 = ['a','b','c']
    print(list(zip(li1,li2)))
    [(1, 'a'), (2, 'b'), (3, 'c')]
    

    相关文章

      网友评论

          本文标题:python--函数

          本文链接:https://www.haomeiwen.com/subject/brvamqtx.html