一、数据相关

1、数据类型

        在Python中有六个标准数据类型:

- 数字(Number)
	- 字符串(String)
	- 列表(List)
	- 元组(Tuple)
	- 集合(Set)
	- 字典(Dict)

        我们编码中常用的有:

- 整数(int)
	- 浮点数(float)
	- 布尔值(True/False)
	- 复数(Complex)

        这些代表数据类型的英文不可以被修改,他们是Python的内置函数,Python不会阻止使用者将内置函数的内容修改,但修改之后会影响被修改的函数之后的使用,例如,当我们将 ‘poken’ 赋值给字符串 ‘str’,再需要使用‘ str’ 的时候就会报错( ‘str’ object is not callable):

>>> str = 'poken'
>>> str
'poken'
>>> a = str(5e19)

Traceback(most recent call last):
    File “<pyshell#51>”, line 1, in <module>
    a = str(5e19)
TypeError:'str' object is not callable

2、判断数据类型

        Python的内置函数为了语言更加方便使用,使用type或者isinstance就可以让Python直接判断数据的类型,例如:

>>> a = 'poken'
>>> type(a)
<class 'str'>

        但是,Python更加推荐用户使用isinstance,因为type不会考虑继承关系,而isinstance会,所以在实际运行代码时,type得到的结果往往不够精确,因为它无法追溯数据和其他数据的关系。

3、运算符及运算符优先级

        Python作为编程语言,在设计之初已经有不少运算符,这些运算符的计算方式和意义随着版本的更新而不断变化,但总体保持稳定。

        例如在Python2.X中,如果输入‘5/2’,将会得到‘2’。在Python3.X中则会得到‘2.5’。(之后将详尽记录日常所及范围内的python2/3代码区别。)

        因为Python2.X使用‘地板除’方法,整数之间的运算被设定成只能够输出整数结果,但在Python3.X之后的版本,设计者对这一点进行了改变,原先的方法被‘//’——‘取余’运算符替代。

        为了避免在Python计算中出现运算符冲突,所以Python要求运算严格依照运算符优先级来运算:

(1).幂运算:**(幂运算比左侧的运算符优先级高,比右侧低)
	(2).正负号:+、-
	(3).算术操作符:*、/、//、+、-
	(4).比较操作符:<、<=、>、>=、==、!=(比较操作符根据表达式的值真假返回布尔值)
	(5).逻辑操作符:and、or、not(not优先级大于and,and优先级大于or)

        和数学中的规定类似,Python遵循着“先乘除,后加减”的规律,虽然没有必要在代码中过多的添加括号,但是不添加适当的括号仍然有可能引发程序错误,当然,添加括号的目的也在于增加代码可读性。

        Python中只含有一个操作符的叫做一元操作符(单目操作符),有两个操作符的叫二元操作符(双目操作符),条件表达式是Python中唯一的三元操作符。