经历了五一假期,平常上班有点忙,所以一放假就进入了散养状态。整个五一基本上都是这么忽忽悠悠过来的,课的进度就落后了好多。但是因为时间原因,我决定在这一两天内就把课程的进度赶完,废话不多说直接开始。
第二周的课程就与之前接触过的高级语言有了一定的偏差,索性偏差不是很大。首先说说模块的事,模块类似于C中的类库(ps:不太喜欢Java,但是貌似Java里面也是这么叫的),相当于一个已经封装好了的方法的总集,Python在调用模块的时候总是会在当前目录下进行搜索。所以在引用模块时候尽量放在同一目录下,防止出错。课中讲了两个简单的模块以及一些方法,从而引出了一些关于Python的环境变量的讨论。
sys模块
sys.argv : 打印脚本的绝对路径。这里面就不得不提几个有意义的小知识了,首先是Python的官方包都会在一个bin文件下,而我们在第三方下载或者是自己写的封装包一般都会存在site—package下。所以我们就会在那个里面找一些小包包之类的。
os模块:主要是系统的交互。
os.system:只执行不保存,os.system(“dir”)打印当前目录。
os.popen:对象内存地址,返回的只是地址,如果想读取内容还需要加上.read()方法。
os.mkdir:创建新目录,不是文档。
模块只是初识这两个较为简单的模块,并且也只介绍了一些浅显的方法,后来的学习中还是会继续学习一些模块和方法的。
.pyc:这个文件的意义并不是那么大,Python是解释型语言,但是也会生成一个编译型的文件,它会对部分方法进行编译并保存,方便下次调用时加快运行速度。Pycode object位于内存中,用于存放编译结果。
三元判断:
二进制的数据类型:bytes,在Python3.x中字符串和二进制数据是严格禁止混用的,而且在获取网络数据进行信息传输的时候只能使用二进制信息流。
string---->bytes 使用encode
bytes---->string 使用decode
列表:Python中较为常见的一种存储方式,在计算机中万事万物都是从0开始。所以列表里第一个元素的位置就是第0个。
切片[0:2] :这里需要注意的是切片是会有首元素但是不包括尾部元素(东北人的顾头不顾腚)。切片都是从左到右,所以在采用逆序(也就是定义位置时从后往前)时要注意那个位置在前,那个在后。
.append()方法:追加,在列表的尾部追加。
.insert()方法:插入不能批量插入,只能一个个操作
del [位置] = “新值” .remove(“值”) .pop()如果无下标默认删除最后一个。
.index(“值”)返回值得位置
.count(“值”)计算值出现的次数
.reverse()反转列表
.sort()排序符号-->数字-->大写字母--->小写字母
.extend() 合并两个列表
.copy()复制列表,但是会是浅层的复制,只复制第一层,想要深度copy需要调用copy模块。
课间小作业:购物车:输入工资,打印商品列表,根据商品编号购买,检测余额随时退出,打印已购买和余额,用了一小会就写出来了但是感觉很Low
,果然在Alex的课中居然还提到了我的写法,然后被否定了,之后会粘上他的写法,先看看自己搞的。
字符串方法:
.capitalize() 首字母大写
.count() 统计字母出现次数
.center(int,"")打印int个字符,空的位置由""内容来补充,字符串位于中间
.endwith("") 判断由""内容结尾
.find() 输出字符位置,可以用于字符串切片
.format()引用
.format_map(字典) 引用一个字典
.isalnum()是否是数字与字母的组合
.isalpha () 是否是纯英文字符串
.isdecimal () 是否为十进制
.isdigit ()是否是整数
.isidentifier ()判断是否是合法的标识符
.isnumeric ()是否为纯数字
.istitle ()
.isprintable()是否可打印
.join()将字符以特定形式链接为字符串
.ljust (int,"") 右侧占位空位置用""内容来补充
.lower () 大写<-----小写
.upper () 与上个方法相反
.replace() 替换
.rfind () 最右侧检测值的下标
.split() 按空格化为列表
.swapcase ()大写 小写互换
字典 :字典时无序的,没有顺序只能通过键值来进行定位
.pop() 删除
.popitem()如果不输入值默认随机删除
.get()查找,不确定是否存在的查找
.setdefault() 查找,如果不存在返回一个值
.update() 合并两个字典,交叉的覆盖
.item() 将字典转化为列表
. fromkeys()初始化新字典
三级列表:对于三级列表因为是一开始所以选择了一个很low的写法,就是循环套循环套循环(说实话因为这个弄得我很晕....)
整个写的与Alex写的差不多就是有些细微的差别,因为最近工作有点忙所以发的晚了些,但是我会继续努力的,早日回归IT。作业在下一周的开头粘出来。