• 函数基础:内置函数


    内置函数:

    abs()  # 取绝对值
    dict()   # 把一个数据转成字典
    min()  # 取最小值
    max() # 取最大值
    bool() # 判断括号里面的是不是True。bool(0)和bool(False)是False,bool([ ]) #布尔一个空列表或者空字符串也是False。#  空字符串自带bool值,为:False  # None也自带bool值为False
    all()   # 判断括号里面的iterables所有元素的bool()是不是True(如果这个iterables里面含有0,那all(iterables)肯定是False)。如果这个iterables是空的,all(iterables)也返回True。
    any() # 判断括号里面的iterables的元素中,只要有一个元素的bool()是True, any(iterables)就返回True
    dir() # 打印程序里面所有的变量
    slice(开始,结束,步长)  #设置切片规则
    divmod(x,y)  # 返回一个元祖,元祖的形式是(x//y ,x%y)
    id()  # 判断内存地址
    
    sorted(iterable,*,key=None,reverse=False)   # 进行排序(reverse=False是从小到大排序,reverse=True是从大到小)
    
    enumerate() #枚举
    bin()  # 转成2进制

    eval() 和 exec():

    eval()  # 将字符串str当成有效的表达式来求值并返回计算结果(只能处理单行代码)。  
    exec() # 功能和eval()一样,他们的区别在: 1. exec()可以对多行代码有效;2. eval()有返回值,但exec()没有返回值。

    eval() 可以参考链接: http://blog.csdn.net/SeeTheWorld518/article/details/47983511

    如:

    情况1:
    a = '1+2+3'
    res1 = eval(a)  # eval()有返回值,前面可以把返回值赋给变量
    print('res:',res1)
    # 输出结果:
    # res: 6
    
    情况2:
    a = '1+2+3'
    res2 = exec(a)  # 没有返回值,
    print('res:',res2)# 输出结果:
    # res: None   # 由于exec()没有返回值,赋给了变量也只能输出None

    其它:

    ord()  # 返回在ASCII码中的位置  如:ord('a') 为97
    chr() # 跟ord()正好相反  如: chr(97) 为'a'
    
    int()  # 把其他类型数据转换成整数
    str()  # 把其他类型数据转换成字符串
    float()  #  转换成浮点型
    sum(iterable)   #求和
    bytearray()  # 可以将字符串转换成字节数组(通过这种方式可以修改原字符串)。 

    bytearray() 如: (用处不多)

    s = '中文'
    s1 = bytearray(s,'utf-8')   #转换字符串的时候必须指明encoding,函数将字符串使用str.encode方法转换成字节数组
    print(s1)
    
    # 输出结果:
    # bytearray(b'xe4xb8xadxe6x96x87')

    bytearray() 其他用法用法可参考: https://www.cnblogs.com/sesshoumaru/p/5979159.html

    map() & filter() & reduce()

    map():

    map(function,iterables)   #  将iterables中的每个元素进行前面的function

    示例如下: 

    print(list(map(lambda x:x*x, [1,2,3,4,5])))  # map完后要把它list一下,要不然打印的是map的内存地址
    # 输出结果:
    # [1, 4, 9, 16, 25]

    filter():

    filter(function,iterables)    # 从iterables中过滤出能使前面函数为True的值。

    示例如下:

    print(list(filter(lambda x:x>3, [1,2,3,4,5])))  # filter完之后要list一下
    
    # 输出结果:
    # [4, 5]

    reduce() (2.7Python)

    # Python3中的reduce移到了functools里面, 用法: 
    reduce(function, sequence, initial=None)   # --> value,
    
    # python3官方解释: Apply a function of two arguments cumulatively to the items of a sequence,from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). If initial is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty.

    示例如下(python3中的):

    import functools
    print(functools.reduce(lambda x,y:x*y, [1,2,3,4]))
    #输出结果:
    #24
    
    import functools
    print(functools.reduce(lambda x,y:x*y, [1,2,3,4],10))
    #输出结果:
    #240
    
    import functools
    print(functools.reduce(lambda x,y:x*y, [ ],5))
    #输出结果: 
    # 5

    pow(x,y) 

    pow(x,y)  # x的y次方

    print()

    print(value,......,sep = ' 空格 ',end= '
    ', file = None)  # print的括号里面默认有一个end='
    ' (换行符),如果你不想print完之后换行,可以在end='x'里面换成你想以什么结束打印的符号,什么都不写也可以 ;还默认有一个空格,这个空格里面的内容也可以修改(sep是separate的缩写)。

    如:

    print('hahaha','哈哈哈', sep='-->', end='|')
    
    # 打印结果:
    # hahaha-->哈哈哈|    

    print也可以把内容直接打印在文件中。如:

    msg = '又回到最初的起点,加油'
    f = open('print测试','w')
    print(msg,'记忆中你青涩的脸',sep='|',end='',file=f)  # 里面的内容都打印在了文件中
    
    # print结果:
    # msg和“记忆中你青涩的脸” 都写在了文件‘print测试’里面了。

    其它

    tuple()  #变成元祖
    callable()  #判断是否可调用   (列表、字符串等的结果是False,函数的输出结果是True。所以可以用这个判断一个变量是不是函数)
    frozenset()  #使一个集合不可修改
    vars()  # 打印当前所有的变量名和其对应的值,dir()只能打印变量名
    locals()  # 通常在函数内部运行,打印函数内部所有的局部变量     #  返回一个字典
    globals()  # 打印全局变量,不管globals()是在函数内还是函数外运行   #  返回一个字典
    
    zip(list1,list2)   # 可以使两个列表中的值一一对应起来放入一个小元祖内; # 返回一个 zip 对象,可 list() 可dict()
    
    round(数字,n)  # round是约等于(五舍六入),保留小数点后n位;
    hash()  # 把要哈希的内容变成一个数字
    set()  # 变成集合
  • 相关阅读:
    mybatis系列-04-mybatis开发dao的方法
    mybatis系列-03-入门程序
    mybatis系列-02-mybatis框架
    mybatis系列-01-JDBC
    对代码的理解
    jenkins api调用
    lcov收集覆盖率
    Spring MVC @ModelAttribute
    shell文件/路径处理
    gcc static静态编译选项提示错误修正(/usr/lib/ld: cannot find -lc)
  • 原文地址:https://www.cnblogs.com/neozheng/p/8360572.html
Copyright © 2020-2023  润新知