猫宁!!!

参考链接:易灵微课-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的更多相关文章

  1. PJzhang:python基础入门的7个疗程-one

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 安全从 ...

  2. PJzhang:python基础入门的7个疗程-two

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 htt ...

  3. PJzhang:python基础入门的7个疗程-three

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第七天 ...

  4. PJzhang:python基础入门的7个疗程-six

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第16天:开源模块 sy ...

  5. PJzhang:python基础入门的7个疗程-four

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 第十天 ...

  6. PJzhang:python基础入门的7个疗程-seven

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课 https://www.liaoxuefeng.com/wiki/1016959663602400 第19天:开源模块 数据 ...

  7. PJzhang:python基础进阶的10个疗程-two

    猫宁!!! 第2节:python基本图形绘制 保留字是python基础语法的支撑 默写python代码是件挺恐怖的事情!!! 2008年android操作系统诞生 计算时代 编程语言也是一个江湖 C语 ...

  8. PJzhang:python基础进阶的10个疗程-one

    猫宁!!! 课程导学 北京理工大学 国家精品在线开放课程 零基础.大学水平 100行左右的python可以做很多事情 编程是基本技能,体会思维 时间成本和收益的关系 每周5个小时 https://py ...

  9. PJzhang:python基础进阶的10个疗程-three

    猫宁!!! 参考:北京理工大学-python程序语言设计 第3节:基本数据类型 默写代码的重要性. 保留字一定要全部都会默写,不能有错. pow(x,y),计算x的y次方,整数没有大小限制 整数进制 ...

随机推荐

  1. Java 几个有用的命令 - All Options, Memory Options, GC Options, System Properties, Thread Dump, Heap Dump

    jcmd  ##Refer to http://www.cnblogs.com/tang88seng/p/4497725.html java -XX:+PrintFlagsFinal -version ...

  2. Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

    When compiling Qt you can choose one of these options based on the configure command line: no OpenSS ...

  3. WCF研究-中篇

    中篇 5.托管于宿主 6.消息模式 7.WCF行为-实例管理和并发控制 8.安全 5.托管于宿主 托管 宿主Host Ø承载WCF Service运行的环境 自承载方式 系统服务方式 IIS方式 WA ...

  4. ASP.NET vNext 微笔记

    关心 ASP.NET vNext 的人可能已经读过相关文章,例如:ASP.NET vNext @ 2014.那么,你可能已经知道,ASP.NET vNext 摆脱了 System.Web.DLL,把 ...

  5. 预编译加速编译(precompiled_header),指定临时文件生成目录,使项目文件夹更干净(MOC_DIR,RCC_DIR, UI_DIR, OBJECTS_DIR),#pragma execution_character_set("UTF-8")"这个命令是在编译时产生作用的,而不是运行时

    预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PREC ...

  6. FireMonkey下的异形窗体拖动(需要使用FmxHandleToHwnd函数转化一下句柄)

    DelphiXE2 Firemoney FMX 的窗体不只是为windows的, 所以很多功能都没有了. 最常见的就是拖拽了 先看 VCL时代 一个经典拖动代码 ReleaseCapture(); S ...

  7. SYN1621型 定位定向授时设备

    SYN1621型 定位定向授时设备 定位定向授时设备使用说明视频链接: http://www.syn029.com/h-pd-274-0_310_39_-1.html 请将此链接复制到浏览器打开观看 ...

  8. Spring Boot:集成Druid数据源

    综合概述 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据 ...

  9. chrome浏览器开发者工具F12中某网站的sources下的源码如何批量保存?

    目录 chrome浏览器 开发者工具F12中某网站的sources下的源码如何批量保存 1. 常用保存Sources源码的两种方法 1.1单个文件 1.2 单个页面 2. 问题 3.解决方案 chro ...

  10. 多线程与高并发(三)synchronized关键字

    上一篇中学习了线程安全相关的知识,知道了线程安全问题主要来自JMM的设计,集中在主内存和线程的工作内存而导致的内存可见性问题,及重排序导致的问题.上一篇也提到共享数据会出现可见性和竞争现象,如果多线程 ...