Python

Table of Contents

1. Python

1.1. 函数

  • [ ] overloading
  • [X] 支持默认参数
  • [X] 多个函数值
  • [X] 变长参数
def echo(i1, i2, i3):
    return (i1, i2, i3)


def echo2(*args):
    return args


if __name__ == "__main__":
    print(echo(1, 2, 3))
    print(echo2(1, 2, 3, 4))

(1, 2, 3) (1, 2, 3, 4)

1.2. 输入输出

if __name__ == '__main__':
    print("%d,%s" % (1, "abc"))
    # sprintf
    s = "%d,%x" % (1, 15)
    print(s)    
    x = input("input a num: ")

1.3. 类型及转换

  1. 基本类型
    • int 1
    • float 1.0
    • bool True, False
  2. 复杂类型
    • str "abc"
    • list [1,2,3]
    • dict {"a":1,"b":2}
    • tuple (1,2,3)
if __name__ == "__main__":
    print(int("123"))
    print(int(1.0))
    print(int("101010", 2))

    print(str(123))
    print(bin(123))
    print(hex(123))
    print(oct(123))
    print(str(True))

    print(float("123.1"))
    print(float(123))

    print(bool(1))
    print(bool(0))
    print(bool("True"))

1.4. str

  • str 不可变
  • str[i] 返回为 str, 没有 char 类型
  • len 返回长度
  • 支持str[i:j] 操作
  • str 的成员函数
    • split,join
    • index,strip,startwith
  • str + str, str * 3

1.5. list

  • x=[1,2,3]
  • list 可以直接比较相等, 可以比较大小
  • list 可以相加或倍乘
  • 多维 list
  • list[1:2]
  • 通过x[:] 可以复制一个 list
  • len(x)
  • del(x[0])
  • append,pop,reverse,sort,clear,copy,count,remove,extend

1.6. list comprehension

  • [i+1 for i in [1,2,3]]
  • [i+1 for i in [1,2,3] if i%2==0]

1.7. dict

  • m={"a":1,"b":2, 3:2}
  • m["a"]
  • "a" in m
  • m.keys(), m.values()
  • for i,j in m.items()
  • del(m["a"])
  • len(m)
  • key error 如果 key 不存在
  • collections.defaultdict(int)

1.8. set

  • x=set()
  • add,remove
  • union,intersection,difference
  • issubset

1.9. 排序

  • list.sort()
  • list.sort(key)
  • sorted(x,key)
x = [1, 2, 3]
x.sort(key=lambda x: -x)
print(x)
x = [(1, 2), (2, 1)]
x.sort(key=lambda x: x[1])
print(x)

[3, 2, 1] [(2, 1), (1, 2)]

1.10. 最大堆

  • collections.heapq

1.11. 抽象数据类型

1.12. math

1.13. random

  • rand.Intn(n)
  • rand.Seed
package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    rand.Seed(time.Now().Unix())
    fmt.Println(rand.Intn(10))
}

1.14. 控制结构

  • for
  • while
  • 不支持 switch

1.15. package

1.16. misc

  • a,b:=b,a

1.17. packages

1.17.1. beautifulsoup

1.17.2. celery.contrib.rdb

1.17.3. argparse

1.17.4. tqdm

1.17.5. retrying

Author: [email protected]
Date: 2018-09-02 Sun 00:00
Last updated: 2022-02-06 Sun 21:58

知识共享许可协议