第一章 起步
略
第二章 变量和简单的数据类型
2.2 变量
2.2.1 变量的命名
- 变量名不能是数字开头
- 变量名能用小写字母就用小写字母,大写字母有特殊含义
2.2.3 变量是标签
变量是可以被赋值的标签,也可以说变量指向特定的值
2.3 字符串(string)
- 用引号(单引号或者双引号均可)引起的都是字符串
2.3.1 使用“方法”修改字符串的大小写
- 方法:python可对数据执行的操作,格式:变量名.方法名()。其中“()”是必须的用来表示方法中的额外信息,但有的方法函数不需要额外信息。
name = "ada lovelace"
print(name.title()) #(1)
print(name.upper()) #(2)
print(name.lower()) #(3)
(1)title() 是每个单词的首字母大写函数
(2)upper() 是字母全大写函数
(3)lower() 是字母全小写函数
2.3.2 在字符串中使用变量
- f字符串。f是format的简写,表示将后面大括号中的变量替换为其值,以此来规范格式
first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
message = f"Hello! {full_name.title()}!"
print(message)
注意:f要在引号的外面
2.3.3 使用制表符或换行符来添加空白
- 制表符:\t
- 换行符:\n
2.3.4 删除空白
a = "python "
b = " python"
c = " python "
a = a.rstrip() #(1)
b = b.lstrip() #(2)
c = c.strip() #(3)
print(a)
print(b)
print(c)
(1)rstrip() 删除右侧空白
(2)lstrip() 删除左侧空白
(3)strip() 删除两侧空白
2.3.5 删除前缀
- 通过removeprefix函数删除字符串的前面的几个字符
- 一般可以应用于删除地址字符前的“https://”
- 如果你输入的前缀不正确或者不是从第一个字母开始的连续字符,程序不会对这个变量的内容作修改,仍会输出原本的内容
url = "https://baidu.com"
url = url.removeprefix("https://")
print(url)
2.4 数(number)
2.4.1 整数(integer)
- 包含四则运算,值得注意的是乘法符号为*,除法符号为/
- 乘方运算符号为**,例如3**2表示3的2次方
- 运算律与数学中的运算律是相同的
2.4.2 浮点数(float)
- 浮点数指得是小数点可出现在数的任何位置上的数,就是通常我们理解的小数
- 浮点数的运算规则和运算律和数学中的相同,没有特殊区别
- 对于有些浮点数的计算可能结果会输出很多多余的位数,目前可以不用担心,之后会学习原因和处理方法
2.4.3 整数和浮点数
- 两个整数相除即使得到的是整数结果也为浮点数
- 无论哪种运算,只要操作数中有浮点数,默认得到的结果就是浮点数,即使原本的结果为整数
2.4.4 数中的下划线
- 在书写很大的数的时候可以使用下划线将其分组,而在打印的时候不会打印出来这些数字中的下划线,只是为了方便阅读代码
2.4.5 同时给多个变量赋值
- 可以在一行内给多个变量赋值,有效的简化代码
x, y, z = 0, 1, 2
用上述代码就可以在一行内分别给x y z赋值为0 1 2
2.4.6 常量
- Python中本身没有内置的常量,但是可以通过变量名称全大写的方法,创建一个常量
PI = 3.1415926
2.4.7 注释(comment)
- 注释用#表示,也就是说#后面的内容会被python忽略,只是给程序员的提示作用
第三章 列表简介
3.1 列表是什么(list)
- 列表由一系列按特定顺序排列的元素组成,列表元素可以是任何类型的也可以是很多个的
- 用[]表示列表,元素之间用逗号连接
- 直接打印列表会将其中的所有内容打印出来包括方括号和逗号等
3.1.1 访问列表元素
- 要访问列表元素我们只需要告诉程序我们想要访问的元素的位置(索引),格式就是列表名+[索引]
3.1.2 索引从0而不是1开始
- 索引是从0开始的,这也就意味着如果想要访问列表的第一个元素是"列表名[0]",访问列表的第二个元素是"列表名[1]",以此类推
- 对于列表的最后一个元素可以直接用"列表名[-1]"这样的简便语法,同样的"列表名[-2]"可以返回列表的倒数第二个元素
3.2 修改、添加和删除元素
3.2.1 修改列表元素
- 可以通过"列表名[索引] = 新元素"的方式修改列表中的元素
3.2.2 在列表中添加元素
- 在列表末尾添加元素:列表名.append(要添加的元素),注意append后面用的是小括号
- 在列表中插入元素:列表名.insert(索引,新元素)
motorcycles = ["honda", "yamaha", "suzuki"]
motorcycles.insert(0, "ducati")
print(motorcycles)
3.2.3 从列表中删除元素
- 使用del语句删除元素:需要知道被删除元素的索引,del 列表名[索引],删除后就无法访问了
motorcycles = ["honda", "yamaha", "suzuki"]
del motorcycles[0]
print(motorcycles)
- 使用pop()方法删除元素:如果括号内不加索引,默认会删除列表中最后一个元素,但是这个元素可以接着使用它的值。在如下的事例中假如我们的列表中的摩托车是按购买时间进行存储的,我们想要获取最后一个购买的摩托车并在列表中删除我们就可以用pop方法
motorcycles = ["honda", "yamaha", "suzuki"]
last_owned = motorcycles.pop()
print(motorcycles)
print(last_owned)
- 删除列表中任意位置的元素:用"列表名.pop(索引)"的方法也可以删除任意位置的元素
- 根据值删除元素:如果不知道元素的位置但是知道元素的具体值可以利用"列表名.remove(元素名)"的方法删除元素,remove的效果与pop相似删除后也可以继续使用
3.3 管理列表
3.3.1 使用sort()方法对列表进行永久排序
- 语法:列表名.sort()
- 括号内是空的默认是对列表进行按首字母的顺序排列
- 按首字母顺序相反排列:列表名.sort(reverse = True),注意True首字母一定是大写的
3.3.2 使用sorted()函数对列表进行临时排序
- sorted()函数排列只是临时的,重新调用列表的时候还是原列表
- 语法:sorted(列表名)
3.3.3 reverse()方法反向打印列表
- 语法:列表名.reverse()
- 作用:对整个列表按相反的顺序排列
- 这种修改是永久的,但是如果想恢复只需要再次reverse即可
3.3.4 len()函数确定列表的长度
- 语法:len(列表名)
- 作用:确定列表中有多少个数
第四章 操作列表
4.1 遍历整个列表
4.1.1 深入研究循环
- 遍历整个列表的语法:for 新变量名 in 列表名:
- 一定不要忘了结尾的冒号,并且对于你循环的内容要有缩进
- 下面的代码就是对于列表中魔术师的名字进行遍历并打印出来的代码
magicians = ["alice", "david", "carolina"]
for magician in magicians:
print(magician)
4.1.2 在for循环中执行更多的操作
- 在for循环中,可以对每个元素执行任意操作
- 下面的例子就是向每一位魔术师发送了两条信息
magicians = ["alice", "david", "carolina"]
for magician in magicians:
print(f"{magician.title()}, that was a great trick!")
print(f"I can't wait to see your next trick, {magician.title()}.\n")
4.1.3 在for循环结束后执行一些操作
- 对于要循环的内容我们需要缩进到for循环中,它会多次循环。如果我们在后面加上不缩进的一行代码他就只会执行一次。
- 例如下面的代码(1)和(2)都会执行三次,而(3)只会执行一次
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f"{magician.title()}, that was a great trick!") #(1)
print(f"I can't wait to see your next trick, {magician.title()}.\n") #(2)
print("Thank you, everyone. That was a great magic show!") #(3)
4.2 避免缩进错误
略
4.3 创建数值列表
4.3.1 使用range()函数
- 语法1:for value in range(a, b)这样就会打印a到b-1的所有整数
- 语法2:for value in range(a)如果括号内只有一个数默认是从0到a-1
4.3.2 使用range()创建数值列表
- 语法1:列表名 = list(range(a, b))
- 语法2:列表名 = list(range(a, b, c))。括号中的第三个参数是步长,指得是从a开始每个都比前面的值加c并添加到列表中直到达到或超过b。下面的代码就是生成10以内偶数的列表
代码:
even_numbers = list(range(2, 12, 2))
print(even_numbers)
结果:
[2, 4, 6, 8, 10]
- e.g. 生成一个1-10整数的平方的列表
方法一:
squares = []
for value in range(1, 11):
squares.append(values ** 2)
print(squares)
方法二:
squares = list(range(1, 11))
for index in range(10):
squares[index] = squares[index] ** 2
print(squares)
4.3.3 对数值列表执行简单的统计计算
- 最小值函数:min(列表名)
- 最大值函数:max(列表名)
- 求和函数:sum(列表名)
4.3.4 列表推导式(list comprehension)
- 用途:将for循环和创建新元素的代码合并成一行,并自动追加新元素
- 代码:列表名 = [需要对变量进行的操作 for 变量名 in range(a, b)]
e.g. 用列表推导式的方法实现4.3.2中的例子
squares = [value ** 2 for value in range(1, 11)]
print(squares)