数据类型
数字 (Number)
整型 (Integer)
整型 (Integer) 是表示整数的类型,类型名为int
。
变量,是储存数据的抽象概念。用等号=
给变量赋值,Python允许同时给多个变量赋值。
变量的名字叫做变量名,变量名不能是Python保留字 (print, for … ) 。
变量的值在程序运行时可以被修改。
>>> a = 10
>>> b, c = 1, 5 # 同时给两个变量赋值
>>> d = b + c
>>> print(a, b, c, d)
10 1 5 6
>>> a = int(1.6) # 修改a的值,int(1.6)把1.6转换为整型(向下取整)
>>> print(a)
1
>>> type(a)
<class 'int'>
当你把整数字面量赋给一个变量时,变量的类型就为int
。
合理使用空格,能增加程序的易读性。
print(a, b, c, d)
和d = b + c
就比print(a,b,c,d)
和d=b+c
便于人类阅读。在编程时,要注意程序的易读性。这对将来对代码的理解和维护都是有益的。
浮点型 (Float)
浮点型 (Float) 是表示小数的类型,类型名为float
。当你把浮点数赋给一个变量时,就创建了一个浮点型对象。
>>> GPA = 3.2
>>> tmp = 28.6
>>> print(GPA, tmp)
3.2 28.6
>>> type(GPA)
<class 'float'>
布尔型 (Bool)
布尔型 (Bool) 是表示真假的类型,类型名为bool
,只有两种值True
和False
。
>>> is_prime = True
>>> is_even = False
>>> print(is_prime, is_even)
True False
>>> type(is_prime)
<class 'bool'>
浮点型 (Complex)
Python还支持复数,复数由实部和虚部构成,可以用a + bj
或者complex(a, b)
表示, 复数的实部a
和虚部b
都是浮点型。
字符串 (String)
字符串 (String) 是表示文本的数据类型,类型名为str
。在Python中,字符串用一对单引号'
,双引号"
或者是三引号'''
"""
括起来。字符串可以用加号+
拼接。
>>> name = 'Monkeyhbd'
>>> hello = "Hello, I'm" # 文本中有单引号就用双引号括起来
>>> print(hello + ' ' + name) # 打印三个字符串的拼接
Hello, I'm Monkeyhbd
反斜杠\
可以转义特殊字符,如果不想让反斜杠发生转义,可以在字符串前面添加一个r
,表示自然字符串
>>> print('Mo\nkeyhbd')
Mo
keyhbd
>>> print(r'Mo\nkeyhbd')
Mo\nkeyhbd
在上面的例子中\n
表示换行。
字符串可以通过下标索引来访问或切片,字符串的第一个字符的索引(下标)为0
。下面的图说明了怎样使用字符串索引
-9 -8 -7 -6 -5 -4 -3 -2 -1 (0)
+---+---+---+---+---+---+---+---+---+
| M | o | n | k | e | y | h | b | d |
+---+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 8 9
name = 'Monkeyhbd'
print(name[0]) # 从前往后索引
print(name[3])
print(name[-1]) # 从后往前索引
print(name[3: 6]) # 字符串切片
print(name[: -3]) # 从开始一直到倒数第三个字符的切片
print(name[: 2] + name[3: 6]) # 字符串拼接
运行结果
M
k
d
key
Monkey
Mokey
列表 (List)
列表是包含各种对象的序列,类型名为list
。在Python中,列表用一对中括号[]
括起来,列表内的对象叫元素,元素和元素间用逗号,
分隔。列表中的对象可以为不同类型。列表也可以包含(嵌套)列表。
和字符串类似,列表的第一个元素的索引为0
,倒数第一个元素的索引为-1
。列表也可以切片、拼接。
box = [100, 'Red', 'Blue', 5]
print(box)
print(box[0]) # 访问
print(box[-2])
print(box[1: -1]) # 切片
print(box + box) # 拼接
运行结果
[100, 'Red', 'Blue', 5]
100
Blue
['Red', 'Blue']
[100, 'Red', 'Blue', 5, 100, 'Red', 'Blue', 5]
列表是可以更新的,通过索引可以访问或修改元素的值,也可以用append
方法向列表尾部追加元素。pop
方法可以删除列表最后一个元素(并返回所删除元素的值)。
students = ['monkeyhbd', 'Liclout', 'Dijkstra']
print(students)
students[0] = 'Monkeyhbd' # 修改元素的值
print(students)
students.append('Linus') # 追加元素
print(students)
students.pop() # 删除元素
print(students)
运行结果
['monkeyhbd', 'Liclout', 'Dijkstra']
['Monkeyhbd', 'Liclout', 'Dijkstra']
['Monkeyhbd', 'Liclout', 'Dijkstra', 'Linus']
['Monkeyhbd', 'Liclout', 'Dijkstra']
运算符
算术运算符
运算符 | 描述 |
---|---|
+ |
两个数字相加,或者字符串和列表的连接 |
- |
两个数字相减 |
* |
两个数字相乘,或者字符串和列表的重复 |
/ |
两个数字相除 |
% |
取余(取模),返回除法的余数 |
** |
幂运算 |
// |
取整,返回除法的商,向下取整 |
print(1 + 2)
print('Py' + 'thon') # 字符串拼接
print([1, 2] + [3, 4, 5]) # 列表拼接
print(3 - 5)
print(2 * 4)
print('Emm' * 3) # 字符串重复
print(['Tom', 18] * 3) # 列表重复
print(1 / 3)
print(3 ** 2) # 3 ^ 2
print(2 ** 10) # 2 ^ 10
print(5 % 3)
print(5 // 3)
运行结果
3
Python
[1, 2, 3, 4, 5]
-2
8
EmmEmmEmm
['Tom', 18, 'Tom', 18, 'Tom', 18]
0.3333333333333333
9
1024
2
1
赋值运算符
运算符 | 描述 |
---|---|
= |
把等号右边的值(或运算结果)赋给等号左边的变量 |
+= |
a += 2 等价于a = a + 2
|
-= |
a -= 2 等价于a = a - 2
|
*= |
a *= 2 等价于a = a * 2
|
/= |
a /= 2 等价于a = a / 2
|
%= |
a %= 2 等价于a = a % 2
|
**= |
a **= 2 等价于a = a ** 2
|
//= |
a //= 2 等价于a = a // 2
|
a = 1
print(a)
a += 2
print(a)
a -= 1
print(a)
a *= 2
print(a)
a /= 2
print(a)
word = 'Ha'
word *= 3
print(word)
urls = ['www.baidu.com', 'www.bing.com']
urls += ['gitee.com/monkeyhbd', 'github.com/monkeyhbd']
print(urls)
运行结果
1
3
2
4
2.0
HaHaHa
['www.baidu.com', 'www.bing.com', 'gitee.com/monkeyhbd', 'github.com/monkeyhbd']
比较运算符
比较运算总是返回布尔值True
或False
运算符 | 描述 |
---|---|
== |
左右两边是否相等 |
!= |
左右两边是否不相等 |
> |
左边是否大于右边 |
>= |
左边是否大于等于右边 |
< |
左边是否小于右边 |
<= |
左边是否小于等于右边 |
print(1 == 2)
print('string' == 'string')
print(1 != 2)
print(1 > 2)
print(1 >= 1)
print(1.98 < 2)
print(1 <= 2)
运行结果
False
True
True
False
True
True
True
由于浮点数在计算机中都是近似储存的,所以不要用==
去比较两个浮点数,正确的方法是比较它们的差的绝对值是否小于一个给定的精度。
逻辑运算符
运算符 | 描述 |
---|---|
and |
与运算符,两边都为真时结果为真,否则为假 |
or |
或运算符,有一边为真时结果为真,否则为假 |
not |
非运算符,not True 为False ,not False 为True
|
tmp = 17
if tmp > 10 and tmp < 25: # 可以简写成 10 < tmp < 25
print('气温合适')
运行结果
气温合适