PJzhang:python基础入门的7个疗程-five
猫宁!!!
参考链接:易灵微课-21天轻松掌握零基础python入门必修课
https://www.liaoxuefeng.com/wiki/1016959663602400
第十三天:代码组织
类是个名词,表示一类的事物,有多个实例对象。
list/tuple/dict/set都是一个类,['p','j','z'],('p','j','z'),{'age':19},{'p','j','z'}是与前者对应的实例
一定要谨记init前后是双下划线,否则会报错 TypeError: Student() takes no arguments
测试结果
编写代码很多时候是自己代码对着写的时候有残缺,而不是代码逻辑上的问题,这个时候除了看报错,重新过一遍,排错非逻辑错误。
上面是学号,语文,数学,英语成绩,现在我们要获取他的最高分和平均分,还有总人数。
代码有点长
两个类,学生成绩,学生成绩表
第一个类,初始化学生的成绩并数字化,全部都是属性,没有方法
第二个类,包括一个属性,即列表,方法有加载列表数据,计算各科最大值,计算各科平均值
执行结果
第14天:代码组织
程序在执行的过程中会出现异常exception
打开一个不存在文件,FileNotFoundError
除以0,ZeroDivisionError
字母字符串转成数字,ValueError
访问字典中不存在的key,KeyError
除以0的情况,之后的内容无法打印,只显示第一行
结果
跳过报错,第二个块,报错内容一定是在报错中出现的,大小写也要关注
结果,hello xhli没有打印出来
异常的具体情况直接打印出来
结果
finally主要用于清理,不管前面的代码有没有执行,最后都会打印出finally的字样
结果,注释掉print(1/0)也依然显示finally打印结果。
爬虫模拟报错
结果,第一行有显示,但是后面的就报错了url return none:
针对未能爬取内容进行略过处理
结果
第十五天:开源模块
包package和模块module都是为了对代码进行更好的组织,其中模块中包含类,函数,语句,包中含有__init__.py和模块
import module,来引用一个模块,或者from package import module
模块搜索路径,首先搜索脚本所在目录,然后搜索PYTHONPATH路径列表,这个在python安装的时候已经自定义好路径。
现在搞一个三级目录,python目录下有module1文件夹,module1中含有module2和__init__.py空文件,module2中含有module3和__init__.py空文件,module3下含有__init__.py文件。
python目录下ceshi.py
ceshi1.py引用ceshi.py,ceshi1.py也是在python目录之下
结果,引用成功
自动生成一个缓存文件夹
现在我们把ceshi.py放入module3文件夹中去,并调取ceshi.py利用
将ceshi1.py放在python目录的上一级目录中:/root/桌面/
执行ceshi1.py,显示如下
如果我们指定了调用的目录名字,那就可以了
命令行输入export PYTHONPATH='/root/桌面/python/',ceshi.py在module3目录之下
再次执行ceshi1.py
但是如果关掉终端窗口,就失效了,还需重新输入export PYTHONPATH='/root/桌面/python/'
如果在代码中写好调用路径也可以
如下是结果,这个具有永久性调用,方便他人调用自己的一部分代码块
__ name__的使用,ceshi.py和ceshi1.py在同一个目录下
结果
调用一下ceshi.py
结果,引入其他模块的时候,对方的__name__就是它的文件名称,不带py后缀
在ceshi.py中添加一个if判断语句
结果,说明在其他文件中调用,其中__name__不等于__main__,执行ceshi.py,__name__等于__main__
python模块分为自带的标准库模块和开源模块
标准库模块如sys,os,json,re,random,multiprocessing(多线程)等
开源库如下:django,flask可以用于开发后台,BeautifulSoup可以用于网页标题的解析,numpy,scipy可以用于矩阵,matplotlib可以用于生成各种特征图,散点之类的,最后是两个深度学习框架
这么多高效模块,安装有几种办法选择
python3 -m pip install requests,安装的都是python3的模块
pip3 install requests,这种方法比较方便,pip3 uninstall requests,这个是卸载包的功能
安装anaconda可以实现一劳永逸的安装好绝大部分的开源模块
https://www.anaconda.com/
power8和power9是IBM高端服务器中的处理器芯片版本
kali linux自带有hash验证功能,这个很方便
bash '/root/下载/Anaconda3-2019.03-Linux-x86_64.sh'
直接回车,下一步
回复yes
继续回车选择默认选项
选择yes,就生效了
source ~/.bashrc,刷新环境变量,多了一个(base)
conda config --show,可以看到一系列的conda的配置情况,图示没有展示完全
auto_activate_base: True,所以才有了(base)
现在去掉(base)
conda config --set auto_activate_base False
如何卸载掉anaconda呢,最简单的办法,rm -rf ~/anaconda3,彻底删掉这个文件夹就好。
好的,第13-第15天的完了。
PJzhang:python基础入门的7个疗程-five的更多相关文章
- PJzhang:python基础入门的7个疗程-one
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 安全从 ...
- PJzhang:python基础入门的7个疗程-two
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 htt ...
- PJzhang:python基础入门的7个疗程-three
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第七天 ...
- PJzhang:python基础入门的7个疗程-six
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第16天:开源模块 sy ...
- PJzhang:python基础入门的7个疗程-four
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第十天 ...
- PJzhang:python基础入门的7个疗程-seven
猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第19天:开源模块 数据 ...
- PJzhang:python基础进阶的10个疗程-two
猫宁!!! 第2节:python基本图形绘制 保留字是python基础语法的支撑 默写python代码是件挺恐怖的事情!!! 2008年android操作系统诞生 计算时代 编程语言也是一个江湖 C语 ...
- PJzhang:python基础进阶的10个疗程-one
猫宁!!! 课程导学 北京理工大学 国家精品在线开放课程 零基础.大学水平 100行左右的python可以做很多事情 编程是基本技能,体会思维 时间成本和收益的关系 每周5个小时 https://py ...
- PJzhang:python基础进阶的10个疗程-three
猫宁!!! 参考:北京理工大学-python程序语言设计 第3节:基本数据类型 默写代码的重要性. 保留字一定要全部都会默写,不能有错. pow(x,y),计算x的y次方,整数没有大小限制 整数进制 ...
随机推荐
- jQuery.form的使用方法
首先需要引入jquery.form.js 之后即可使用 jquery.form.js的中文API网址http://www.vaikan.com/docs/jquery.form.plugin/jque ...
- 开源代码分析工具 good
checkstyle - static code analysis tool for JavaPMD - A source code analyzer
- scrapy爬虫框架研究!
最近由于项目需要,开始研究scrapy爬虫,走过不少弯路,准备写个记录,记下踩过的各种坑.
- Qt按ESC关闭模态对话框不触发closeEvent()问题解析(ESC默认调用的是reject()函数,所以必须覆盖这个函数才会有效果)good
事情是这样的:今天调试窗体,突然发现按ESC键居然跳过closeEvent()关闭了对话框!我的关闭判断都在closeEvent()里,这直接导致非正常关闭了正在进行的工作.先重建下场景: 调用处: ...
- Codility----PermMissingElem
Task description A zero-indexed array A consisting of N different integers is given. The array conta ...
- 数组Array
数组Array是最基本的数据结构,在内存中为一段定长连续内存,很多编程语言都有实现. 一.一维数组 下面代码实现了一维数组和它的遍历. clear并非清空数组,而是采用具体值对数组进行初始化. imp ...
- Yolov3代码分析与训练自己数据集
现在要针对我们需求引入检测模型,只检测人物,然后是图像能侧立,这样人物在里面占比更多,也更清晰,也不需要检测人占比小的情况,如下是针对这个需求,用的yolov3-tiny模型训练后的效果. Yolov ...
- Ubuntu --- 安装lnmp(php7.0)
1.安装nginx sudo apt-get install nginx # 安装 sudo vim /etc/nginx/sites-enabled/default # 修改配置文件 sudo ng ...
- Python初学者的经历
刚开始安装了个python3.6的版本,自己写了个hello world ,发现可以运行,后面又网上找到了下载酷狗音乐的代码,结果报各种包没有,使用pip安装也各种安装不起来 又从网上找了python ...
- 如何为linux服务器配置DNS解析?
本文建立在已经搭建好DNS服务器时,为linux机器配置DNS服务器的三种方式. IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址.DNS(域名解析)就是域名到IP ...