前言
本篇将对第一模块中的知识点做一个小总结。
知识总结
1.编程语言
编程语言分为三大类:
1.机器语言
2.汇编语言
3.高级语言
其中,机器语言与汇编语言是最底层语言,运行速度快,但开发效率低;高级语言开发效率高,但运行速度相对较慢,而高级语言又分为编译型、解释型两种。
2.Python的输入输出与注释
Python与用户交互的输入、输出语言是:
输入:input()
输出:print()
注释分为两种,单行注释与多行注释。单行注释直接跟在代码后或另起一行,以 # 开头;多行注释使用三对单引号或者三对双引号,自己选择。
3.基本数据类型
Python有三大基本数据类型:
int,整型;(注意:Python 3 中将不再区分long int 和 int)
string,字符串;
bool,布尔值,只有True 和 False两个值。
另外还有float,Python中小数默认有6位。
4.格式化输出
使用占位符:
%s:string型
%d:整型
%f:浮点型
5.运算符
与基本数学一样,Python中也有+ - * /(加减乘除),另外还有:
% :取模,返回余数;
** :幂,返回x的y次幂
//:取整,除法返回整数部分
还有>、<、=等一些关系运算,就不在详述。
6.流程控制(考点)
单流程:
if 条件1:
代码
双流程:
if 条件1:
代码1
else:
代码2
多流程:
if 条件1:
代码1
elif 条件2:
代码2
......
else:
代码
多流程中你需要多少分支就可以写多少分支,另外if…elif…else中还可以嵌套if…elif…else。
7.循环
(1)while…else…
while 条件:
代码1
else:
代码2
只有当条件为真,即条件为True时,才会进入while循环执行代码1,直至遇到break或者条件为False才会跳出while循环(注意:一定不要写死循环)。
while中也可以用continue,continue只用来跳过当前循环,不执行continue之后的代码,直接执行下一次循环。
只有当while循环正常结束,而不是通过break结束,才会执行else中的代码,切记。
(2)for循环(考点)
for循环是一个遍历循环,即:
for i in x:
代码
假设x中有n个元素,就将执行代码n次。
8.编码(考点)
根据历史事件,编码从远到近,依次是:
其中,ascii码占1个字节,GBK占2个字节,UNICODE占2个字节,UTF-8分成3种:其中的ascii码占1个字节,欧洲语言占2个字节,东亚语言占3个字节。
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
如果想把UTF-8转为GBK,流程如下:
先将UTF-8解码为Uniclde:
s1 = s.decode('UTF-8')
然后编码为GBK:
s2 = s1.encode('GBK')
9.其它数据类型
Python中还有其他的数据类型:
(1)列表(list)
l = [] # 定义一个空列表
l = [1,2,3]
l = ['a','b','c']
注:列表中也可添加其他数据类型,如列表中嵌套列表。
列表操作 | 函数 |
---|---|
追加 | append |
索引 | index |
计数 | count |
切片 | [x:y:z]注1 |
插入 | insert |
删除 | pop注2、remove、del注3 |
正序 | sort |
倒序 | reverse |
扩展 | extend |
复制 | cpoy注4 |
注1:x起始位置,y结束位置,z步长(默认为1),注意Python中永远顾头不顾尾。
注2:删除最后一个
注3:用法为:
l = [1,2,3]
del l[0]
注4:浅层复制,具体请看深浅Copy。
(2)字符串(string)
注意,字符串是有序、不可变的。
(3)元组(tuple)
与列表相似,但一旦创建便不可修改。
初始化:
l = (1,2,3,4)
功能:
索引:index
计数:count
切片(同list)
注意:这里有个坑,如果你初始化了:s = (1),接着你type(s),你会发现返回的是int而不是tuple,s=(1,)才是tuple。
(4)字典(dict)
字典是一种key-value的无序的数据类型。其中key必须是不可变数据类型,且必须唯一。
字典可存放多个值,可修改,可不唯一。
字典操作 | 函数 |
---|---|
查找 | in注1 |
获取 | get注2 |
获取所有value | values |
获取所有key | keys |
插入 | setdefault注3 |
更新 | update注4 |
items注5 |
注1:判断字典的key中是否有当前值,有则返回True,反之返回False
注2:获取有两种方式,但另一种方式在遇到字典中没有当前key的时候会报错,get则会返回None
注3:setdefault:插入一堆key-value,加入字典中有该key就不插入且返回对应的value
注4:a.update(b),b中的key在a中存在,a中该key对应的value变为b中该key的value;b中的key在a中不存在,则a中新增一对这样的key-value
注5:获取当前字典的所有key,value,并返回一个list:[(key1,value1),(key2,value2),(key2,value2),(key3,value3)…]
(5)集合(set)
集合是一个无序的,不重复的数据集合。
集合三特征:
1.确定性
2.互异性
3.无序性
集合操作 | 函数 |
---|---|
添加 | add注1 |
更新 | update注2 |
删除 | discard、pop注3 |
清空 | clear |
复制 | copy |
注1:重复的元素不会被添加,只能添加不可变数据
注2:把多个值加入到集合
注3:discard集合中没有该元素不会报错,pop随机删,没有会报错
集合关系测试:
关系测试 | 符号 |
---|---|
交集 | & |
差集 | - |
并集 | ^ |
10.哈希
11.二进制、八进制、十进制、十六进制
之间的转换较好的方法是都转为二进制,再转其他进制。
2018.12.09补充:
先补充一下考核时遇到的问题及老师的答复:
有这样一道题:
#!/usr/bin/env python 3 这句话的作用是什么?
刚看到这道题我一脸懵逼。。这句话哪来的?是不是超纲了?
…其实没有,Pycharm文件头就有这一句话,只是我一直没有注意:这句话的意思是,告诉系统执行这个脚本时,调用Python 3解释器。整体过程是,首先让系统到环境变量(即env)中找Python 3安装路径,找到后调用Python 3解释器。环境变量,我的理解是一个存储库,里面存放都是一些安装路径,比如Python 3的,怎么查看本机的env呢(下面以windows为例):
右击“我的电脑”——属性——高级系统设置:
高级Tab页——环境变量:
双击Path:
就能打开编辑环境变量界面。
这里还有另外一句话:
#!/usr/bin/python 3
这句话的意思是直接到usr/bin文件夹下找Python 3解释器,是一个绝对路径,如果你的Python 3没有装在这个文件夹下,就不会找到。
所以,还是推荐使用第一句。