python基础1
先安利学习网站
一.Python相关
1.Python前景
爬虫工程师
爬数据分析
Web开发工程师
网页设计(前端)
通过后台处理,返回给前端(后端)
小程序,网站,app等
2.编程语言
1.何为编程语言
编程就是编写程序,程序就是一系列指令,告诉计算机做什么。
编程语言就是我们能让计算机识别的语言。
2.编程语言发展史
机器码: 0 1
二进制 八进制 十进制 十六进制
汇编语言
高级语言
用人类的方式来编写程序
高级语言的老大哥C
Java go python. 都有c的影子
3.Python特点
Python(胶水语言)简单灵活易上手。可配合其他语言使用。可用于游戏开发,系统管理,web应用,web安全,爬虫……
4.Python官网:(卡)
网站以及问题
[官网]https://www.python.org/downloads/
验证是否安装成功: cmd里输入python出现版本则成功
为什么要加入环境变量呢?为了让计算机知道Python的位置
如何卸载干净?打开控制面板——_卸载程序_找到卸载程序——卸载二.输入 &输出
所有符号英文状态。必须有双引号
1.输入input(“系统提示内容”)
input (“系统提示的内容”)#input是提示用户输入什么的
input ()#获取你键盘输入的数据
input (“请输入电话号:”)#程序运行后会暂停等待你回车,继续执行2.输出print(“输出内容”)
怎么输出引号?
三.注释
给程序做批注的,不会显示到程序中去
不想打印时可用
- 单行注释
1
2
3
4
5# 2022年10月19号
# 作者:bucacg
# 注释的demo
input("请输入你的名字:")
print("注释")多行注释
1
2
3
4
5
6
7
8
9
10"""
三对引号内多行注释的内容,都不会对程序造成影响,
但必须英文状态下的三对符号
"""
"""
2022年10月19号
作者:bucacg
注释的demo
"""
四.开发模式
1.命令行模式(交互模式)
- win + r 输入cmd ,打开黑窗口 》》 输入 Python 》》 这就是命令行模式
2.文本模式(脚本模式)idle可打开
- new file 新建 open file来修改,
- 鼠标右键新建文本txt— 编写Python代码–修改文件名的后缀 为 .py
- 两者区别:
- 命令行不能长期保存代码 ,不太好进行 修改, 好处就是方便我们测试一些模块的简单使用,以及快速打印变量的值
- 文本的就能够长期保存我们的代码 下次修改 也是比较方便, 我们一般开发也是基于文本模式
五.数据类型与变量
何为变量
输出变量不需要引号
目的:计算两个数的和
场景:我们去超市购物,用菜篮来装东西(肉,菜,调味品)购物结束,需要去结算金额
1
2
3
4
5
6# a 表示青菜 价格
# b 表示肉 价格
a = 12 # a 存放了 数据 12
b = 32
result = a+b
print("最后结果为", a+b)小结:
- 变量就是一个容器可以是菜篮子,存储各种数据,也可以存储一个数据
- 程序用来处理数据的,变量则是用来存储数据的
数据类型
1
2
3
4
5
6
7
8- int (整形) 123 10000
- float (浮点数) 3.14
- bool 布尔类型 True 真 False 假
- str(字符串) "引号里的就是字符串"
- tuple(元组)
- dict(字典)
- list(列表)
- set(集合)怎样知道一个变量的类型呢
type(变量名) 会返回变量的类型
在Python中,只要我们自己定义好变量后,解释器就会自动识别他的一个类型 ,不需要我们自动说明
type一次只能查看一个数据类型
int整形
人数,日期,牙齿的数量,
声明方式
1
2
3
4变量名 = 整数值
a = 12
b = 32
d,f,e = 23,22222223,5662float 浮点型
金钱,身高,体重,圆周率
声明方式
1
2
3
4
5变量名 = 浮点数
num1 = 3.14
height = 1.78
print(height)
print(type(height))注意:
浮点类型的计算是不精准的,两个浮点值运算,可能会丢失精度(带小数点的十进制数据,转为二进制数据的时候会丢失) 0.3 -0.2 不等于0.1
bool 类型
生活的 真 与 假
1
2
3
4变量名 = 布尔值
flag = True
lose = False1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
注意:
- 首字母必须要大写,
- 布尔类型,也可以是数值, 并且运算,True = 1 False = 0
## 五.标识符与关键字
### 什么是标识符
![1655048857217](D:/02%E5%8F%98%E9%87%8F%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.assets/1655048857217.png)
### 标识符规则
- 标识符由字母、下划线和数字组成,且数字不能开头
```python
fromNo12 #True
from#12 #False
my_Boolean #True
my-Boolean #False
Obj2 #True
2ndObj #False
myInt #True
test1 #True
Mike2jack #True
My_tExt #True
_test #True
test!32 #True
haha(da)tt #False
int # int 类型标识符 不要与Python解释器的重复,会产生冲突 #False
jack_roseint #True
jack&rose #False
GUI #False
G.U.I #FalsePython 标识符是区分大小写
1
Andy != andy
命名规则
见面知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student
驼峰命名法
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
下划线命名法
还有一种命名法是用下划线“_”来连接所有的单词,比如
send_buf
、save_img
,小结:
- 推荐使用下划线的命名法来定义变量名
- 不要与关键字重名
关键字
1
2
3
4and as assert break class continue def del
elif else except exec finally for from global
if in import is lambda not or pass
print raise return try while with yield- 通过Python shell 来查看关键字
1
2import keyword
keyword.kwlist或者
1
help('keywords')
小结:
- 关键字的学习以及使用,咱们会在后面的课程中依一一进行学习。
- 关键字不需要同学们进行记忆,大家只要经常使用,就会记住了
- 变量名也不要与关键字重名
六.运算符
提到运算符,我想大家首先想到的就是加、减、乘、除之类,但python可以进行的运算有很多种,可不只加减乘除这么简单 ,我们写代码时常见的运算符有以下几种
1.算术运算符
下面以a=10 ,b=20为例进行计算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
注意:混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运算符优先级。
并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
2.赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
1 | # 单个变量赋值 |
复合赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c **a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
作业
1 | 1.用变量存储我们生活中的数值信息,并输出 |
巩固博客
- http://c.biancheng.net/view/2171.html
- 前期不建议你们使用pycharm , 为什么, 因为他会自动提示, 补全代码
- idle,方便练习代码
- pycharm 熟悉了再用
七.序列类型
字符串
用来存储描述性质的数据,eg:姓名,地址。自我介绍等。字符串是一个有序的集合
1 | a = 10000 # 什么类型 int |
字符串类型
1 | str01 = "hello world" # str |
三引号的使用:可以用来注释,也可以用来包裹一些常用的字符串
1 | # 一般都用来包裹 长的字符串 |
小结:
- 双引号或者单引号中的数据,就是字符串
- 不能单双混合
- 不能出现多对引号 print(‘我说:’晚上好’’) # 里面两对引号都是单引号
下标和切片
“下标” 就是编号,就比如超市的存储柜的编号,通过编号就能找到相应的存储空间
生活中的“下标”
- 超市的存储柜
- 高铁座位
字符串,列表,元组都支持下标索引, 字符串 实际上就是字符的数据集合, 索引支持的下标索引
切片:就是取出一部分 ,切出一部分数据,
1 | # 语法 |
总结
- 下标 是从0开始 且不能越界(报错)
- 切片 只包含 起始位置,不包含 结束位置,(取头不取尾)
- 切片 空着不写,默认是全部取出
- 步长 常用于逆序输出 [::-1]
列表
在实际开发中,经常需要将多个数据存储起来,以便后边的代码使用。列表list
,是一个有序且可变的容器,在里面可以存放多个不同类型的元素。
列表会将所有数据都放在一对中括号[ ]
里面,相邻数据之间用逗号,
分隔
1 | # 语法 |
小结:
虽然可以将不同类型的数据放入到同一个列表中,但通常情况下不这么做,同一列表中只放入同一类型的数据,这样可以提高程序的可读性。
元组(tuple)
元组(tuple),是一个有序且不可变的容器,在里面可以存放多个不同类型的元素。
元组的表现形式为用()小括号包裹起来的数据,里面的数据用逗号,隔开
但是在()里面仅仅只有一个数据时为int类型,,除非数字后面加个逗号就是元组。
1 | # 语法 |
小结:
元组的用法和列表基本类似,有两个不同之处:
1.元组用小括号,列表用中括号2.元组里面的数据,是不可以改变的,如果修改就得重新赋值(字符串也是不可变类型)
- tuple类型 –> 就算元组里面只有一个数据,也要加个逗号.否则不会被认为是元组
如果你要保存的数据,可能会修改 –> 列表来保存
如果你要保存的数据,不会修改 –> 元组来保存
序列类型特点:
- 能存储多个数据
- 内部数据有序
- 能通过下标获取
- 通过切片切割
- 字符串和元组不能修改,列表可以。
数据类型转换
为了满足我们需求 需要 把一些数据,转换为别的类型
1 | # int(数据) --> 把数据转为整形 |
注意:
- input输入,得到的数据,默认是str类型.有些时候需要存储数字类型 则 int/float 进行类型转换,
- 比如以上的age 变量,年龄大家 一般都存为数字,
1 | age = int(input('输入年龄')) # 把得到的数据转换为整形再赋值给age str为int型 |
转义字符
一些特殊意思的字符!!比如 暗号,
编程中,字符串里同样也有特殊意思的字符,,,即转义字符
1 | \n --> 换行 |
作业
1 | 1.定义一个列表,列表中有3种"数值类型",用多种方法获取里面的第二个值 |
1 | #1.定义一个列表,列表中有3种"数值类型",用多种方法获取里面的第二个值 |
分享
八.序列类型的常用方法
上节回顾
- 字符串 str 用单引号或者是双引号包裹的数据就是字符串 不可变类型
- 列表 list 用中括号
[]
包裹的数据就是列表 可变类型 列表里面可以放各种数据 包括元组列表 - 元组 tuple 用小括号
()
包裹的数据就是 元组, 不可变类型, - int也是不可变类型
序列类型的特点
- 下标 门牌号,我们通过下标去拿到数据 都是 以0开始
- 切片,[起始:结束: 步长] 取头不取尾,也就是 [0:5] 实际上 0到4 的数据
初始方法
方法,eg:生活中解决的方法,方案,特定的功能
比如:车出现了问题 方法 1. 去修车厂 维修 方法2 直接买新的,
其实就是, 对数据的增,删,改,查, 在我们一个程序中, 经常对数据进行操作,为了提高我们的开发效率,Python为我们设置一些内置方法,
列表方法
1 | 列表的方法 |
元组方法
1 | num = (1,212,312,1,312,31232112,121,1) |
字符串的方法
1 | # + 拼接字符串 -不允许 |
小结:
split (经常会用到, 并且返回的是列表)
replace ()
这里只是一部分方法,大家也可以课后看看其他的方法https://www.runoob.com/python3/python3-string.html
可变类型与不可变类型
- 字符串,数字,元组都是不可变的,里面的数据是不能改变的,除非你重新赋值
- 字符串 》》》 样品, 产品图,概念图
- 经过 方法 》》 商品,成品
作业
```python
1.用什么方法可以知道字符串的长度- 将输入的字符串反转过来
示例 1:
输入: “hello”
输出: “olleh”
3.将字符串 “abcd” 转成大写
4.计算字符串 “cd” 在 字符串 “abcd”中出现的位置
5.s1 = “Python is good”, 请将字符串里的Python替换成 python,并输出替换后的结果
6.有一个字符串 s2 = “python修炼第一期.html”,请写程序从这个字符串里获得.html前面的部分,要用尽可能多的方式来做这个事情- “this is a book\n”, 字符串的末尾有一个回车符,请将其删除
- “this is a book”,请将字符串里的book替换成apple
- “this is a book”, 请用程序判断该字符串是否以this开头
- “this is a book”, 请用程序判断该字符串是否以apple结尾
- “This IS a book”, 请将字符串里的字符转成小写字符
列表
num_li = [1,2,3,4,5]1.求列表的长度
2.判断6 是否在列表中
3.numli + [6, 7, 8] 的结果是什么?
4.numli*2 的结果是什么
5.列表里元素的最大值是多少
6.列表里元素的最小值是多少
7.列表里所有元素的和是多少
8.在索引1的位置新增一个的元素10
9.在列表的末尾新增一个元素201
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
## 答案
~~~py
# 1.用什么方法可以知道字符串的长度
stu ="kkkiidnxjcgc"
print(len(stu))
"""
2. 将输入的字符串反转过来
示例 1:
输入: "hello"
输出: "olleh"
"""
#str1 = input("请输入hello")
a = "hello"
#print(str1[::-1])
print(a[::-1])
# 3.将字符串 "abcd" 转成大写
b = "abcd"
print(b.upper())
# 4.计算字符串 "cd" 在 字符串 "abcd"中出现的位置
print(b.find("cd"))
print(b.index("cd"))
# 5.s1 = "Python is good", 请将字符串里的Python替换成 python,并输出替换后的结果
s1 = "Python is good"
print(s1.lower())
print(s1.replace("Python","python"))
# 6.有一个字符串 s2 = "python修炼第一期.html",请写程序从这个字符串里获得.html前面的部分,要用尽可能多的方式来做这个事情
s2 = "python修炼第一期.html"
print(s2[:11])
print(s2[:-5])
print(s2.replace(".html",""))
print(s2.split(".")[0])
print(s2.strip(".html"))
# 7. "this is a book\n", 字符串的末尾有一个回车符,请将其删除
s3 ="this is a book\n"
print(s3.strip())
# 8. "this is a book",请将字符串里的book替换成apple
s4 = "this is a book"
print(s4.replace("book","apple"))
# 9. "this is a book", 请用程序判断该字符串是否以this开头
# print(s4.find("this"))
print(s4.startswith("this"))
# 10. "this is a book", 请用程序判断该字符串是否以apple结尾
print(s4.endswith("apple"))
# 11. "This IS a book", 请将字符串里的字符转成小写字符
s5 = "This IS a book"
print(s5.lower())
print("------------------------")
num_li = [1,2,3,4,5]
# 1.求列表的长度
print(len(num_li)) #5
# 2.判断6 是否在列表中
#print(num_li.index("6")) # 没有会报错
print("6" in num_li) # False
print(num_li.count("6")) # 0
# 3.num_li + [6, 7, 8] 的结果是什么?
num_li = [1,2,3,4,5]
#print(num_li + [6, 7, 8]) #[1, 2, 3, 4, 5, 6, 7, 8]
print("---")
#num_li.extend([6,7,8]) #[1, 2, 3, 4, 5, 6, 7, 8]
#print(num_li)
#num_li.append([6,7,8]) #[1, 2, 3, 4, 5, [6, 7, 8]]
#print(num_li)
#num_li.insert(11,[6,7,8]) #[1, 2, 3, 4, 5, [6, 7, 8]]
#print(num_li)
# 4.num_li*2 的结果是什么
print(num_li*2) #[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
# 5.列表里元素的最大值是多少
print(num_li.sort(reverse=True)) #None 因为它是一个没有返回值的方法
print(num_li[0]) #5
print(max(num_li)) #5 # 内置函数 也就是Python自带的
# 6.列表里元素的最小值是多少
print(num_li.sort()) #None
print(num_li[0]) #1
print(min(num_li)) #1
# 7.列表里所有元素的和是多少
print(sum(num_li)) #15
# 8.在索引1的位置新增一个的元素10
print("=========")
num_li.insert(1,10) #[1, 10, 2, 3, 4, 5]
print(num_li)
# 9.在列表的末尾新增一个元素20
print(num_li.append("20")) #None
print(num_li) # [1, 10, 2, 3, 4, 5, '20']
~~~
## 使用typora 做笔记的语法
markdown 语法
[教程](https://www.jianshu.com/p/399e5a3c7cc5)
## 爬虫小案例
安装模块
```python
pip install html5lib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple- 将输入的字符串反转过来
九.格式化输出&字符编码
上节回顾
序列类型的方法
- 列表
- 元组
- 字符串
- 作业讲解
- max() 求最大值
- min() 求最小值
- sum() 求和
格式化输出
从字面意思看,就是按照一定的格式的输出
生活中的,信件的格式,作文的格式,短信的格式等等
1 | 【某团】短信验证码:xxxx |
%操作符 (占位符)
在程序中,看到了%这样的操作符,这就是Python中格式化输出。
注意:int类型可以作为str型,但str不能作为int型。
格式符号 | 转换 |
---|---|
%f | 浮点数 小数 |
%s | 字符串 |
%d | 有符号十进制整数 |
1 | 语法: |
format用法
1 | 语法: |
小结:
format 的占位问题 可以通过下标进行占位 并且数量可以不一致, 也就是不用一一对应
但写下标就得全写,不可以有的写有的没写
f-str 用法
1 | 最简单粗暴的格式化输出方式 |
字符编码
计算机在处理字符的时候,他需要用一本字典进行翻译也就是字符集、字符编码,字典中的字符没有你要显示的字,那输出的就是乱码
那第一套编码Ascll,美国弄出来的,里面没有汉字,那我们想输出的汉字,怎么办,
把汉字编进去,我们自己的编码gb2312 台湾繁体字 big5
目前最流行的字符编码 utf-8 对很多国家的语言文字,收集在一起,所以对其他语言文字,支持比较好,这就是大家都爱用的原因
1 | # ascll对照表 http://c.biancheng.net/c/ascii/ |
编程语言之进阶
编程语言我们可以从不同维度进行分类,高低的维度,翻译的维度
高低的维度:
高级语言:站在人的角度,用人类的字符去编写程序,人类可以理解,而计算机需要通过翻译才能理解
高级:高层,开发者不需要考虑硬件的细节,开发效率可以大大提高,所以说编程语言是高级语言
低级语言:从计算机角度,说计算机能理解的语言
低级:比较贴近底层,硬件,内存等这些东西,需要了解计算的硬件细节,直接控制硬件
按照翻译方式的不同,来区分的,编译型,解释型
解释型:
在程序运行之前,通过解释器对程序进行翻译然后再执行
Python javascript
编译型
在程序运行之前,通过编译器将源码变成计算机能够理解的语言
C语言
demo:
1 | 有一本英文名著 ,我们现在要来读它 |
作业
1 | 1. 代码如下, 那么大家发现 重复输出了 “今天xx号”, 怎么简化程序 |
1 | """ |
扩展
计算机的组成
什么是计算机
计算机俗称”电脑“,我们人类想要它像大脑一样工作,这是我们的最终目标(人工智能) 感兴趣 去看 模仿游戏 黑客帝国为什么要有电脑
就是为了解放人类,让它替我们干活,
计算机的组成
控制器 运算器 存储器 输入 输出计算机的组成可以想象为我们人体的一部分,某一功能或者器官
控制器
作用:是计算机的指挥系统,负责控制计算机所有其他组件如何工作的#(下命令)
类比:控制器 ==》大脑运算器
作用:数学运算(加减乘除)与逻辑运算(判断)#(思考)
类比:控制器==》大脑控制器+运算器==》CPU ==》人类的大脑
#串联:点外卖:记忆 走路:大脑控制手脚 手脚动起来:控制器 老板说够了吗?找多少钱?数学计算:运算器存储器/IO设备
作用:是计算机的记忆功能,负责数据的存取
分类:
#存取的例子:例如叫别人带东西,别人记住即为存,然后别人告诉商家的东西名即为取。
内存(基于电工作):存取数据都快,断电数据丢失,只能临时存取数据#(临时记忆)
外存(硬盘,基于磁工作):存取速度都慢,断电数据也不丢,可以永久保存数据#(跟用笔记和字条记起来一样的永久保存的记忆)
类比:
内存===》人类的大脑的记忆功能
外存===》人的笔记本
数据真的要用,一定是先从硬盘放到内存中来,内存交给CPU#老板发布任务 任务的内容就是数据比如,叫你扫地啊,端茶啊,这是不是数据,如果老板发的任务很多,我们会先记起来(字条,永久存储数据,例如外存,内存:记忆功能,记住发布的任务,要做什么什么,自己一个人念念念,念得过程肯定是先到大脑,然后让大脑念出来)输入input设备:
如键盘,鼠标输出output设备
显示器 打印机```python
例子:
cpu是人的大脑,负责控制全身和运算
内存是人的记忆,负责临时存储
硬盘是人的笔记本,负责永久存储
输入设备是耳朵或眼睛或嘴巴,负责接收外部的信息存入内存
输出设备是你的脸部(表情)或者屁股,负责经过处理后输出的结果
以上所有的设备都通过总线连接,总线相当于人的神经(电线=人的神经)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
- 与运行程序相关的三大核心硬件#(与所有核心运算都挂上关系) 我们编写的程序一定是要运行于计算机硬件之上,而站在硬件的角度,与运行程序有关的三大核心硬件为 CPU、内存、硬盘 程序最先是存放于硬盘中的,程序的运行是先从硬盘把代码加载到内存中,然后cpu从内存中读取指令运行
- 程序比喻为 行为让小狗去捡球 捡球就是一件事情,捡球是发生在小狗身上的,
### cpu 知识
- pc 主流 CPU这里我们分为 英特尔 和 amd
- 英特尔
- > 人人皆知,一直在挤牙膏,提升的不是很多,导致买新的CPU,还是去年的CPU,差距不是很大
>
> i9 --> i7 --> i5 -->i3 --> 奔腾 --> 赛扬 AMD(锐龙)
- AMD
- > 这几年经过苏妈( 苏姿丰 )的领导,对性能的释放以及版本性能提升都比 起Intel亮眼很多.所以有个梗 AMD YES!(表示对AMD产品的认可)
- ![1666360980852](D:/05格式化输出/%E6%A0%BC%E5%BC%8F%E5%8C%96%E8%BE%93%E5%87%BA%E4%B8%8E%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81.assets/1666360980852.png)
购买参考指标:
``主频,缓存,多级缓存,核数,线程数
``常见故障:
``CPU温度过高导致死机,重启.(天气,散热老化,长时间运行,超频) --> 清灰或换散热器
``型号解析:
```python
``i7-12875H --> i7表示的是架构版本
``12表示的是第十二代
``875表示性能指数
``H表示标压处理器(性能较强,续航较弱)
``R5-6600U --> R5表示的是架构版本
``6代表第六世代
``600表示性能指数
``U代表低压处理器(性能较弱,续航较强)
1 | CPU会分为 好几个架构: |
1 | ``tips: |
硬盘知识
1 | ``硬盘主要用作于存储数据.,负责永久性数据存储,速度相较于CPU慢 |
内存条
1 | ``这里的内存指的是"运行内存",也是用于存储数据,主要存储临时数据,关机后清空,相较硬盘,存储速度更快. |
十.复习拓展
pycharm安装
1 | ide: 集成开发环境 --> 有很多家伙的作案工具 |
复习 & 如何做笔记
print / input 输出 / 输入
1 | print("小星星") # 人想说话 print |
数据类型与变量
1 | int 123 21312123 99999 |
序列&序列类型的方法
1 | # 序列类型 |
爬虫案例(爬取音乐)
核心是搞清楚如何爬取,三个字 》》》 找规律
代码其实不难,难在于你如何理解,这里听懂的同学 扣 1
理解老师是如何发现这个《规律》以及通过哪些方式 ,
1
2
3 - 观察url https://music.163.com/ https://www.baidu.com/
- 观察返回的什么
- 看看页面里面有没有那么今晚就说明你听懂了
讲解 pip 到底是什么
1 | pip 是我们Python管理包的工具 >> 手机的手机商店 |
- 模块安装
pip install 模块名 -i 加速源
pip install html5lib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple
代码文件 jianyiNetMusic.py
http://cxy521.com/python.html 程序员万能库
十一.散列类型 字典&集合
之前学过的数据类型有
- 数值类型: int / flloat / bool 存储一个数值数据
- 序列类型:str/ list / tuple 存储多个数据, 有序,下标,切片
散列类型:
- 存储多个数据,无序,数据不重复
初识集合(set)
1 | 集合(set) --> 是一个可以存(不重复)且{无序存储}的容器.主要用来进行去重和逻辑判断 |
小结:
集合可以用于去重,
进行 逻辑判断,集合运算,交并差以及对称差集
set的方法
添加元素
集合是用大括号{}包裹起来的数据(元组,数字,字符串) 注意:没有列表
1 | add 增加一个数据 添加的数据不能是列表 |
删除元素
1 | pop 删除一个数据 随机删除 |
更新元素
1 | update: 把一个序列类型数据,打散添加到集合里 如果不想打散 可以再加个元组()注:元组内一个元素时加逗号, |
初识字典(dict)
字典从字面理解,类似我们生活中的“新华字典”
根据一个字,找到它的理解
帅:形容一个人好看,靓仔
美:形容一个人漂亮,靓女
属性名:描述
键名:值
字典是 无序、键不重复且元素只能是键值对的可变的容器。
1 | 用大括号'{}'包裹起来的数据,数据的存储方式为键值对,数据之间用逗号隔开.主要用来存储一些带有'说明'性质的数据. |
1 | 格式: |
声明空变量
1 | ``li1 = [] # 声明一个空列表 |
字典的方法
1 | wukong = { |
增:
1 | setdefault:给字典添加一个数据,如果这个数据已存在,就输出它的值。如果不存在 就新增一个键值对 |
删:
1 | pop 通过键名删除指定的数据 返回 删除的值 如果删除的键名不存在会报错 |
改: 重点
1 | wukong = { |
查:重点
1 | 通过键值对的方式查:(不存在的键会报错) |
作业
- 对li 去重 li = [123,123,12,23,121,56,1,2,3]
- 用字典存储自己的自我介绍 姓名,年龄,身高,优点 等等,并进行增删改查操作
对以下两个集合进行 交集,并集,差集,处理
animal1 = {“小猫”,”小狗”,”小鸟”}
animal2 = {“小猪”,”小狗”,”小鸟”}
1
2
3
4# 1. 对li 去重 li = [123,123,12,23,121,56,1,2,3]
li = [123,123,12,23,121,56,1,2,3]
print(list(set(li))) #[1, 2, 3, 12, 23, 56, 121, 123]1. 用字典存储自己的自我介绍 姓名,年龄,身高,优点 等等,并进行增删改查操作
con = {“姓名”:”言沫沫”,”年龄”:”10000”,”身高”:280,”优点”:”好学创新”}
print(con)
#增
print(con.setdefault(“座右铭”,”自己选择的路跪着也要走完!”)) #自己选择的路跪着也要走完!
print(con) # {‘姓名’: ‘言沫沫’, ‘年龄’: ‘10000’, ‘身高’: 280, ‘优点’: ‘好学创新’, ‘座右铭’: ‘自己选择的路跪着也要走完!’}
#删print(con.pop(“身高”)) # 280
print(con.popitem()) # 随机删
print(con.clear()) # None
print(con) # {}
del con[“身高”]
print(con) # {‘姓名’: ‘言沫沫’, ‘年龄’: ‘10000’, ‘优点’: ‘好学创新’, ‘座右铭’: ‘自己选择的路跪着也要走完!’}
#改
print(con.update({“身高”:”800”})) # None
print(con) # {‘姓名’: ‘言沫沫’, ‘年龄’: ‘10000’, ‘身高’: ‘800’, ‘优点’: ‘好学创新’, ‘座右铭’: ‘自己选择的路跪着也要走完!’}#查
print(con[“座右铭”]) # 自己选择的路跪着也要走完!
print(con.get(“name”)) # None
print(con.get(“姓名”)) # 言沫沫
print(con.keys()) # dict_keys([‘姓名’, ‘年龄’, ‘身高’, ‘优点’, ‘座右铭’])
print(con.values())# dict_values([‘言沫沫’, ‘10000’, ‘800’, ‘好学创新’, ‘自己选择的路跪着也要走完!’])
print(con.items()) # dict_items([(‘姓名’, ‘言沫沫’), (‘年龄’, ‘10000’), (‘身高’, ‘800’), (‘优点’, ‘好学创新’), (‘座右铭’, ‘自己选择的路跪着也要走完!’)])1. 对以下两个集合进行 交集,并集,差集,处理
animal1 = {“小猫”,”小狗”,”小鸟”}
animal2 = {“小猪”,”小狗”,”小鸟”}
print(“交集”,animal1 & animal2) # {‘小狗’, ‘小鸟’}
print(“并集”,animal1 | animal2) # {‘小狗’, ‘小鸟’, ‘小猪’, ‘小猫’}
print(“差集”,animal1 - animal2) # {‘小猫’}
print(“对称差集”,animal1 ^ animal2) # {‘小猫’, ‘小猪’}
~~~
360 使用了查毒,就把它退了,长期占用
注册表 电脑管家, 360 处理垃圾,把他退掉
课后巩固
课前预习
http://c.biancheng.net/python/flow_control/ 流程控制语句 有一点逻辑性的东西
分水岭
n