Python编程:从入门到实践 学习笔记(CHAP1-CHAP5)

学习python的过程中整理出来的一些笔记,把书上知识点和一些代码精简出来了,由于书是外文翻译过来的,有些语句重新用自己的话组织了一下,更符合国人的阅读习惯,看起来更清晰明白,无偿分享给大家一起交流学习。

CHAP 1 配置环境

配置开发环境,按照书上安装即可。编辑器我用的和书上不太一样,用的是Pycharm,代码清晰,用着也很顺手。各个编辑器基本大同小异,挑自己用的顺手的就行。

CHAP 2 变量和简单数据类型

字符串:用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号

以首字母大写的方式显示每个单词:title()
字符串改为全部大写:upper()
字符串改为全部小写:lower()
如:

name = "Ada Lovelace"
print(name.title())
print(name.upper())
print(name.lower())

合并(拼接)字符串:"+"

删除空白
剔除字符串开头的空白:lstrip()
剔除字符串末尾的空白:rstrip()
同时剔除字符串两端的空白:strip()

注:这种删除只是暂时的,接下来再次询问favorite_language 的值时,你会发现这个字符串与输入时一样,依然包含多余的空白。
要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量。

>>> favorite_language = 'python '>>> favorite_language = favorite_language.rstrip()
>>> favorite_language
'python'

使用函数str() 避免类型错误:可调用函数str() ,它让Python将非字符串值表示为字符串

注释:在Python中,注释用井号(# )标识

CHAP 3 列表

列表:在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。
如:

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
输出:
['trek', 'cannondale', 'redline', 'specialized']

索引指定为-1 ,可让Python返回最后一个列表元素,索引-2 返回倒数第二个列表元素,索引-3 返回倒数第三个列表元素,以此类推。
bicycle[-1]…

添加元素:
在列表末尾添加元素:方法append() 如:motorcycles.append('ducati')
在列表的任何位置添加新元素:insert() 如:motorcycles.insert(0, 'ducati')

删除元素:
1.使用del 可删除任何位置处的列表元素: 如:
del motorcycles[0]
2.使用pop() 来删除列表中任何位置的元素,并返回被删除的元素的值:popped_motorcycle = motorcycles.pop() 【( )内为空默认删除最后一个元素】
3.根据值删除元素 使用方法remove() 如:motorcycles.remove(‘ducati’)
注意:方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

组织列表(排序)
使用方法sort() 对列表进行永久性排序:

1.永久性地修改了列表元素的排列顺序,按字母顺序排列:方法sort() 如:cars.sort()

2.按与字母顺序相反的顺序排列:向sort() 方法传递参数reverse=True 如:cars.sort(reverse=True)

使用函数sorted() 对列表进行临时排序:

按特定顺序显示列表元素,但不影响它们在列表中的原始排列顺序:可使用函数sorted() 如:print(sorted(cars))

按与字母顺序相反的顺序显示列表:向函数sorted() 传递参数reverse=True 如:print(sorted(cars,reverse=True))

反转列表元素的排列顺序:方法reverse() 如:cars.reverse()
确定列表的长度:函数len() 如:len(cars)

注意:Python计算列表元素数时从1开始,因此确定列表长度时,一般不会遇到差一错误。

CHAP 4 对列表进行操作

1、遍历整个列表:可使用Python中的for循环
如:

magicians = ['alice', 'david', 'carolina'] 
for magician in magicians:    # 注意不要遗漏冒号
    print(magician)

注:每个缩进的代码行都是循环的一部分,在for循环后面,没有缩进的代码都只执行一次

2、函数range() :能够轻松地生成一系列的数字
如:

for value in range(1,5):
    print(value)
输出:
1
2
3
4

注意:python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值

3、使用range() 创建数字列表:
可使用函数list() 将range() 的结果直接转换为列表,如果将range() 作为list() 的参数,输出将为一个数字列表。
如:

numbers = list(range(1,6))
print(numbers)
输出:
[1, 2, 3, 4, 5]

使用函数range() 时,还可指定步长。

even_numbers = list(range(2,11,2))
print(even_numbers)
输出:[2, 4, 6, 8, 10]

4、创建一个列表,其中包含前10个整数(即1~10)的平方:

squares = []
for value in range(1,11): 
    squares.append(value**2)
print(squares)
输出:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表解析:

squares = [value**2 for value in range(1,11)]
print(squares)         
#以上两段代码结果相同

首先指定一个描述性的列表名【squares】,并定义一个表达式【value2】,用于生成要存储到列表中的值,
接下来,编写一个for 循环【for value in range(1,11) 】,用于给表达式提供值。
在这个示例中,for循环为for value in range(1,11),它将值1~10提供给表达式value
2 。
请注意,这里的for 语句末尾没有冒号。

5、找出数字列表的最大值、最小值和总和:

>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits):   最大值
0
>>> max(digits):   最小值
9
>>> sum(digits):   求总和
45

