基础综合学习篇
文章平均质量分 79
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。其解释器易于扩展,可以使用C或C++扩展新的功能和数据类型,也可用于可定制化软件中的扩展程序语言。
别呀
学习苦,学习累,所以我不想学习了!
展开
-
学习笔记(二十二)—— 了解进程和线程
文章目录一、进程1.1、什么是程序1.2、了解进程1.3、进程的三种状态二、线程2.1、了解线程2.2、了解多线程2.3、进程与线程的区别2.4、多线程实现2.5、线程锁2.6、全局解释锁(GIL)一、进程1.1、什么是程序程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程则是在处理机上的一次执行过程,它是一个动态的概念。这个不难理解,其实进程是包含程序的,进程的执行离不开程序,进程中的文本区域就是代码区,也就是程序。1.2、了解进程进程就是一段程序的执行过程。它是一原创 2021-09-09 10:52:14 · 406 阅读 · 0 评论 -
学习笔记(二十一)—— 使用SMTP发送电子邮件
一、常用的电子邮件协议常用的电子邮件协议有SMTP、POP3、IMAP4,它们都隶属于TCP/IP协议簇,默认状态下,分别通过TCP端口25、110和143建立连接。下面分别对其进行简单介绍1.1、SMTP协议SMTP的全称是"SimpleMailTransferProtocol",即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器就是遵循SMTP协议的发送原创 2021-09-07 19:43:27 · 9881 阅读 · 0 评论 -
学习笔记(二十)—— 网络编程
文章目录一、网络通信概述1.1、什么是网络1.2、使用网络的目的二、TCP/IP简介2.1、什么是协议2.2、计算机网络沟通三、端口和端口号3.1、什么是端口3.2、端口号3.3、端口分配3.3.1、知名端口(WellKnownPorts)3.3.2、动态端口(DynamicPorts)3.4、端口作用四、ip地址4.1、什么是ip地址4.2、ip地址的作用4.3、ip地址的分类4.3.1、A类IP地址4.3.2、B类IP地址4.3.3、C类IP地址4.3.4、D类地址用于多点广播4.3.5、E类IP地址4原创 2021-09-07 16:17:53 · 617 阅读 · 0 评论 -
学习笔记(十九)——Python与数据库交互(mysql、redis)
mysql事务关系型数据库的特性①原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。② 一致性:是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。③隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导原创 2021-04-27 01:34:08 · 551 阅读 · 2 评论 -
学习笔记(十八)——MongoDB(CRUD)与Python交互
什么是MongoDB?MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种。它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的产品。它支持的数据结构非常松散,是类似JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。其最小的单元是文档,缺点:比较耗内存。mongodb的库、集合的操作mongo:进入mongoshow dbs :查看所有数据库 (前3个是配置信息)use 数据库名 :切换/创建数据库(存在就进入.原创 2021-04-25 09:16:27 · 440 阅读 · 2 评论 -
学习笔记(十七)——redis(CRUD)
文章目录一、redis概述redis适合的场景二、redis存储redis的基本操作三、redis数据类型1、string类型2、list类型3、hash类型4、set类型5、zset类型拓展:全局操作一、redis概述Redis本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的原创 2021-04-23 01:29:09 · 1171 阅读 · 0 评论 -
学习笔记(十六)——MySQL(约束与关系)
文章目录一、表字段的增删改1、添加字段2、删除字段3、修改二、约束1、默认约束 default2、非空约束 not null3、唯一约束 unique key4、主键约束 primary key5、自增长约束 auto_increment6、外键约束三、表关系1、一对一2、一对多3、多对多一、表字段的增删改1、添加字段alter table 表名 add 字段名 字段类型; #默认顺移往后添加alter table 表名 add 字段名 字段类型 first; # 添加到表的第一行alte原创 2021-04-20 23:46:34 · 201 阅读 · 0 评论 -
学习笔记(十五)——MySQL(查询)
查询方法下面的查询都是对单表的查询,所以先创建表tb1(下面的tb1均代表此表)create table tb1(id int,name varchar(10),age int,class varchar(5)); #创建tb1表对于MySQL的创建、插入等基本语句有不理解的可以看我上一篇博客:学习笔记(十四)——MySQL(CRUD)1、根据条件查询select * from tb1 where age=19; #查询年龄所有等于19岁select * from tb1 wher原创 2021-04-20 00:25:40 · 208 阅读 · 0 评论 -
学习笔记(十四)——MySQL(CRUD)
常见的关系型数据库和非关系型都有那些?关系型数据库:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL非关系型数据库:NoSql、Cloudant、MongoDb、redis、HBase文章目录MySQL库操作MySQL表操作MySQL表数据操作增 insert查 select改 update删 delete补充MySQL账户操作拓展:关系数据库与非关系数据库区别关系型数据库非关系型数据库MySQL库操作*注意:必须先进入mysql.原创 2021-04-17 22:53:04 · 451 阅读 · 0 评论 -
学习笔记(十三)——vim编辑与linux命令
常用命令1、命令行history 查看历史命令! 编号 执行当前命令ls 查看当前的文件夹所有内容ls -a 查看隐藏文件ls -a -l(ls -al) 查看文件的详细信息ls p* 查看文件名带p的文件(*通配符)pwd 查看当前路径(我在哪)whoami 当前用户(我是谁)cd 相对路径/绝对路径 跳转路径cd .. 返回上一级路径cd / 回去根目录cd .原创 2021-04-15 23:32:56 · 214 阅读 · 0 评论 -
学习笔记(十二)——虚拟机安装和pycharm远程连接Ubuntu
文章目录虚拟机虚拟机虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。...原创 2021-04-14 10:36:31 · 1402 阅读 · 0 评论 -
python学习笔记(十一)——正则表达式
独有的工具:用来匹配或者提取字符串。不属于Python基础。属于编程基础。需要导入re模块import re文章目录1、findall方法2、match方法3、search方法*补充4、元字符4.1、单字符匹配4.2、代表数量的元字符4.3、代表边界的元字符4.4、分组匹配5、贪婪和非贪婪1、findall方法在字符串中找到正则表达式所匹配的所有子串,并返回一个列表。如果没有找到匹配的,则返回空列表.示例:str1 = '人生若只如初见,何事秋风悲画扇'print(re.findall(.原创 2021-04-12 23:06:13 · 259 阅读 · 1 评论 -
python学习笔记(十)——迭代器和生成器(外加import功能)
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。生成器也叫简单生成器,生成器可以帮助读者写出非常优雅的代码,当然,编写任何程序时不使用生成器也是可以的。原创 2021-04-11 00:21:21 · 178 阅读 · 0 评论 -
python学习笔记(九)——文件和异常(重点)
学文件的目的:文件不能可能一直在内存中存储,持久化存储到磁盘就需要用到文件了!一、文件和上下文管理器(重点)1、打开文件—open() 方法Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。open(file, mode='r'.原创 2021-04-08 23:17:40 · 470 阅读 · 0 评论 -
python学习笔记(八)——继承
前沿思考问题一:两个中有大量重复的代码,是否能够只写一次 ?问题二: 继承的意义是什么 ? 面向对象的编程带来的好处之一是代码的重用,实现这种重用方法之一是通过继承机制。继承是两个类或多个类之间的父子关系,子类继承了基类的所有公有数据属性和方法,并且可以通过编写子类的代码扩充子类的功能。开个玩笑地说,如果人类可以做到儿女继承了父母的所有才学并加以拓展,那么人类的发展至少是现在的数万倍。继承实现了数据属性和方法的重用,减少了代码的冗余度。 那么我们何时需要使用继承呢?如果我们需要的类中具有公共原创 2021-04-06 22:47:13 · 392 阅读 · 1 评论 -
python学习笔记(七)——类基础
前沿问题一: 什么是类?类是一个独立存放变量(属性/方法)的空间问题二: 什么是面向过程看名字它是注重过程的。当解决一个问题的时候,面向过程会把事情拆分成: 一个个函数和数据(用于方法的参数) 。然后按照一定的顺序,执行完这些方法(每个方法看作一个个过程),等方法执行完了,事情就搞定了。问题三: 什么是面向对象看名字它是注重对象的。当解决一个问题的时候,面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解原创 2021-04-02 00:51:28 · 1298 阅读 · 2 评论 -
python学习笔记(六)——函数的作用域和装饰器
目录函数作用域global和nonlocal关键字递归闭包装饰器函数作用域global和nonlocal关键字思考:def func(): name = 'laowang'print(name) # 能打印吗?func()print(name) # 能打印吗?执行结果:laowangNameError: name 'name' is not defined 为什么没有被定义?定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在原创 2021-03-30 23:31:18 · 406 阅读 · 1 评论 -
python学习笔记(五)——函数基础和函数参数
学函数的目的是什么?函数是做什么的?学函数目的: ①不学函数容易造成:1、复杂度增大;2、组织结构不够清晰;3、可读性差;4、代码冗余;5、可扩展性差②学函数后可以: 1、使用函数可以提高编写的效率以及代码的重用;2、函数是带名字的代码块,随用随调; 3、使用函数,程序编写,阅读,测试和修复都将更容易美观函数作用:把独立功能的代码块封装到函数里面去,从而达到一个多次使用的效果减少代码量,冗余 结构也比较清楚, 保持代码的一致性目录函数的定义函数的参数必备参数默认参数不定.原创 2021-03-30 00:15:56 · 333 阅读 · 2 评论 -
python学习笔记(四)——流程控制
学控制流程的目的在哪?控制流程能够实现非常复杂的代码逻辑,它可以实现更加智能的功能目录条件语句if语句的基本形式if语句多个判断条件的形式if语句多个条件同时判断if嵌套三目运算(语法糖)循环语句while循环for迭代循环range()函数for循环和while循环的区别案例条件语句Python 条件语句跟其他语言基本一致的,都是通过一条或多条语句的执行结果( True 或者 False )来决定执行的代码块。Python 程序语言指定任何非 0 和非空(null)值为 True,0 或者 n.原创 2021-03-27 22:47:02 · 757 阅读 · 0 评论 -
python学习笔记(三)—— 序列类型及方法(列表、元组、字符串)
这里写目录标题列表的方法元组字符串字符串拼接列表的方法列表方法描述增append将元素增加到末尾insert添加到指定位置extend将序列中的每个元素追加到末尾删pop不带参数弹出最后一个元素、带参数指定下标值remove移除指定的元素clear删除列表中的所有值改li[0] = ‘list’查index在列表中从左至右查找指定元素,找到了返回改值的下标count计算列表中指定元素出现的次数原创 2021-03-26 00:14:27 · 741 阅读 · 1 评论 -
python学习笔记(二)——散列类型(字典、集合)
目录集合字典集合无序(元素位置不固定)、唯一(相每个元素唯一)、可变类型(元素可变)。1、定义:#方法一 直接赋值>>> set1 = {1,2,3,4}>>> type(set1)<class 'set'>>>> set1{1, 2, 3, 4}#方法二 s=set()赋值set()>>> set2 = set()>>> type(set2)<class 'set'>原创 2021-03-23 22:33:43 · 240 阅读 · 2 评论 -
python学习笔记(一)——操作符和运算变量
一、操作符和变量运算变量的命名规则:变量名只能是字母(a-z、A-Z)、数字(0-9)或下划线( _ )的任意组合变量名的第一个字符不能是数字、大小写敏感关键字不能声明为变量名变量的操作符:1、赋值运算符2、算数运算符3、比较(关系)运算符4、逻辑运算符5、按位运算符6、成员运算符7、身份运算符8、运算符优先级...原创 2021-03-20 11:27:07 · 340 阅读 · 3 评论