• 基础内置函数


    基础内置函数

    all 函数

    all 函数用来判断可迭代对象中是否所有的元素为 True:

    print(all([1, 2, 32, 43, 5]))
    
    输出的结果为: True
    

    any 函数

    any 函数与用来判断可迭代对象中的元素是否有一个为 True:

    print(any([1, 2, 3, 0, 1, 0]))
    
    输出的结果为: True
    

    callable 函数

    callable 函数用来判断变量是否可以被调用:

    def func():
        pass
    print(callable(func))
    
    输出的结果为: True
    

    bytes 函数

    bytes 函数可以将字符串编码为二进制形式,它的功能和字符串的 .encode() 方法十分类似,更推荐使用字符串的 .encode() 方法:

    print('你好'.encode('utf-8'))
    print(bytes('你好', encoding='utf-8'))
    

    输出的结果为:

    b'xe4xbdxa0xe5xa5xbd'
    b'xe4xbdxa0xe5xa5xbd'
    

    chrord 函数

    chr 函数根据当前编码(Python 3 中为 Unicode)解码为字符,ord 为 chr 方法的逆运算,用来将字符编码为数字:

    print(chr(20320))
    print(ord('你'))
    

    输出的结果为:

    你
    20320
    

    complexdivmod 函数

    这两个函数用来进行计算。complex 函数用来将一对数字转换为复数形式,第一个数作为复数的实部,第二个数为复数的虚部:

    print(complex(20, 3))
    
    输出的结果为:(20+3j)
    

    divmode 函数会将一对数字做商,第一个参数做被除数,第二个参数做除数,返回值为一个元组,元组的第一个元素是商,第二个元素是余数:

    print(divmod(20, 3))
    
    输出的结果为:(6, 2)
    

    evalexec 函数

    这两个函数用来执行字符串中的代码。其中,eval 函数可以执行单行字符串代码,exec 函数可以执行多行字符串代码:

    msg = 'print(1)'
    eval(msg)
    
    msg2 = """                                    # 禁用
    def func():
        print("太厉害了")
    func()
    """
    exec(msg2)
    

    输出的结果为:

    1
    太厉害了
    

    注意这两个函数在日后的编程中是被禁止使用的,因为有可能会出现被恶意注入的 Bug。

    frozenset 函数

    frozenset 可以生成一个冻结的不可变的集合:

    dic = {frozenset({1, 2, 3, 4}): 1}
    print(dic)
    
    输出的结果为:{frozenset({1, 2, 3, 4}): 1}
    

    既然能做字典的键,就说明冻结集合是一个不可变数据。

    hash 函数

    hash 函数用来判断一个数据是否可哈希。如果可哈希,会返回该数据的哈希值;如果不可哈希,会报错:

    print(hash('12'))
    print(hash(12))
    print(hash(True))
    # print(hash([1, 2]))
    print(hash((1, 2)))
    # print(hash({1: 2}))
    # print(hash({1, 2}))
    

    help 函数

    help 函数可以查看帮助信息:

    help(list)    # 使用 help 函数不需要打印
    

    进制转换函数

    bin、oct 和 hex 三个函数分别能将十进制数转换为二进制、八进制和十六进制数;int 方法则能将各种进制数转换为十进制数:

    print(bin(10))
    print(oct(10))
    print(hex(30))
    print(int('0x1e', 16))    # 将十六进制数转为十进制,0x可以不加
    print(int('1e', 16))
    print(int('0o11', 8))
    print(int('0b11', 2))
    

    输出的结果为:

    0b1010
    0o12
    0x1e
    30
    30
    9
    3
    

    pow 函数

    pow 函数用来进行幂运算,返回的结果是前一个数的后一个数次幂:

    print(pow(3, 4))    # 3 ** 4
    
    输出的结果为: 81
    

    repr 函数

    repr 函数用来显示打印出来的字符串两端的双引号,即令字符串原形毕露:

    print('123')
    print(repr('123'))
    

    输出的结果为:

    123
    '123'
    

    round 函数

    round 函数用来将小数取整,取整规则是四舍六入五成双,也可以指定保留的小数位数:

    print(round(3.4))
    print(round(3.5))
    print(round(3.6))
    print(round(4.4))
    print(round(4.5))
    print(round(4.6))
    print(round(3.14159265397932384626, 3))
    

    输出的结果为:

    3
    4
    4
    4
    4
    5
    3.142
    

    abs 函数

    abs 用来求数字的绝对值:

    print(abs(-6))
    

    format 函数

    format 函数用来格式化字符串,与字符串的 .center() 方法类似:

    s = '你好'
    s1 = format(s, '>20')    # 靠右
    s2 = format(s, '<20')    # 靠左
    s3 = format(s, '^20')    # 居中
    print(s1, s2, s3, sep='
    ')
    

    输出的结果为:

                      你好
    你好                  
             你好         
    

    format 也可以用来进行数字的进制转换:

    s = 18
    print(format(s, '08b'))    # 08的意思是总共八位,不足的用0补齐,b指的是要转换为二进制bin
    print(format(s, '08o'))    # oct
    print(format(s, '08x'))    # hex
    print(format(s, '08d'))    # decimal
    

    输出的结果为:

    00010010
    00000022
    00000012
    00000018
    

    format 方法对于转换 ip 地址会很有用。

    sum 函数

    sum 函数用来求一个可迭代对象中元素的总和:

    print(sum[1, 2, 3, 4])
    

    dir 函数

    dir 函数用来查看当前对象有哪些方法:

    print(dir(list))
    

    print 函数我们已经非常熟悉了,用来将内容打印出来。我们还需要了解的是 print 有两个关键字参数:sep 和 end。

    sep 用来规定 print 中多个元素以什么间隔开,默认值为一个空格 ' ';end 用来规定 print 函数打印完全部内容后以什么为结尾,默认为换行符

    我们可以通过修改 sep 和 end 的值来实现不同的打印输出效果:

    print('alex', 'wusir', '太亮', sep='-', end=' ')
    print('meet')
    

    输出的结果为:

    alex-wusir-太亮 meet
    

    我们可以利用 print 的这两个参数实现打印九九乘法表:

    for i in range(1, 10):
        for j in range(1, 10):
            if i > j:
                print(f'{i} * {j} = {i * j}', end=' ')
            elif i == j:
                print(f'{i} * {j} = {i * j}')
    

    输出的结果是这样的:

    1570277690185

    除了能将信息打印到屏幕上,print 也可以将信息写入到文件中:

    f = open('test', 'a', encoding='utf-8')
    print('meet', file=f)
    

    屏幕上没又打印出任何内容,但是出现了一个名为 test 的文件,文件中的内容为 meet:

    1570277894909

  • 相关阅读:
    IL指令详细
    读懂IL代码就这么简单(三)完结篇
    读懂IL代码就这么简单(二)
    读懂IL代码就这么简单(一)
    在 .NET Core Logging中使用 Trace和TraceSource
    使用JWT创建安全的ASP.NET Core Web API
    闭环思维
    一行代码,百万人民币打水漂
    网络接口库函数mpr.dll动态库
    使用MSF利用永恒之蓝漏洞远程控制主机——直接使用MSF即可RCE,我++,在docker里没有完成,GG!
  • 原文地址:https://www.cnblogs.com/shuoliuchina/p/12430746.html
Copyright © 2020-2023  润新知