zoukankan      html  css  js  c++  java
  • 需要熟练的Python知识点

    数据与列表元祖字符串

    repr(x) 将对象x转换为表达式字符串

    eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象

    unichr(x) 将一个整数转换为Unicode字符

    hex(x) 将一个整数转换为一个十六进制字符串

    ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5

    cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

    floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4

    pow(x, y) x**y 运算后的值。

    round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。

    sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j

    list.count(obj) 统计某个元素在列表中出现的次数

    list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

    list.pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

    len(dict) 计算字典元素个数,即键的总数

    dict.fromkeys(seq[, value]) 该方法返回一个新字典  如果不指定value 则返回值为None的字典

    dict.items() 返回可遍历的(键, 值) 元组列表

    enumerate() 生成相应的enumerate型的对象

    enum_obj = enumerate("abcd") # >>> 新建了一个enumerate型的对象
    for index, ele in enum_obj:
        print(index, ele)        # >>> 依次输出: 1 "a", 2 "b", 3 "c", 4 "d"

    zip() 生成相应的zip型的对象,返回元祖列表 类似dict.items()

    for i in zip("abcd", "1234"):
        print(i)    # >>> 依次输出:("a", "1"), ("b", "2"), ("c","3"), ("d","4")
    
    

    string.partition() 方法用来根据指定的分隔符将字符串进行分割,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。partition() 的作用和split() 类似

    str = "www.runoob.com"
    print str.partition(".")
    # ('www', '.', 'runoob.com')

    string.join() 这实际上是一个连接函数,但我还是把它放在分割里面讲了。它的作用是以string为分隔符,将括号里面的字符串序列连接起来(注意,一定是字符串形式的序列,比如由字符串构成的列表等等),构成新的字符串。

    print(",".join(["I", "wrote", "Python"])) # >>> "I,wrote,Python"
    print("**".join("123")) # >>> "1**2**3"

    string.upper() 是转换成大写,string.title()是首字母大写

    函数

    使用lambda可以定义简单的单行匿名函数。lambda的语法是:

    lambda args: expression  #同时表达式(expression)的值就是匿名函数调用的返回值

    lambda_add = lambda x, y: x + y
    print(lambda_add(1,2))  #返回3

    这与使用def定义的求和函数完全一样,甚至可以将lambda表达式进行赋值传递

    lambda_add = lambda x, y: x + y
    aaaaaa = lambda_add
    print(aaaaaa(1,2))

    所以函数是可以被变量引用的,函数作为参数和返回值也是Python比较普遍的做法了,闭包就是一类特殊的函数

    闭包: 如果一个函数定义在另一个函数的作用域中,并且函数中引用了外部函数的局部变量,那么这个函数就是一个闭包

    def func():
        n = 1
        def inner():
            print n
        inner() # 返回1
        n = 'x'
        inner() # 返回"x"
    func()

    函数inner定义在func()的作用域中,并且在inner中使用了func中的局部变量n,构成了一个闭包。闭包绑定了外部的变量,所以调用函数f的结果是打印1和'x'。

    这类似于普通的模块函数和模块中定义的全局变量的关系:修改外部变量能影响内部作用域中的值,而在内部作用域中定义同名变量则将遮蔽(隐藏)外部变量。

    闭包只有在作为参数和返回值时才能发挥它的真正威力

    作为参数: 

    如果你对OOP的模板方法模式很熟悉,相信你能很快速地学会将函数当作参数传递。两者大体是一致的,只是在这里,我们传递的是函数本身而不再是实现了某个接口的对象。 

  • 相关阅读:
    codeforces 1343D(差分+思维)
    codeforces 1305C(鸽巢原理+同余)
    aa
    codeforces 1325D 位运算+思维
    Codeforces 1312D 组合数学
    Codeforces 1284C 组合数学
    Codeforces 1296C(map)
    CodeForces 1271B(思维)
    CodeForces 1281B(思维+暴力)
    HDU 1506(单调栈)
  • 原文地址:https://www.cnblogs.com/clemente/p/10214925.html
Copyright © 2011-2022 走看看