python_tips

tips for python

View project on GitHub

Python笔记

python学习总结——强大的内置数据类型

python给人最直接的印象就是,内置数据类型非常的强大。

例如,list,dict,set,这几个数据类型如果用C/C++来实现,每种类型都需要几百到上千行代码;即使用java的内置类型,也需要许多啰嗦的声明才可以用。

但是在python中,list就是一个直接可用的类型,并且list中的元素可以是任意类型,并且同一个list中的元素类型可以不同;set也是如此,区别仅在于,set中的元素都是不相等的,概念跟数学中的集合类似。

dict除了要求key值必须是可以执行hash操作的以外,对value不需要任何声明,也没有任何限制。

除了这几个常见的类型之外,还有tuple,也是一个非常有用的数据类型。不严格区分的话,tuple可以看作不能修改值的list。

有了初步的了解之后,我甚至认为,我可以用纯python直接实现一个数据库。想想看,这么多强大的数据类型,完全可以表达一个数据库所需要的所有元素。

python还有另外一个让人惊喜的地方:所有的数值类型,都支持big number,也就是不会像C/C++或者java那样,int、long有最大的值,python中完全不限制数值的大小,不考虑效率的话,你可以直接做大数计算,非常方便。

同样强大的还有str类型,+操作符是必须的,join、center、replace、index方法,都是非常好用的字符串常用操作。

举几个例子,不需要记住,请在实践中去运用它们,自然而然就记住了:

  1. list
    a = []  # 等价于a = list()
    b = [1,2,3,4,"test",[1,2,3]]
    

     

  2. dict
    a = {} # 等价于 a = dict()
    b = {1:1, 2:2, "test": "test"}
    
  3. set
    a = set()
    

     

  4. tuple
    a = () # 等价于 a = tuple()
    b = (1,) #注意那个括号中的逗号,在只有一个元素时,必须加上。这个其实没什么,如果你介意,忘记这个规则。
    

     

  5. int
    a = 1
    a = int("1")
    a = 99**99 # big number,此时a的值为369729637649726772657187905628805440595668764281741102430259972423552570455277523421410650010128232727940978889548326540119429996769494359451621570193644014418071060667659301384999779999159200499899L 这个大数值,C/C++和java光是为了显示,就要花费大量的代码。而对于python来说,它是内置支持的。
    
  6. str
    s = "test"
    s.join(map(lambda x: str(x),range(10))) # 结果为'0test1test2test3test4test5test6test7test8test9',这个是罗列数组值的好办法,如果你要打印一个数组的值的话。
    s.center(10,"0")# 结果为'000test000',这个是格式化字符串的好方法。
    

      以上其实还是没什么大用途,只是一些变量的赋值与初始化。不要管它有多少种初始化方式,不同的初始化方式有哪些细微的差异,这些统统不要紧,只要用你觉得最简单的方式去定义变量,初始化变量,就可以了。

Python笔记