代码视界

Hanpeng Chen的个人博客

Python从小白到攻城狮(2)——数据类型和变量

本文于 985 天之前发表,文中内容可能已经过时。

本系列Python文章基于Python3版本,关于python的安装和配置自行百度,这里不做详细介绍。

接下来将介绍Python基础——数据类型和变量。

数据类型

在Python中,能够直接处理的数据类型有以下几种:

整型

Python中可以处理任意大的整数,包括负整数。
支持二进制(如0b100,换算成十进制是4)、八进制(0o100,换算成十进制是64)、十六进制(0x100,换算成十进制为256)的表示法。

浮点型

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^9和12.3x10^8是完全相等的。
浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。

字符串型

字符串是以单引号 '或双引号"括起来的任意文本,比如’Hello’或”Hello”。字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。

如果字符串内部既包括 ' 又包括 " ,可以用转义字符 \ 来标识。

转义字符可以转义很多字符,比如 \n 表示换行, \t表示制表符,字符\ 本身也要转义,所以\\表示字符就是\。

1
2
3
a = 'I\'m \"OK\"!'   # 表示: I'm "OK"!
print(a)
print('\\\n\\\t\\')

布尔型

布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。

1
2
3
4
5
6
7
8
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False

复数型

形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j。

空值

空值是Python一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。


变量

变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

变量命名

变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头。

变量的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a = 123
b = 14
print(a + b)
print(a - b)

"""
使用input()函数获取键盘输入
使用int()进行类型转换
用占位符格式化输出的字符串
"""
a = int(input('a = '))
b = int(input('b = '))
print('%d * %d = %d' % (a, b, a * b))
print('%d / %d = %f' % (a, b, a / b))
print('%d // %d = %d' % (a, b, a // b))


"""
使用type()检查变量的类型
"""
a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))

在对变量类型进行转换时可以使用Python的内置函数(准确的说下面列出的并不是真正意义上的函数,而是后面我们要讲到的创建对象的构造方法)。

  • int():将一个数值或字符串转换成整数,可以指定进制。
  • float():将一个字符串转换成浮点数。
  • str():将指定的对象转换成字符串形式,可以指定编码。
  • chr():将整数转换成该编码对应的字符串(一个字符)。
  • ord():将字符串(一个字符)转换成对应的编码(整数)。

运算符

Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,我们会陆续使用到它们。

运算符 描述
[] [:] 下标,切片
** 指数
~ + - 按位取反, 正负号
* / % // 乘,除,模,整除
+ - 加,减
>> << 右移,左移
& 按位与
^ | 按位异或,按位或
<= < > >= 小于等于,小于,大于,大于等于
== != 等于,不等于
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
= += -= *= /= %= //= **= &= |= ^= >>= <<= (复合)赋值运算符

说明: 在实际开发中,如果搞不清楚运算符的优先级,可以使用括号来确保运算的执行顺序。

运算符的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
"""
运算符的使用
"""

a = 5
b = 10
c = 3
d = 4
e = 5
a += b
a -= c
a *= d
a /= e
print("a = ", a)

flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not flag1
print("flag1 = ", flag1)
print("flag2 = ", flag2)
print("flag3 = ", flag3)
print("flag4 = ", flag4)
print("flag5 = ", flag5)
print(flag1 is True)
print(flag2 is not False)
欢迎关注微信公众号: 『前端极客技术』『代码视界』
支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励