![](https://img-blog.csdnimg.cn/20200104183553347.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python零基础学习教程
学习是一件刻苦的事情,结果却充满美好
学习-永无止境
这个作者很懒,什么都没留下…
展开
-
什么是编程,计算机组成
编程,计算机组成一.Typora关于用Typora 自我感觉良好,基本快捷键也比较简单,ps:还是要多用用二.编程1.编程语言是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。(来自百度百科对于编程语言的诠释)我个人理解,编写语言更加像是人与电脑一种交互所用到的介质。老师用中文,英语还进行对比,我觉得应该用汉字,英文,日文等来进行对比比较恰当。推荐P...原创 2019-12-05 21:58:15 · 248 阅读 · 0 评论 -
程序语言以及python的安装和环境变量设置
一.程序语言1.机械语言由于0和1组成优点:执行效率快缺点:操作麻烦繁琐2.汇编语言比机械语言好点优点:比机械语言操作方便缺点,执行慢3.高级语言主要两个,java是编译性语言,python是解释性语言推荐Python大牛在线分享技术 扣qun:855408893领域:web开发,爬虫,数据分析,数据挖掘,人工智能二.python的安装和环境变量设置1.pyth...原创 2019-12-05 21:58:15 · 71 阅读 · 0 评论 -
Python基础-变量
一.关于python1.交互式说一句解释一句2.命令行式1.编写文件并且保存2.打开python解释器,在pyrhon中打开文本,读入内存(python打开的时候,翻译不是瞬间)3.python解释文本注意:第二阶段相当于文本文档打开文件,第三阶段才有python的语法推荐Python大牛在线分享技术 扣qun:855408893领域:web开发,爬虫,数据分析,数据挖掘,人...原创 2019-12-05 21:58:17 · 122 阅读 · 0 评论 -
python集合数据类型,拷贝,深拷贝,浅拷贝
1.集合数据类型1.定义用{}中间值用,隔开,且集合中元素排列是无序的,而且如果有相同元素会只保留一个2.算法1.必须掌握1.长度lenset_1 = {1,2,3,4,5}print(len(set_1))#52.成员运算in和not in#表示判断集合里面是否有某个值set_1 = {1,2,3,4,5}print(1 in set_1)#Trueprint(10...原创 2019-12-07 17:04:48 · 102 阅读 · 0 评论 -
python编码,解码,文件的基本操作
1.编码解码1.字符串编码字符 --------》翻译过程 -------》数字2.字符串解码字符 --------》翻译过程 -------》数字3.编码解码用到的翻译工具中国:GBK外国:日本—Shift_JIS,美国ASCII,韩国Euc-kr国际统一:Unicode进行编写,存取用UTF-8,Unicode与UTF-8为特例他们两个能够相互识别2.文件的基本操作1.打开...原创 2019-12-07 17:04:55 · 56 阅读 · 0 评论 -
python文件的详细操作
一.文件打开常用的三总方式1.文件打开r模式只读不能写with open('a.txet','r',encoding='gbk') as a: # 文件路径 文件打开方式 解码方式 变量名 print(a.read())#一次性读取 ,里面可以填写数字,填了后是读取光标后几个字符 print(a.read())#连续第二次读取会读取空...原创 2019-12-07 17:04:58 · 81 阅读 · 0 评论 -
python函数基础,函数返回值,函数调用的3中方式,形参与实参
一.函数基础1.什么是函数在程序中,函数是具有种功能功能的工具2.函数的两个阶段1.函数的定义a)有参函数定义在函数定义阶段括号内有参数,称为有参函数。需要注意的是:定义时有参,意味着调用时也必须传入参数。如果函数体代码逻辑需要依赖外部传入的值,必须得定义成有参函数。def 函数名(param1、param2……x=9): #其中paraml1与param2为函数的需要填入的值,...原创 2019-12-07 17:05:01 · 158 阅读 · 0 评论 -
python可变长参数,函数的嵌套,名称空间,关键字
一.可变长参数1.可变长形参之(*)形参中的会将溢出的位置实参全部接收,然后存储元组的形式,然后把元组赋值给后的参数。需要注意的是:*后的参数名约定俗成为args。def sum_self(*args): res = 0 for num in args: res += num return resres = sum_self(1, 2, 3, 4)...原创 2019-12-07 21:59:56 · 103 阅读 · 0 评论 -
python函数的装饰器,两层装饰器和三层装饰器
一.装饰器1.函数装饰圈的定义函数装饰器:一种装饰函数的函数2.个人理解两层函数装饰器两层函数装饰器个人觉得他其实就是把需要装饰的函数名丢入形参,然后用一个嵌套的函数对其头尾进行添加程序,但是不能减少他的程序内容,他的原来程序不变只能增不能减少,然后返回装饰好的子函数,再全局定义一个变量名与要装饰的函数名相同名字,并且将装饰后的函数调用赋予改变量.推荐Python大牛在线分享技术 扣q...原创 2019-12-07 21:59:57 · 169 阅读 · 0 评论 -
python迭代器,三元表达式,列表生成式,字典生成式,生成器,递归
1.迭代器可迭代对象:一个对象能够导出内置函数_iter_该对象为迭代器迭代器对象:一个对象能够导出内置函数_iter_和_next_该对象为迭代对象迭代器里面的内容用一次就没了#for 循环的原理s = 'hello'iter_s = s.__iter__()while True: try: print(iter_s.__next__()) exc...原创 2019-12-07 21:59:58 · 76 阅读 · 0 评论 -
python二分法,有名函数,匿名函数,内置函数
一.二分法二分法个人理解是一种算法的方式在一个有序的序列,区中间值,把中间值与想要的值进行对比从而一次一次的减少搜索范围举例#给与一个列表1-100,num_list = [num fornum in range(1,101)]#给予一个num让你在列表中寻找他mid_num_index = int(len(num_list)/2)mid_num = num_list[mid_num_...原创 2019-12-07 22:00:00 · 107 阅读 · 0 评论 -
python面向对象编程,鱼骨图分析法
一.面向对象编程 面向过程编程,核心是编程二字,过程指的是解决问题的步骤,即先干什么、后干什么、再干什么、然后干什么……与工厂的工艺流程差不多,前后都有影响优点:复杂的问题流程化,进而简单化,调理清晰.缺点:拓展性不行推荐Python大牛在线分享技术 扣qun:855408893领域:web开发,爬虫,数据分析,数据挖掘,人工智能二.对于我之前写的一个购物程序total_...原创 2019-12-07 22:00:01 · 424 阅读 · 0 评论 -
python模块导入及使用,关键字,模块搜索路径,python文件的两种用途
一.模块导入及使用1.模块导入的两种方式我们拿time模块并使用其中的time功能进行举例a)第一种import timeprint(time.time)import首次导入模块发生了3件事:打开模块文件执行模块对应的文件,将执行过程中产生的名字都丢到模块的名称空间在程序中会有一个模块名称指向模块名称空间(如果他是import time as f)则是f指向模块空间在当前执...原创 2019-12-08 16:58:40 · 177 阅读 · 0 评论 -
python包,软件开发目录规范
1.包1.什么是包包是模块的一种形式,包的本质就是一个含有__init__.py的文件的文件夹2.为什么用包当一个模块功能太多的时候不方便进行管理,我们用包来进行管理3.包的使用1.导入包发生的三件事创建一个包的名称空间由于包是一个文件夹,无法执行包,因此执行包下的__init__.py文件,将执行过程中产生的名字存放于包名称空间中(即包名称空间中存放的名字都是来自于__i...原创 2019-12-08 16:58:41 · 117 阅读 · 0 评论 -
python-time模块
1.time模块1.三种时间的显示样式1.时间戳1.相关函数1.time()2.显示样式import timeprint(time.time())#1560150343.5837357 距离计算机元年1970年1月1日00:00:0的过去了多少秒推荐Python大牛在线分享技术 扣qun:855408893领域:web开发,爬虫,数据分析,数据挖掘,人工智能2.结构...原创 2019-12-08 16:58:43 · 49 阅读 · 0 评论 -
python-datetime模块,random模块
1.datetime模块(用于修改日期)import datetimeprint(datetime.datetime.now(),type(datetime.datetime.now()))2019-06-10 19:37:55.776883 <class 'datetime.datetime'>修改时间方法1#我们可以吧结果强制转换成字符串再用字符串的内置方法进行切割 ...原创 2019-12-08 16:58:44 · 49 阅读 · 0 评论 -
python-os模块,sys模块
1.os模块(功能类似操作系统与文件交互)1.常用模块功能1.创建文件1.mkdir2.移除文件1.remove删除指定文件2.rmdir删除单级空目录,若目录不为空则无法删除3.removedirs若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推3.文件重命名1.rename4.文件的拼接1.os.path.join(path)推荐Python...原创 2019-12-08 16:58:45 · 57 阅读 · 0 评论 -
python-json模块,pickle模块
1.josn模块(用于指定数据类型文件快速读写修改)1.指定的数据类型dict(字典)str(字符串)int/float(整型/浮点型)bool中的False,True,None2.dumps/loadsloads用于内存中修改,把dumps把’{1:2}'这样的数据变成{1:2}dumps用于内存中修改,把loads把{1:2}这样的数据变成’’{1:2}’推荐Pytho...原创 2019-12-09 13:54:10 · 67 阅读 · 0 评论 -
python-hashlib模块,hmac模块
1.hashlib模块(文件传输中将传输内容用指定算法进行处理)hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 算法),该算法接受传入的内容,经过运算得到一串hash值。import hashlibm = hashlib.md5() #导入算法m.update...原创 2019-12-09 13:54:12 · 126 阅读 · 0 评论 -
python-logging模块,程序日志模板
1.logging模块用于程序的运行日志1.初级#首先程序运行分会出现5中情况1.logging.debug('debug') #程序调试级别为102.logging.info('info') #程序调正常运行别为203.logging.warning('warning') #程序运行出现警告级别为304.logging.error('error') ...原创 2019-12-09 13:55:01 · 171 阅读 · 0 评论 -
python-numpy模块(对矩阵的处理,ndarray对象)
一.numpy模块import numpy as np约定俗称要把他变成np1.模块官方文档地址https://docs.scipy.org/doc/numpy/reference/?v=201903071357502.创建矩阵1.np.arrayimport numpy as np#创建一维的ndarray对象arr = np.array([1, 2, 3])print(arr...原创 2019-12-09 13:55:05 · 439 阅读 · 0 评论 -
python-pandas模块(很详细归类),pd.concat(后续补充)
一.pandas模块import pandas as pd约定俗称为pd1.模块官方文档地址https://pandas.pydata.org/pandas-docs/stable/?v=201903071357502.对一维的数据处理成列表1.pd.Serirs功能import numpy as npimport pandas as pdarr = np.array([1, 2...原创 2019-12-09 13:55:07 · 556 阅读 · 0 评论 -
python-re模块
1.re模块1.re.findall()1.基本用法re.findall(正则匹配的格式,匹配的对象)2.正则匹配常用格式1.^只匹配开头在多行模式中匹配每一行的开头2.a|b匹配的格式a或者b3[][a,b]匹配的格式a或者b如果ab为多个值他会把里面的东西打散[1-9]数字1-9[a-z]字母a-z[A-Z]字母A-Z[^x]内容不等于x...原创 2019-12-09 21:59:29 · 70 阅读 · 0 评论 -
python-matplotlib模块
1.matplotlib模块用于画图数据可视化import matplotlib.pyplot as plt预定俗称的导入方式别乱搞1.模块使用三步骤1.给数据2.画布设置2.给图的格式,可以什么都不设置,默认的,但是丑!4.how一张画布推荐Python大牛在线分享技术 扣qun:855408893领域:web开发,爬虫,数据分析,数据挖掘,人工智能2.模块的使用举...原创 2019-12-09 21:59:30 · 131 阅读 · 0 评论 -
python-struct模块(用于对象的压缩)
struct模块1.struct模块中的函数函数returnexplainpack(fmt,v1,v2…)string按照给定的格式(fmt),把数据转换成字符串(字节流),并将该字符串返回.pack_into(fmt,buffer,offset,v1,v2…)None按照给定的格式(fmt),将数据转换成字符串(字节流),并将字节流写入以offset开始的...原创 2019-12-09 21:59:31 · 149 阅读 · 0 评论 -
python类与对象,类的继承,类的派生,类的组合,多态
面向对象编程1.类与对象在python中先有类再有对象,类和对象,你可以看成,类是把对象的相同特征和相同方法汇总再一起,再根据类来生成对象,这个对象具有类的特征与方法1.类的命名class 类名:#这里类名必须用驼峰体进行命名有些特殊情况除外 name = a #特征 def __init__(self): self #对于生成的对象来说是生成的对象,对于类来说是个要传的形...原创 2019-12-09 21:59:32 · 92 阅读 · 0 评论 -
python类的封装,类内的方法装饰器,类的方法修改与删除装饰器,经典类和新式类
1.类的封装封装:隐藏属性或方法,外部无法使用,内部可以使用,在类定义阶段就执行了,真的想引用,就使用_类名__属性名#比如class YwY: __name = 1 #其等同于做了这一层处理_YwY__name = 1a = YwY()print(a.__name)#会报错,类外面没法直接引用类里面隐藏的变量#我们如果直接用类来引用这个变量#所有我们真的要拿里面的变量的...原创 2019-12-09 21:59:34 · 166 阅读 · 0 评论 -
python判断对象的类,反射
1.isinstance/type/issubclass1.type显示对象的类,但是不会显示他的父类2.isinstance会显示的对象的类,也会去找对象的父类,填写参数是对象,类isinstance(对象,类)如果对象属于后面的类会报Ture,反之False3.issubclass与isinstance 相似不过他填写的参数是类与类推荐Python大牛在线分享技术 扣qun:8...原创 2019-12-10 15:52:13 · 190 阅读 · 0 评论 -
python描述符\get/set/delete,init/new/call,元类
1.描述符__get__,set,delete描述符是什么:描述符本质就是一个新式类,在这个新式类中,至少实现了____get__(),set(),delete()中的一个,这也被称为描述符协议**get**():调用一个属性时,触发**set**():为一个属性赋值时,触发**delete**():采用del删除属性时,触发这三者来对于类的属性生成一个类,然后对一个新类立面的特征进...原创 2019-12-10 15:52:19 · 84 阅读 · 0 评论 -
网络框架,互联网的组成,OSI七层协议,抽象层
1.网络框架1.单机单机游戏以下两个基于网络的2.CS架构cs—>client客户/server服务服务端(应用程序)一个就够了,客户端(应用程序)可以有多个服务端和客户端都是应用程序,那两者一定都可以存储数据,哪一个存储数据更好:服务端: 很多人都可以用,它一次更新,其它人还是直接拿,还能保证数据的安全客户端:非常快,如果本地保存账号密码,安全性非常低,客户...原创 2019-12-10 15:52:22 · 286 阅读 · 0 评论 -
TCP概述\三次握手四次挥手\报文首部,常用熟知端口号
1.TCP概述TCP把连接作为最基本的对象,每一条TCP连接都有两个端点,这种端点我们叫作套接字(socket),它的定义为端口号拼接到IP地址即构成了套接字,例如,若IP地址为192.3.4.16 而端口号为80,那么得到的套接字为192.3.4.16:80。2.常用熟知端口号应用程序FTPTFTPTELNETSMTPDNSHTTPSSHMYSQL熟知端口...原创 2019-12-10 15:52:25 · 275 阅读 · 0 评论 -
基于TCP协议的套接字编程
1.关于SocketSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。socket模板已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准...原创 2019-12-10 15:52:28 · 88 阅读 · 0 评论 -
Python爬虫页面获取基础:Requests库
1.Response对象的属性属性说明r.status_codeHTTP请求返回的状态,200表示成功,404表示失败,还有其他的也代表失败r.textHTTP响应内容转换成字符串格式r.contentHTTP响应内容转换成二进制格式r.encoding从HTTP header中猜测响应内容r.apparent_encoding从内容中分析响...原创 2019-12-12 20:49:36 · 64 阅读 · 0 评论 -
Python爬虫页面获取基础:深入requests库params|data|json参数
一.paramsparams:字典或者字节序列,作为参数增加到URL中。不仅访问URL,还可以向服务器携带参数。简单来讲也就是说对于原来的网址进行内容的提交形成新的url举例演示data ={ 'wd':'ywy',}rp = requests.get('https://www.baidu.com/s',params=data)print(rp.url)print('-'*...原创 2019-12-12 20:49:38 · 1425 阅读 · 0 评论 -
Python爬虫页面获取基础:requeests模块请求常用参数的写法整理
一.requests.getrequests.get是调用了requests.request('get', url, params=params, **kwargs)1.url协议://域名?参数如:https://www.baidu,com/s?kw=111112.paramsparams= {传参的名称=传参的值}字典的形式有几种情况:url中有参数,params也有参数:最终...原创 2019-12-12 20:49:41 · 386 阅读 · 0 评论 -
Python爬虫页面获取基础:requeests模块响应体属性和方法重新整理
下面的属性方法都是基于response对象`import requestsresponse = requests.get('url')一.url返回值的url二. text获得响应体文本信息三.encoding返回值的解码格式推荐Python大牛在线分享技术 扣qun:855408893领域:web开发,爬虫,数据分析,数据挖掘,人工智能四.apparent_enc...原创 2019-12-12 20:49:44 · 202 阅读 · 0 评论 -
Python爬虫页面获取基础:Python3安装与使用urllib2包之小坑
Python3.6.6或者说python3.x找不到urllib2语法问题修改之后,会报一个没有安装urllib2的包的错误。通过pip install urllib2也会提示找不到包。通过pip3 install urllib2也会提示找不到包。这是因为builtwith依赖于urllib2包。但Pyhton2中的urllib2工具包,在Python3中分拆成了urllib.request...原创 2019-12-12 20:49:46 · 91 阅读 · 0 评论 -
Python爬虫页面获取基础:js代码-execjs
一.安装模块pip install PyExecJSexecjs会自动使用当前电脑上的运行时环境(建议用nodejs,与Phantomjs)二.简单的使用import execjsjs_obj = execjs.compile('js字符串')js_obj.call('js字符串中方法',参数)三.js字符串中模拟浏览器环境即导入document与window对象一.安装依赖...原创 2019-12-13 16:12:35 · 366 阅读 · 0 评论 -
Python爬虫页面解析基础:BeautifulSoup库
BeautifulSoup库一.BeautifulSoup库的下载以及使用1.下载pip3 install beautifulsoup42.使用improt bs4二.BeautifulSoup库解析器解析器使用方法优势劣势bs4的HTML解析器BeautifulSoup(mk,‘html.parser’)Python 的内置标准库执行速度适中文...原创 2019-12-13 16:12:39 · 207 阅读 · 0 评论 -
Python爬虫页面解析基础:url编码本质
url编码本质其实url本质就是将中文字符串进行utf8编码,然后得到编码后的对象转换字符串去掉开头的b'以及末尾的',然后再将\x转换成%,再将里面内容x变成e最后将字符串小写变成大写举例#拿我举例#第一步进行编码a= '我'a= a.encode('utf8')#第二步进行转字符串去除头尾a = str(a).strip("b'") #strip里面的值不是匹配而是有无...原创 2019-12-13 16:12:40 · 94 阅读 · 0 评论