Python 简明教程 --- 4,Python 变量与基本数据
任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码。
—— Martin Fowler
1,什么是变量
计算机的本质是处理数据,数据可以存储在内存和磁盘,只有加载到内存的数据才能被处理。
变量用于代指某块内存数据,比如数字123
,字符串abc
,如下:
n = 123
s = 'abc'
这里的n
和 s
就是变量。
Python 是动态类型语言
,所以,Python 中的变量没有类型
之分,同一个变量即可以指向字符串
,也可以指向数字
,如下:
i = 123 # 此时 i 的值是 123
i = 'abc' # 此时 i 的值是 'abc'
变量命名规则
一个变量名
就是一个标识符,所以变量名的命令规则与标识符的命名规则相同(可参见这里)。
2,赋值运算
每个变量在使用之前都必须被赋值,赋值运算符是等号=
,比如:
i = 123
等号=
左边是变量名,右边是赋予该变量的值。
这句代码就是一个赋值运算,其执行结果是,为变量i
赋予了值123
。
多个变量赋值
可以同时为多个变量
赋予同一个值
:
x = y = z = 'abc'
上面这句话的执行结果是,变量x
,y
,z
值都是abc
。
这句话的执行顺序是从右到左
,即先为z
赋予值 abc
,再为y
赋予z
的值,再为x
赋予y
的值。
也可以同时为多个变量
赋予不同的值
:
x, y, z = 1, 'a', 'b'
上面这句话的执行结果是,分别为变量x
,y
,z
赋予了值1
,a
,b
。
3,关键字type
在Python 中,关键字type
实际上是一个类
,可以在交互式终端
,使用help(type)
查看,如下:
我们可以使用type
来查看一个变量
的类型,如下:
>>> type(123)
<class 'int'>
>>>
>>> type('abc')
<class 'str'>
注意:更确切的说,
type
应该是查看一个对象
的类型,后面的章节会介绍对象
的概念。
变量可以表示不同的数据类型
的值,下面介绍Python 中的基本数据类型
。
4,字符串
Python 中的字符串是用引号
引住的,引号可以是单引号'
,双引号"
,三单引号'''
和三双引号"""
,如下:
# 变量 s 的值是字符串`abc`
s = 'abc'
s = "abc"
s = '''abc'''
s = """abc"""
单引号中的值可以有双引号,如下变量 s
的值为I say "hello"
:
>>> s = 'I say "hello"'
>>> print(s)
I say "hello"
双引号中的值可以有单引号,如下变量 s
的值为I'm Ok
:
>>> s = "I'm Ok"
>>> print(s)
I'm Ok
三引号'''
和"""
一般用于多行字符串,三引号中的值可以包含单引号和双引号:
s = '''这是第一行,
这是第二行,
这是第三行'''
s = """这是第一行,
这是第二行,
这是第三行"""
s = '''字符串中有单引号'
也有双引号"
'''
转义字符\
如果单引号中想有单引号,需要用到转义字符\
:
>>> s = 'I\'m ok'
>>> print(s)
I'm ok
同样双引号中想有双引号,也需要用到转义字符\
:
>>> s = "I say \"hello\""
>>> print(s)
I say "hello"
如果想表示原始的斜杠\
,需要用两个斜杠\
:
>>> s = '这是斜杠\\' # 第一个斜杠代表转义
>>> print(s)
这是斜杠\
原始字符串
在单引号或双引号前边加上r
或R
,表示原始字符串(raw string
),你写的是什么,就是什么,不需要转义:
>>> s = r'\r\n\t'
>>> print(s)
\r\n\t
5,数字类型
Python3 中支持三种数字类型,包括:
- 整数
int
- 浮点数
float
- 复数
complex
注意:
python2.x 中有long
类型,
python3.x 将long
归属到了int
中,python3.x 中不再有long
类型。
整数
Python3 中支持任意大小
的整数,包括正整数
和负整数
,如下:
>>> a = 123
>>> b = -456
>>> c = 99999999999999999999
>>> type(a), type(b), type(c)
(<class 'int'>, <class 'int'>, <class 'int'>)
浮点数
浮点数即是小数,也包括正数和负数。
当小数的位数大于等于5
时,Python 就会用科学计数法
来表示:
>>> 0.001
0.001
>>> -0.001
-0.001
>>> 0.00001
1e-05 # 科学计数法
>>> type(0.001), type(-0.001), type(0.00001)
(<class 'float'>, <class 'float'>, <class 'float'>)
复数
复数由实数部分
和虚数部分
构成。
在Python 中可以用a + bj
或者complex(a, b)
来表示复数,a
为实部,b
为虚部,a
和 b
都是浮点数
。
例如:
>>> n = -5+4j
>>> n
(-5+4j)
>>> complex(-5, 4)
(-5+4j)
>>> type(n)
<class 'complex'>
6,布尔值
布尔值只有两个,分别是:
-
True
:代表真
-
False
:代表假
>>> type(True), type(False)
(<class 'bool'>, <class 'bool'>)
布尔值经常用在条件判断
中,例如:
if flag:
print('flag is True')
else:
print('flag is False')
7,空值
Python 中的空值
是一个特殊值,只有一个None
值,它的类型是NoneType
:
>>> type(None)
<class 'NoneType'>
空值经常用在变量初始化
和函数返回值
中。
8,关键字del
一个变量被赋值
以后,就是已定义的
,可以被使用。
del
用于删除
一个变量,被删除的变量是未定义的
,将不能再被使用,其内存也会被释放。如下:
>>> a = 1
>>> print(a)
1
>>> del a
>>> print(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined # a 是未定义的
(完。)
推荐阅读:
Python 简明教程 --- 0,前言
Python 简明教程 --- 1,搭建Python 环境
Python 简明教程 --- 2,第一个Python 程序
Python 简明教程 --- 3,Python 基础概念