zoukankan      html  css  js  c++  java
  • 08函数基础,函数参数,内置函数

    函数基础

    函数的定义:

    def 函数名(参数):

    ​ pass

    ​ return 表达式

    函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致

    return 后面可以返回任意表达式,但不能是赋值语句

    函数调用:

    函数名(参数)

    return:

    注意 return 和 print 的区别,return是函数的返回值,返回值可以赋值给变量,而print只是打印出来

    函数参数

    01必备参数:

    def func(x):

    ​ pass

    02默认参数:

    def func(x,y=None):

    ​ pass

    03不定长参数:

    def func(*args, **kwargs):

    ​ pass

    01定义参数:

    def func1 (a,b = 5, *args, **kwargs):
        print(a)
        print(b)
        print(args)
        print(kwargs)
    ​
    func1(1,5,45,22,t = 88, u = 25)
    ​
    ​
    打印结果:
    1
    5
    (45, 22)
    {'t': 88, 'u': 25}

    02参数的调用:

    位置参数:通过位置传递参数(未命名参数)

    关键字参数:通过关键字传递参数(命名参数)

    03在python中参数无类型,参数可以接受任意对象,只有函数中代码才会对参数类型有限制

    函数参数调用:

    必备参数:

    def func(x):

    print(x)

    func(1)

    默认参数:

    def func(x,y=None):

    print(x)

    print(y)

    func(1)

    func(1, 2)

    不定长参数:

    def func(*args, **kwargs):

    print(args)

    print(kwargs)

    func(1, 2, 3, a=4, b=5, c=6)

    func(*(1, 2, 3), **{'a': 4, 'b': 5, 'c': 6})

    必备参数:在函数调用的时候,必备参数必须要传入

    默认参数:在函数调用的时候,默认参数可以不传入值,不传入值时,会使用默认参数

    不定长参数:在函数调用的时候,不定长参数可以不传入,也可以传入任意长度。

    其中定义时,元组形式可以放到参数最前面,字典形式只能放到最后面

    常见内置函数

    01内置对象查看:

    dir(__builtins__)

    02常见函数:

    len 求长度

    min 求最小值

    max 求最大值

    sorted 升序 # 字母和数字不能一起使用

    li = [1,8,9,3,5]
    sorted(li,reverse = True)       # 降序;字母和数字不能一起使用

    reversed 反向

    li = [1,5,9,8]
    list(reversed(li))
    print(li)
    # 打印结果:
    [8,9,5,1]

    sum 求和

    03进制转换函数:

    bin 转换为二进制

    oct 转换为八进制

    hex 转换为十六进制

    ord 字符转ASCII码

    chr ASCII码转字符

    python中高级内置函数:

    1、enumerate 返回一个可以枚举的对象;返回列表、元祖、字符串、集合、字典(键)的索引

    
    
    li = [1,2,3,4,5]
    print(list(enumerate(li)))
    结果:
    [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
    
    a = [1,2,3,4,5,6,7,8,9,10]
    for index,value in enumerate(a):
        if value == 5:
            print('索引:',index)
            
    打印结果:
    索引: 4

    2、eval

    01,取出字符串的内容

    st = '[1,2,3,4]'
    print(eval(st))
    ​
    打印结果:
    [1,2,3,4]

    02,将字符串str当成有效的表达式来求,值返回计算结果

    b = eval('11+22')

    3、exec 执行字符串或complie方法编译过的字符串

    st = 'print('您好')'
    
    exec(st)
    
     
    
    exec('c = 1')

    4、filter 过滤器

    d = [1,2,3,4,5,6,7,8,9,10]
    
    def myfilter(num):
    if num > 5:
        return True
    else:
        return False
    
    e = filter(myfilter,d)
    print(list(e))
    ​
    打印结果:
    [6, 7, 8, 9, 10]

    5、map

    f = [1, 2, 3, 4, 5]
    def mymap(num):
        return num * 10
    ​
    g = list(map(mymap, f))
    print(g)
    ​
    打印结果:
    [10, 20, 30, 40, 50]

    6、zip 将对象逐一配对

    h = [1,2,3,4,5]
    l = [6,7,8,9,10]
    
    print(list(zip(h,l)))
    
    打印结果:
    [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]
  • 相关阅读:
    [LeetCode]52. Bulls and Cows猜数字游戏
    [LeetCode]51. Ismorphic Strings同构字符串
    [LeetCode]50. Valid Anagram有效变位词
    [LettCode]49. Valid Sudoku有效数独
    [LeetCode]48. Word Pattern匹配模式
    Ubuntu 14.04中安装Sublime Text 3并使用SublimeClang插件
    [LeetCode]47. Integer to English Words整数的读法
    六度空间
    Saving James Bond
    列出图的连通集
  • 原文地址:https://www.cnblogs.com/zcmq/p/8745454.html
Copyright © 2011-2022 走看看