zoukankan      html  css  js  c++  java
  • Python常用内置函数

    一、函数递归

    递归:函数A调用函数A

    递归的核心:递进的时候能够达到一个结果,问题规模越来越小(不一定要真正的达到);设置一个条件,能够让最后异次函数调用结束。

    递归更多的是一种思想,用来解决某种问题

    def age_func(x):  # x的规模在减小  # x = 5 # x =4 # x =3 # x =2  # x = 1 # x = 0
        global age
        if x == 0:
            return age  # 终止函数,age=26,这是age_func(0)
        
        return age_func(x - 1) + 2  # age_func(4) # age_func(3) # age_func(2) # age_func(1) # age_func(0)
    
    
    res = age_func(5)
    print(res)  # 26
    
    '''
    age_func(5) --> return age_func(4)+2 == 24+2 =26
    age_func(4) --> return age_func(3)+2 == 22+2 = 24
    age_func(3) --> return age_func(2)+2 == 20+2 = 22
    age_func(2) --> return age_func(1)+2 == 18+2 = 20
    age_func(1) --> return age_func(0)+2  == 16+2= 18
    '''
    

    二、内置函数

    1、常用

    1.bytes()

    解码字符。

    res = '你好'.encode('utf8')
    print(res)
    b'xe4xbdxa0xe5xa5xbd'
    res = bytes('你好', encoding='utf8')
    print(res)
    b'xe4xbdxa0xe5xa5xbd'
    

    2.chr()/ord()

    chr()参考ASCII码表将数字转成对应字符;ord()将字符转换成对应的数字。

    print(chr(65))
    A
    print(ord('A'))
    65
    

    3.divmod()

    分栏。

    print(divmod(10, 3))
    (3, 1)
    

    4.enumerate()

    带有索引的迭代。

    l = ['a', 'b', 'c']
    for i in enumerate(l):
        print(i)
    (0, 'a')
    (1, 'b')
    (2, 'c')
    

    5.eval()

    把字符串翻译成数据类型。

    lis = '[1,2,3]'
    lis_eval = eval(lis)
    print(lis_eval)
    [1, 2, 3]
    

    6.hash()

    是否可哈希。

    print(hash(1))
    1
    

    2、了解

    求绝对值。

    print(abs(-13))  # 求绝对值
    13
    

    2.all()

    可迭代对象内元素全为真,则返回真。

    print(all([1, 2, 3, 0]))
    print(all([]))
    False
    True
    

    3.any()

    可迭代对象中有一元素为真,则为真。

    print(any([1, 2, 3, 0]))
    print(any([]))
    True
    False
    

    4.bin()/oct()/hex()

    二进制、八进制、十六进制转换。

    print(bin(17))
    print(oct(17))
    print(hex(17))
    0b10001
    0o21
    0x11
    

    5.dir()

    列举出所有time的功能。

    import time
    print(dir(time))
    ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname', 'tzset']
    

    6.frozenset()

    不可变集合。

    s = frozenset({1, 2, 3})
    print(s)
    frozenset({1, 2, 3})
    

    7.globals()/loacals()

    查看全局名字;查看局部名字。

    # print(globals())
    def func():
        a = 1
    #     print(globals())
        print(locals())
    
    
    func()
    {'a': 1}
    

    8.pow()

    print(pow(3, 2, 3))  # (3**2)%3
    0
    

    9.round()

    print(round(3.5))
    4
    

    10.slice()

    lis = ['a', 'b', 'c']
    s = slice(1, 4, 1)
    print(lis[s])  # print(lis[1:4:1])
    ['b', 'c']
    

    11.sum()

    print(sum(range(100)))
    4950
    

    12.import()

    通过字符串导入模块。

    m = __import__('time')
    print(m.time())
    1556607502.334777
    

    三、面向过程编程

    # 面向 过程 编程
    
    # 按照    流程(流水线的思想)  码代码
    
    
    # 造瓶子
    # 输入原材料(一堆塑料) --> 融化塑料 --> 造瓶身和瓶盖  --> 输出瓶子
    # 一堆变量/参数  --> 函数1(过程1)  --> 函数2(过程2) --> 结果
    #                    函数3(过程3) --> 函数2(过程2)
    
    # 上一个过程的输出必定是下一个过程的输入
    
    # 优点:
    # 1. 思路清晰
    
    
    # 缺点:
    # 1. 上一个过程完蛋了,下一个过程也完蛋
    # 2. 功能与功能之间不独立
    # 3. 牵一发而动全身,不方便修改/扩展功能,可扩展性差
    
  • 相关阅读:
    some tips
    ORA00847: MEMORY_TARGET/MEMORY_MAX_TARGET and LOCK_SGA cannot be set together
    Chapter 01Overview of Oracle 9i Database Perfomrmance Tuning
    Chapter 02Diagnostic and Tuning Tools
    变量与常用符号
    Chapter 18Tuning the Operating System
    标准输入输出
    Trace files
    DBADeveloped Tools
    Chapter 03Database Configuration and IO Issues
  • 原文地址:https://www.cnblogs.com/17vv/p/11353914.html
Copyright © 2011-2022 走看看