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. 类型及转换
- 基本类型
- int 1
- float 1.0
- bool True, False
- 复杂类型
- 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