Python运行和基本类型

运行:

       写了Python代码之后就要让其执行。可以交互方式执行,比如终端命令行,或者IDLE,这些都是比较古老的方式。比较新的有IPython,能有很好的效果。特别是notebook,有很多精美的,可以学习一下。

       或者命令行直接执行少量代码,如: python -c "print(2**100)" 。用来计算还是蛮不错的,当然也可以嵌入到shell脚本里。

       但更多的是写成脚本,然后执行。在Unix系统,首先要做的是加Shebang,可以表明这个脚本该怎么执行,否则可能用其他程序执行。标准的写法是: #!/usr/bin/env python 。+x之后可以直接运行。写成脚本之后,也会在被import的时候被运行。所以要注意判断是否是自己main,还是在被import。当然还有exec,reload等等方式。

基本类型:

       下面这张表概括了常用的类型。

python-built-in
Python Built-in Type From:Learning Python

       Python是动态类型,都是指向某个内存区域的。不需要事先确定类型。但是一旦确定了,就只能使用相应类型的操作。

       Python的number支持高精度,我觉得很好用。python还加了Fraction类型,爽屁了。

       Python的字符串是不可变的,重新赋值的话就是重新给个内存区域,这是合理的。(把字符串转成bytearray就可变)。每次说到字符串就想起很多面试时候问的一个问题,怎么反转字符串。 S[::-1] 糊他脸上。Python3默认支持Unicode,所以字符串前不用加u了。

       list是可变的,用处最广泛。也最好用。dict就是key-value对,估计是对key进行hash了,也是我常用的数据类型。但是注意dict的key是随机排的,如下可以排序。

       file类型也是常用的,file是个generator对象。还有set,decimal,fraction等等。

       有可能要测试一个变量的类型。比如用 type(L) == type([]),type(L) == list,isinstance(L, list)等等,这不一定是合适的,因为Python是多态的,Python关心what an object does, not what it is.

 

       有问题,要help。就跟man一样。dir(str), help(str)。足够。