《Python编程:从入门到实践》的学习笔记
看书《Python编程:从入门到实践》的学习笔记
目录
第二部分有三个项目:
- 射击游戏
- 数据可视化
- 创建一个小型web应用程序
第二章 变量和简单数据类型
2.1 变量
- 变量命名规则:不能让数字打头;不能有空格;不能使用关键字为变量名
message = 'hello world!'
print(message)
message = 'hello world agian!'
print(message)
- 当有错误产生的时候,解释器会提供一个traceback。
Traceback (most recent call last):
File "D:\MyDocuments\python\helloworld.py", line 5, in <module>
print(mesage)
NameError: name 'mesage' is not defined. Did you mean: 'message'?
2.2 字符串
用括号引起来的就是字符串,单引号、双引号都可以
"this is a string"
'this is a string'
修改字符串大小写
animal = "ada'S dog"
print(animal.title()) #这是将首字母大写,Ada'S Dog
print(animal.upper()) #所有字母大写,ADA'S DOG
print(animal.lower()) #所有字母小写,ada's dog
存储数据时,lower()很有用,可以全转换成小写再存储。以后需要显示时,再切换成合适的大小写方式。
合并拼接字符串
使用+
即可,下方运行结果为:Hello,Tony Stark!
first_name = 'tony'
last_name = 'stark'
message = 'hello,' + first_name +' ' + last_name + '!'
print(message.title())
使用制表符或换行符来添加空白
制表符为\t
,换行符为\n
print('languages:\n\tC\n\tjava\n\tpython')
结果为:
languages:
C
java
python
删除空白,用方法
rstrip()
,剔除末尾空白
favorite_laguage = 'python '
print(favorite_laguage)
favorite_laguage = favorite_laguage.rstrip()
print(favorite_laguage)
lstrip()
剔除字符串开头的空白;strip()
剔除两端的空白
2.3 数字
**
表示乘方。- 使用
str()
函数避免类型出错。 - Python2中的
/
除法是直接删除小数位,不是四舍五入;Python3的除法/
则会保留小数。
2.4 注释
用#单行;用""" """多行注释
第三章 列表简介
3.1 列表是什么
有序集合,用
[]
来表示
- 可以使用索引来确定元素,索引从0开始。
- 索引-1表示列表中最后一个元素,-2表示倒数第二个元素,以此类推。
- 可以像使用其他变量一样使用列表元素。
animals = ['rabbit', 'cat', 'lion']
print(animals[0].title()) # 结果输出Rabbit
print(animals[-1]) # 结果输出为lion
message = 'My favorite animal is '+ animals[1] + '.'
print(message) # My favorite animal is cat.
3.2 修改、添加和删除元素
修改
# 修改:可以修改任何一个元素的值,不只是第一个
animals = ['rabbit', 'cat', 'lion']
print(animals)
animals[0] = 'dog'
print(animals) # 会发现第一个元素从 'rabbit' 变成了 'dog'
添加
# 添加
animals = ['rabbit', 'cat', 'lion']
animals.append('dog') # 在末尾插入 'dog'
animals.insert(1, 'tiger') # 在索引位置1处插入 'tiger'
print(animals)
删除
# 删除
animals = ['rabbit', 'cat', 'lion']
# del animals[1] # 删除指定位置的元素
# animals.pop() # 弹出末尾的元素
# animals.pop(0) # 可以弹出任何一个位置的元素
animals.remove('cat') # 根据值删除元素
print(animals)
remove() 只删除第一个指定的值,如果有多个重复值,需要循环判断。
3.3 组织列表
用sort()进行排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
# cars.sort() # 排序
cars.sort(reverse=True) # 反向排序
print(cars)
用sorted()进行临时排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(sorted(cars)) # 临时排序
print(sorted(cars, reverse=True)) # 临时反向排序
翻转列表reverse()
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.reverse()
print(cars)
确定列表长度len()
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(len(cars))
第四章 如何操作列表
4.1 遍历整个列表
cars = ['bmw', 'audi', 'toyota', 'subaru']
for x in cars: # 循环变量也可以写成 _
print(x) # 循环遍历,print里面可以写成任何格式
4.2 避免缩进错误
4.3 创建数值列表
列表非常适合存储数字集合
使用range()函数,并创建列表
for x in range(1, 9):
print(x) # 循环打印数字1-8
# 打范围为2-10的,印步长为2的列表
even_number = list(range(2, 11, 2))
print(even_number)
对数字列表执行简单的统计运算
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))
print(max(digits))
print(sum(digits))
列表解析:将for循环和创建新元素的代码合并成一行,并自动附加新元素
squars = [value**2 for value in range(1, 11)]
print(squars)
4.4 使用列表的一部分
切片
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(digits[1:4]) # 输出索引为1-3的元素
print((digits[:4])) # 输出索引从头到3的元素
print(digits[2:]) # 输出索引从2到结尾的元素
print(digits[-3:]) # 输出后三个元素
复制列表
my_food = ['pizza', 'ice cream', 'cake']
friend_food = my_food[:] # 创建一个副本列表,就变成两个列表
friend_food2 = my_food # 两个变量名指向的是同一个列表,非两个列表
4.5 元组
不可变的列表称为元组,用
()
来表示。可以通过索引来访问元素,就像访问列表一样
dimensions = (60, 50) # 长方形的长宽
print(dimensions[0], dimensions[1]) # 输出长宽
# 如果修改会报错:TypeError: 'tuple' object does not support item assignment
dimensions[0] = 20
遍历元组
dimensions = (60, 50) # 长方形的长宽
for x in dimensions:
print(x)
修改元组变量。虽然不能修改元组的元素,但是可以给存储元组的变量重新赋值(全都改了)
dimensions = (60, 50) # 长方形的长宽
print('original size:')
for x in dimensions:
print(x)
change1 = (400, 300)
dimensions = change1
print('modified size:')
for x in dimensions:
print(x)
4.6 设置代码格式
- 缩进:每级缩进都用四个空格,最好不要混合制表符和空格。
- 行长:建议每行不超过80个字符。
- 空行:不同部分分开可以使用空行。
第五章 if语句
5.1 示例
只将bmw全大写输出,其余的首字母大写输出
cars = ['bmw', 'audi', 'toyota', 'subaru']
for x in cars:
if x == 'bmw':
print(x.upper())
else:
print(x.title())
5.2 条件测试
- 检查是否相等,且区分大小写。
- 检查特定的值是否包含在列表中,用
in
;同理,检查不包含用not in
。
cars = ['bmw', 'audi', 'toyota', 'subaru']
print('audi' in cars)
5.3 if语句
可以用if
,if-else
,if-elif-else
;也可以没有else,防止恶意数据混入;也可以使用多个if测试多个条件。
5.4 使用if语句处理列表
检查特殊元素,也可以检查列表是否为空-->将列表变量名当做判断条件:
test = []
if test: # 判断列表是否为空
...