zoukankan      html  css  js  c++  java
  • python 14 days

    python 14 days

    python之内置函数,匿名函数

    内置函数:

    1.1作用域相关

    locals :函数会以字典的类型返回当前位置的全部局部变量。

    globals:函数以字典的类型返回全部全局变量。

    q = 666
    def wrapper(argv):
        a = 3
        print(locals())  # 1 {a:3,argv:2}
        def inner(argv1):
            b = 4
            c = 5
            print(locals())  # 2 {b:4 c:5,argv1:6}
        inner(6)
    #
    wrapper(2)
    print(globals())  # 3
    例题
    {'a': 3, 'argv': 2}
    {'c': 5, 'b': 4, 'argv1': 6}
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader....
    结果

     

    这两个一样,因为是在全局执行的。

    a = 1
    b = 2
    print(locals())
    print(globals())
    例题展示

     

    这两个不一样,locals() {'argv': 3, 'c': 2}

    def func(argv):
        c = 2
        print(locals())
        print(globals())
    func(3)
    例题展示

     

    1.2其他相关

    1.2.1 字符串类型代码的执行 eval,exec,complie

    eval:去除字符串的引号,返回对应内部的值

    s = '{"a":1,"b":3}'
    dic = eval(s)
    print(dic,type(dic))
    print(eval('2 + 2'))
    print(eval('print(666)'))
    例题展示
    {'a': 1, 'b': 3} <class 'dict'>
    4
    666
    None
    结果展示

    exec:执行字符串内部的代码

    print(exec('1 + 1'))
    例题展示
    None
    结果展示

     

    ret = '''
    name = input('请输入名字:').strip()
    if name == 'alex':
        print(666)
    '''
    exec(ret)
    例题展示
    请输入名字:alex
    666
    结果展示

    compile:将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。

    compile:pass

    1.2.2输入输出相关:input,  print

    input:

    name = input('请%s输入名字:' % 'alex')
    print(name)
    例题展示
    请alex输入名字:alex
    alex
    结果展示

    print:

    print(1, 2, 3,sep='*')  # 设定打印元素的连接方式
    print('alex', end='')  # end控制的是换行
    print('老男孩')
    例题展示
    1*2*3
    alex老男孩
    结果展示

    print的操作文件句柄,写入文件

    f1 = open('log', encoding='utf-8', mode='w')
    print('666', file=f1)  # file 操作文件句柄,写入文件。
    f1.close()
    例题展示
    666
    结果展示

    1.2.3内存相关 hash  id

    hash 将不可变的数据通过hash算法转化成hash值

    hash:

    rint(hash('name'))
    print(hash('age'))
    print(hash((1, 2, 3,)))
    print(hash(1))
    print(hash(1))
    print(hash(100))
    例题展示
    -213739849721140791
    2048003905372590584
    2528502973977326415
    1
    1
    100
    结果展示

    id :

    print(id('name'))
    例题展示
    1997741681552
    结果展示

     

    1.2.3文件操作相关

    open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

     

    1.2.4模块相关__import__

    __import__:函数用于动态加载类和函数 。

     

    1.2.5 帮助

    help:函数用于查看函数或模块用途的详细说明。

    print(help(str))

     

    1.2.6调用相关

    callable:函数用于检查一个对象是否是可调用的。

    如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

    def func1():
        print(666)
    
    age = 16
    print(callable('name'))
    print(callable(age))
    print(callable(func1))
    例题展示
    False
    False
    True
    结果展示

     

    1.2.7查看内置属性

    dir:函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;

    带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

    print(dir(str))
    例题展示
    ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__',.................
    结果展示i

     

    1.3 迭代器生成器相关

    l = [1, 2, 3, 4, 5]
    l_obj = l.__iter__()
    l_obj = iter(l)
    print(l_obj)
    print(l_obj.__next__())
    print(next(l_obj))
    例题展示
    <list_iterator object at 0x0000022A11BCC6A0>
    1
    2
    结果展示

     

    1.4.1数字相关

    数据类型(4):

    bool :用于将给定参数转换为布尔类型,如果没有参数,返回 False。

    int:函数用于将一个字符串或数字转换为整型。

    print(int(1.234))
    print(int(1.768))
    例题展示
    123
    1
    1
    结果展示

     

    float:函数用于将整数和字符串转换成浮点数。

    complex:函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。

    如果第一个参数为字符串,则不需要指定第二个参数。。

    i = 3.1415
    print(i, type(i))
    s = '1.234'
    print(int(1.234))
    print(float(s))
    print(float(100))
    例题展示
    3.1415 <class 'float'>
    1
    1.234
    100.0
    结果展示

     

    bin:将十进制转换成二进制并返回。

    print(bin(100))

    oct:将十进制转化成八进制字符串并返回。

    print(oct(10))

    hex:将十进制转化成十六进制字符串并返回。

    print(hex(13))

    print(hex(18))

     

    数学运算

     abs:函数返回数字的绝对值。

    print(abs(-5))
    例题展示
     
    
    
    
    5
    结果展示

     

    divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。

    print(divmod(7, 3))
    例题展示
    (2, 1)
    结果展示

     

    round:保留浮点数的小数位数,默认保留整数。

     

    print(round(1.234,2))
    例题展示
    1.23
    结果展示

     

    pow:求x**y次幂。(三个参数为x**y的结果对z取余)

    print(pow(2, 3)) # 2的三次幂
    例题展示
    8
    结果展示
    print(pow(2, 3, 3))  # 2的三次幂对3取余数
    例题展示
    2
    结果展示i

     

    sum:对可迭代对象进行求和计算(可设置初始值)。

    print(sum([1, 2, 3, 4]))
    print(sum([1, 2, 3, 4], 100))
    例题展示
    10
    110
    结果展示

     

    min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。

     

    print(min([1, 3, 5, 7, -4]))
    print(min([1, 3, 5, 7, -4], key=abs))
    例题展示
    -4
    1
    结果展示

     

  • 相关阅读:
    Poj2033
    CodeForces 540
    CodeForces 548
    LeetCode#2 Add Two Numbers
    CodeForces 544A
    POJ 2431Expedition
    HLG1116-选美大赛
    清华学堂 列车调度(Train)
    清华学堂 LightHouse
    清华学堂 Range
  • 原文地址:https://www.cnblogs.com/juxiansheng/p/9053020.html
Copyright © 2011-2022 走看看