整型 (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
。当你把浮点数赋给一个变量时,就创建了一个浮点型对象。
>>> GPA = 3.2 >>> tmp = 28.6 >>> print(GPA, tmp) 3.2 28.6 >>> type(GPA) <class 'float'>
布尔型 (Bool) 是表示真假的类型,类型名为bool
,只有两种值True
和False
。
>>> is_prime = True >>> is_even = False >>> print(is_prime, is_even) True False >>> type(is_prime) <class 'bool'>
Python还支持复数,复数由实部和虚部构成,可以用a + bj
或者complex(a, b)
表示, 复数的实部a
和虚部b
都是浮点型。
字符串 (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
。在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('气温合适')
运行结果
气温合适