《Python编程:从入门到实践》的学习笔记

看书《Python编程:从入门到实践》的学习笔记

目录

202207291600259

第二部分有三个项目

  • 射击游戏
  • 数据可视化
  • 创建一个小型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 数字

  1. **表示乘方。
  2. 使用str()函数避免类型出错。
  3. Python2中的/除法是直接删除小数位,不是四舍五入;Python3的除法/则会保留小数。

2.4 注释

用#单行;用""" """多行注释

第三章 列表简介

3.1 列表是什么

有序集合,用[]来表示

  1. 可以使用索引来确定元素,索引从0开始。
  2. 索引-1表示列表中最后一个元素,-2表示倒数第二个元素,以此类推。
  3. 可以像使用其他变量一样使用列表元素。
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语句

可以用ifif-elseif-elif-else;也可以没有else,防止恶意数据混入;也可以使用多个if测试多个条件。

5.4 使用if语句处理列表

检查特殊元素,也可以检查列表是否为空-->将列表变量名当做判断条件:

test = []
if test:    # 判断列表是否为空
    ...
posted @ 2022-08-04 18:04  mi4444ta  阅读(57)  评论(0编辑  收藏  举报