6、切片:处理列表的部分元素
可指定要使用的第一个元素和最后一个元素的索引
如:

players = ['charles', 'martina', 'michael', 'florence', 'eli'] 
print(players[0:3])    //指定索引0~3,这将输出分别为012 的元素。 
输出:  
['charles', 'martina', 'michael'] 

注意:与函数range() 一样,Python在到达指定的第二个索引前面的元素后停止。

若没有指定第一个索引,Python将自动从列表开头开始
如:print(players[:4])

要让切片终止于列表末尾,可省略终止索引
如:print(players[2:])

负数索引返回离列表末尾相应距离的元素,因此可以输出列表末尾的任何切片。
如:print(players[-3:])

7、遍历列表的部分元素:可在for 循环中使用切片
如:

players = ['charles', 'martina', 'michael', 'florence', 'eli']
for player in players[:3]:
    print(player.title())
输出:
Charles
Martina
Michael

8、复制列表:同时省略起始索引和终止索引([:])
如:

my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]

9、元组:不可变的列表 //使用圆括号来标识,定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
如:

dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])

注:如果要修改元组中元素的值,需重新定义整个元组。

格式设置指南:
1.PEP 8建议每级缩进都使用四个空格
2.在编写代码时应该使用制表符键,但一定要对编辑器进行设置,使其在文档中插入空格而不是制表符。
2.建议使用79字符的标准行长,PEP 8还建议注释的行长都不超过72字符

CHAP 5 If语句

1、If 语句

cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars: 
	if car == 'bmw':
		print(car.upper())
	else:
		print(car.title())
注:if语句中也用缩进量来表示段间逻辑。

2、同时检查多个条件:关键字and和or

>>> age_0 >= 21 and age_1 >= 21
>>> (age_0 >= 21) and (age_1 >= 21)     
#为改善可读性,可将每个测试都分别放在一对括号内

3、判断特定的值包含在列表中:可使用关键字in
如:

>>> requested_toppings = ['mushrooms', 'onions', 'pineapple'] 
>>> 'mushrooms' in requested_toppings
True 
>>> 'pepperoni' in requested_toppings
False

判断特定值不包含在列表中:not in

4、if-elif-else 结构 //可根据需要使用任意数量的elif 代码块
如:

age = 12
if age < 4:
	print("Your admission cost is $0.")
elif age < 18:
	print("Your admission cost is $5.")
else:
	print("Your admission cost is $10.")

注:Python并不要求if-elif 结构后面必须有else 代码块,如果知道最终要测试的条件,应考虑使用一个elif 代码块来代替else 代码块。
如:

age = 12
if age < 4:
	price = 0
elif age < 18:
	price = 5
elif age < 65:
	price = 10 
elif age >= 65:
	price = 5
print("Your admission cost is $" + str(price) + ".")

注:如果只想执行一个代码块,就使用if-elif-else 结构;如果要运行多个代码块,就使用一系列独立的if 语句。

5、确定列表非空

requested_toppings = []
if requested_toppings:  //在运行for 循环前确定列表是否为空很重要
	for requested_topping in requested_toppings:
		print("Adding " + requested_topping + ".")
		print("\nFinished making your pizza!") 
else:
	print("Are you sure you want a plain pizza?")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值