数据类型和变量 ====================================== 下表为python中的基本数据,下面分别对每种类型做下简单介绍 .. list-table:: :widths: 15 20 20 :header-rows: 1 * - 类型 - 示例 - 备注 * - int - 1、 1000、-1000 - 整数类型 * - str - 'abc'、'123'、u'!@#$%^' - 字符串类型 * - float - 1.1、-1.1、1.1e-10 - 浮点数类型 * - bool - True、False - 布尔类型 * - None - None - 空值 -------------------------------------- int类型 -------------------------------------- int类型为整数类型,如1、-1、61284123等 创建一个int类型变量非常简单,打开一个命令行窗口,进入ipython交互环境,敲入下面代码:: In [1]: a = 1 In [2]: print(a) 1 In [3]: type(a) Out[3]: int In [4]: .. note:: ``type`` 函数的意思是查看一个python对象的类型 像1、-1这样的值叫做字面量,简单理解就是,你看到它就知道是什么意思,int类型的字面量除了1、-1这种10进制的表达方式外,还可以使用16进制、8进制、2进制,如下所示:: In [1]: 0xa Out[1]: 10 In [2]: 010 Out[2]: 8 In [3]: 0b10 Out[3]: 2 In [4]: .. note:: 0x开头的代表16进制,0开头的代表8进制,0b开头的代表2进制 在python里,可以使用int函数把数字字符串转换为数字类型,如下所示:: In [1]: int('123') Out[1]: 123 In [2]: int('a', 16) Out[2]: 10 In [3]: int('10', 2) Out[3]: 2 In [4]: int('a') --------------------------------------------------------------------------- ValueError Traceback (most recent call last) in () ----> 1 int('a') ValueError: invalid literal for int() with base 10: 'a' In [5]: .. note:: int函数的第二个参数表示该字符串的进制,默认不传为10进制,传入16代表16进制,如果不能转换则会报错 ------------------------------------- float类型 -------------------------------------- float为浮点数类型,通俗的说就是小数,学用的字面量表示方式有:1.1、-1.1、4.3e-3(0.0043):: In [1]: 1.1 Out[1]: 1.1 In [2]: -1.1 Out[2]: -1.1 In [3]: 3.4e-3 Out[3]: 0.0034 In [4]: a = 1.1 In [5]: type(a) Out[5]: float In [6]: ------------------------------------- 字符串 -------------------------------------- 见【字符串专题 ------------------------------------- 布尔类型 -------------------------------------- 布尔是逻辑学大师,布尔类型只有两个值,真和假,真就是 ``True`` ,假是 ``False`` :: In [1]: a = True In [2]: b = False In [3]: a Out[3]: True In [4]: b Out[4]: False In [5]: type(a) Out[5]: bool In [6]: 1 == 1 Out[6]: True In [7]: 1 > 2 Out[7]: False In [8]: ------------------------------------- 变量 -------------------------------------- 变量就是为了方便记忆,给python对象起了个有意义的名字,如 ``name`` 、 ``age`` 等,在python中定义变量非常简单,如下所示:: In [1]: name = u'小明' In [2]: age = 22 In [3]: money = 1000.11 In [4]: 除了给一个变量赋值外,还可以同时给多个变量赋值:: In [4]: a = b = 1 In [5]: a Out[5]: 1 In [6]: b Out[6]: 1 In [7]: **python的变量需要遵守以下规则:** 1. 变量名可以包括字母、数字、下划线,但是数字不能做为开头:: In [1]: a = 1 In [2]: a1 = 1 In [3]: _ = 1 In [4]: a_ = 1 In [5]: 1a = 1 File "", line 1 1a = 1 ^ SyntaxError: invalid syntax #. 变量名区分大小写 例如 ``name`` 和 ``Name`` 是两个不同的变量 #. 不要使用python关键字做为变量名 如int是python里的一个关键字,所以一定不要使用 ``int = xxx`` ,除非真的要替换掉int #. 变量名要有意义 例如,你要定义一个叫名字的变量,你可以起 ``a`` 、``b`` 或者 ``asqewr`` ,但最好使用 ``name`` 或者 ``xiaoming_name`` 这样有意义的单词组合 #. 变量名单词组合使用'_'分隔 在python中,如果变量名是若干个单词,如猪的数量,在python中应命名为 ``pig_num`` ,而不是 ``pigNum`` ,当然这只是推荐,如果一定要使用 ``pigNum`` 也不会报错的 ------------------------------------- 练习 --------------------------------------