- 缩 写
- py
- 作 者
- Guido van Rossum
- 最新版本
- 稳定:3x:3.8.3 2x:2.7.18;测试:3.9.0a6 2.x:2.7.18rc1 [1]
- 最近更新时间
- 2020年04月28日
- 别 名
- 胶水语言
- 发行时间
- 1991年
- 中文名
- 蟒蛇
- 经典教材
- Head First Python; Automate the Boring Stuff with Python
- 语言类型
- 高级语言
- 荣 誉
- 2017年度编程语言
- 外文名
- Python
-
2019-10-29 19:39:54
目录
1 标识符
标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。
以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:
_xxx
,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import *
导入;双下划线开头的标识符,如:__xx
,表示私有成员;双下划线开头和结尾的标识符,如:__xx__
,表示 Python 中内置标识,如:__init__()
表示类的构造函数。2 关键字
and exec not assert finally or break for pass class from print continue global raise def if return del import try elif in while else is with except lambda yield 上面表中是 Python 中的关键字(保留字),我们在自定义标识符时不能使用关键字。
3 引号
Python 可以使用引号(
'
)、双引号("
)、三引号('''
或"""
)来表示字符串,引号的开始与结束须类型相同,三引号可以由多行组成。如下所示:id = '001' name = "张三" skill = ''' 唱歌 跳舞''' skill = """ 唱歌 跳舞"""
4 编码
Python2 中默认编码为
ASCII
,假如内容为汉字,不指定编码便不能正确的输出及读取,比如我们想要指定编码为UTF-8
,Python 中通过在开头加入# -*- coding: UTF-8 -*-
进行指定。Python3 中默认编码为
UTF-8
,因此在使用 Python3 时,我们通常不需指定编码。5 输入输出
Python 输出使用 print(),内容加在括号中即可。如下所示:
print('Hello Python')
Python 提供了一个 input(),可以让用户输入字符串,并存放到一个变量里。如下所示:
name = input() print('Hi',name)
6 缩进
Python 不使用
{}
来控制类、函数、逻辑判断等,而是使用缩进,缩进的空格可变。如下所示:if True: print(True) else: print(False)
7 多行
Python 中一般以新行作为语句的结束标识,可以使用
\
将一行语句分为多行显示。如下所示:a = 128 b = 1024 c = 512 d = a + \ b - \ c
如果包含在
[]
、{}
、()
括号中,则不需要使用\
。如下所示:arr = { a, b, c }
8 注释
Python 中单行注释使用
#
,多行注释使用三个单引号('''
)或三个双引号("""
)。如下所示:# 我是单行注释 ''' 我是多行注释 我是多行注释 ''' """ 我是多行注释 我是多行注释 """
9 数据类型
-
整数:可以为任意大小、包含负数
-
浮点数:就是小数
-
字符串:以单引号
'
、双引号"
、三引号'''
或"""
括起来的文本 -
布尔:只有
True
、False
两种值 -
空值:用
None
表示 -
变量:是可变的
-
常量:不可变
10 运算符
10.1 常用运算符
运算符 描述 示例 + 相加 a + b - 相减 a - b * 相乘 a * b / 相除 a / b % 取模 a % b ** 幂 a**b 表示 a 的 b 次幂 // 取整除 9 // 4 结果为 2 == 是否相等 a == b != 是否不等于 a != b > 是否大于 a > b >= 是否大于等于 a >= b <= 是否小于等于 a <= b = 简单的赋值运算符 a = b + c += 加法赋值运算符 a += b 等效于 a = a + b -= 减法赋值运算符 a -= b 等效于 a = a - b *= 乘法赋值运算符 a *= b 等效于 a = a * b /= 除法赋值运算符 a /= b 等效于 a = a / b %= 取模赋值运算符 a %= b 等效于 a = a % b **= 幂赋值运算符 a **= b 等效于 a = a ** b //= 取整除赋值运算符 a //= b 等效于 a = a // b & 与 a & b | 或 a | b ^ 异或 a ^ b ~ 取反 ~a << 左移动 a << 3 >> 右移动 a >> 3 and 布尔类型与 a and b or 布尔类型或 a or b not 布尔类型非 not a is 判断两个标识符是否引用同一个对象 a is b is not 判断两个标识符是否引用不同对象 a is not b 10.2 运算符优先级
运算符 描述(由上至下对应优先级由高到低) ** 幂运算 ~ + - 取反、正号、负号 * / % // 乘、除、取模、取整除 + - 加法、减法 >> << 右移、左移 & 与 ^ | 异或、或 <= < > >= 比较运算符 == != 是否等于、是否不等于 = %= /= //= -= += *= **= 赋值运算符 is is not 身份运算符 in not in 成员运算符 not and or 逻辑运算符 基础
Python 基础(二):基本语句
Python 基础(三):我是一个数字
Python 基础(四):字符串
Python 基础(五):序列
Python 基础(六):列表与元组
Python 基础(七):字典与集合
Python 基础(八):与时间相关的模块
Python 基础(九):函数
Python 基础(十):模块与包
Python 基础(十一):面向对象
Python 基础(十二):文件基本操作
Python 基础(十三):os 模块
Python 基础(十四):错误和异常
Python 基础(十五):枚举
Python 基础(十六):迭代器与生成器
Python 基础(十七):装饰器
Python 基础(十八):命名空间 & 作用域
Python 基础(十九):数学相关模块
Python 基础(二十):sys 模块
Python 基础(二十一):argparse 模块
Python 基础(二十二):正则表达式进阶
Python 进阶(一):多线程
Python 进阶(二):多进程
Python 进阶(三):邮件的发送与收取
Python 进阶(四):数据库操作之 MySQL
Python 进阶(五):数据库操作之 SQLite
Python 进阶(六): Excel 基本操作
Python 进阶(七): Word 基本操作
Python 进阶(八):XML 基本操作
Python 进阶(九):JSON 基本操作
Python 进阶(十):网络编程爬虫
100+ Python 爬虫经典实战项目
Python 爬虫(一):爬虫伪装
Python 爬虫(二):Requests库
Python 爬虫(三):BeautifulSoup库
Python 爬虫(四):Selenium 框架
Python 爬虫(五):PyQuery 框架
Python 爬虫(六):Scrapy 爬取景区信息
Python 爬虫(七):pyspider 使用
Python 爬取知乎问答
Python 爬取公众号文章
Python 爬取 B 站《后浪》弹幕
Python 爬取爱奇艺《民国奇探》弹幕
用Python爬取英雄联盟(lol)全部皮肤
Python 爬取豆瓣《南方车站的聚会》评论
用Python爬取了三大相亲软件评论区,结果…
爬取林丹和赵雅淇的微博评论,看看网友都说了些什么自动化
Word 批量转 PDF
Python 批量合并 Excel
自动化神器!Python 批量读取身份证信息写入 Excel
Python + Appium 自动化操作微信入门看这一篇就够了
用Python实现微信自动化抢红包,再也不用担心抢不到红包了
我用 Python 找出了删除我微信的所有人并将他们自动化删除了
用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了数据分析
Python 数据分析(一):NumPy 基础知识
Python 数据分析(二):Matplotlib 绘图
Python 数据分析(三):初识 Pandas
Python 数据分析(四):Pandas 进阶
最全的 NumPy 教程
Python 分析《龙岭迷窟》
Python 绘制各种疫情图
Python 数据分析入门知识手册
Pandas 速查表&中文文档&视频教程
用 Python 分析电影《我和我的家乡》
2022春节贺岁档电影开分,用Python一探究竟
2021年国庆你的朋友去哪浪了?让Python告诉你
wlh的瓜很大!我用Python爬取了瓜文评论区,发现更精彩编写小游戏
扫雷
贪吃蛇
坦克大战
飞机大战
开心消消乐
俄罗斯方块
植物大战僵尸
魂斗罗+30个Python小游戏趣味 Python
当 Python 遇到微信
我用 Python 把老板辞退了
用 Python 写个七夕表白神器
用 Python 实现微信自动回复
用 Python 下载抖音无水印视频
Python 实现黑客帝国代码雨效果
用 Python 制作炫酷二维码及解析
用 Python 写一个颜值测试小工具
用 Python 送上特殊的母亲节祝福
骚操作 | 用 Python 实现 GIF 倒放
用 Python 画一个奸笑(滑稽)表情
用 Python 制作一个艺术签名小工具
我用 Python 画了一盘粽子送给大家
用Python画一棵带音乐的雪夜圣诞树
备战 618,用 Python 领取京东优惠券
用 Python 实现朋友圈中的九宫格图片
用 Python 实现一场环保无污染的烟花秀
用 Python 了解一下最炫国漫《雾山五行》
快过年了,用Python写副春联&福字送给你
不到 100 行 Python 代码即可实现换脸功能
朋友过生日,用Python给她画了个生日蛋糕
不到 20 行 Python 代码即可制作精美证件照
用 Python 将 QQ 好友头像生成「 五一快乐」
一行命令给猎狐 F4 带口罩 & 检测是否带口罩
用 Python 给自己的头像加一个小国旗(小月饼)
还在为 520 发愁吗?教你用 Python 写个表白神器文档 & 实战项目
Python 学习手册
Python3.10 官方文档 PDF
100+ Python 爬虫经典实战项目
70 个 Python 经典实用练手项目(附源码)
Python面试大全PDF(245道Python面试题)
240个Python练习案例附源码(百看不如一练)Python 自学路线
更多相关内容 -
-
Python 面试100讲(基于Python3.x)
2019-11-15 10:20:42本课程搜集了各大互联网公司的Python面试题以及类似的题目。课程体系包括Python语言本身的知识、Python SDK、Web、Python爬虫以及算法等内容。所以的源代码都使用Python3.x编写。Python相关知识包括基本语法、正则... -
【拯救者】Python期末考试急救(含整套真题讲解)
2020-12-12 20:42:15每一个Python期末考点都对应详解视频,基础阶段内容全面,语言通俗易懂(翻译书中的语言为人话),精心研究历年考卷,总结每一个考点,同时结合你肯定可以听懂的骚话,扫清你的盲区,巩固Python基础,助力你成为考霸.... -
Python入门基础教程全套.ppt
2020-04-22 15:59:55Python入门基础 -
手把手带你学python爬虫
2019-12-05 16:17:54课程名称:手把手带你学会Python爬虫 课程特色:大量的课堂案例,让你解决疑难杂症能力更上一层楼 学习建议:建议懂前端基础和后端基础的人观看 课程简介:课程包含urllib、requests、正则、xpath、bs4、selenium、... -
Python脚本100例
2018-11-17 21:51:57Python脚本实战编写100例,有简单到复杂,简单易懂好学,实用。一看就会,易学就懂。 -
Effective Python.pdf
2016-07-28 18:15:22Brett Slatkin是Google的一名高级软件工程师,九年前他开始尝试使用Python来管理Google庞大的服务器群,他的建议:成为一个好的Python程序员之前毋须完全读完本书。 •课程1: 使用表达式和语句:在课程1中,你会学习到... -
Python数据清洗实战入门
2019-12-09 10:47:41本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。 -
python爬虫20个案例
2018-03-25 07:34:21讲诉python爬虫的20个案例 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 -
python与anaconda安装(先安装了python后安装anaconda,基于python已存在的基础上安装anaconda)——逼死...
2019-09-15 09:47:57目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中...#一、安装python 欢迎...目录
一、安装python(python3.7.4)
1、下载
这里直接去python官网就可以了,网址是:https://www.python.org
打开后可以见到如图1:
图1 这里有两处都可以下载,还是有区别的,不想看的话,32位系统请选下载1,64位请选下载2。
(1)下载1(32位)
点第一处下载出现如图2:
图2 这里下载的文件名叫`python-3.7.4.exe`。(2)下载2(64位)
如果点击图1中的第二处下载,可见到如图3所示:
图3 往下翻到达 图4:图4 这里看自己的系统,我是window10*64,选了图中的包,下载的文件名是`python-3.7.4-amd64.exe`。到这里大家可以看到下载了两个包,分别是
python-3.7.4.exe
和python-3.7.4-amd64.exe
。如图5:*区别在与其中多了amd64,这里科普一下:64位现在分为amd64和em64t,我们常说的64位指的是AMD公司出的64位CPU,而EM64T是在32位基础上扩展来的,应该是一种伪64,是过渡期的一种解决方案。说白了AMD的64位CPU是64位兼容32位运算,而INTEL的EM64T是32位兼容64位运算。
*em64t和x86-64是两个不一样的集合,操作cpu的指令是不一样的,比如我想让cpu调用鼠标,em64t的指令就是ee,x86-64的指令就是ff。但大多数软件直接通过操作系统层来调用各种东西,所以这一类软件只要是64位的系统都可以用,不用担心。但我们的python就需要涉及到了,所以要区分。
*图4(图片里)中提到我下载的包既适合64位又适合32位,这里解释一下,我在那只是说for AMD64/EM64T/×64
这代表的是这个意思,但下载后文件名如图5是python-3.7.4-amd64.exe
,没有em64T,我也不知道什么情况。图5 这里两处恰好对应图1中两处不同的下载,下载1对应
python-3.7.4.exe
,下载2对应python-3.7.4-amd64.exe
。2、安装
对俩安装包点击,分别出现图6:
图6 如图7:
图7 这俩图图6、图7分别对应下载1、下载2,分别是32位和64位。之后的安装过程是一样的,所以只演示我自己电脑64位的。
在图7中把框都选上,如图8:
图8 点击自定义安装后出现图9:
图9 在图9中请将我画的打上勾,之后自定义安装位置,我安装在D盘的python37文件夹里了。之后点击安装
Install
,出现图10:
图10 安静等一会,不会太长。然后变成图11:
图11 到这里就完成了,需要注意图9是自定义安装位置路径别太长,不然配置环境变量你就有我不知道的问题了。
好了,如果你按我所说在图8和图9中都勾选了我所选的(重点是勾选了Add Python 3.7 to PATH
和Add Python to environment variables
),那你就可以跳过配置环境变量,直接点击去进行检验了,如果你没有选的话,接着看。3、配置python环境变量
先打开文件夹,如图12:
图12 此时右键图中
此电脑
出现图13:
图13 点击我标注的
属性
,此时出现图14:
图14 然后点击
高级系统设置
,对了,此处可以看到自己电脑的一些信息,点击之后出现图15:
图15 在图15中点击
环境变量
,然后弹出图16:
图16 在图16中找到path,记住别从用户变量中找,从系统变量,然后编辑path,如 图17:图17 前面在图8和图9中都勾选了我所选的,也就是已经在安装时自动配置了环境变量的人,他的图17和我一样,是自动就有框中这两样的
D:\Python37\Scripts\
和D:\Python37\
,没选到的,这里没这两项,需要自己写进去,点击新建
,然后写入的这两项:D:\Python37\
是你的安装目录,我在D盘建立的文件夹叫python37,所以是这个,这是我们在图9中自己选的安装目录,D:\Python37\Scripts\
是你python安装目录下有一个叫Scripts的文件夹的路径自己可以在你的python安装目录下找。我的python安装目录如图18:
图18 在往图17里写路径时,尽量从图18中复制,不然易错。完成后如图19:
图19 到此完成,可以开始检验了。
完成后建议保留安装包,细情请看点击此处
4、检验python
先找到
运行
这个应用程序,可以直接按Windows+R
键,也可以像图20:
图20 点击打开”运行“,出现 图21:图21 在”运行“框中输入cmd,点击确认,然后弹出 图22:图22 在图22中输入
python
并回车,会出现python的版本信息,如图23:
图23 版本是python3.7.4,此时输入行前面出现
>>>
,已经进入python环境,输入quit()
可以退出python,再输入exit
,退出黑框。二、安装anaconda(anaconda3)
1、下载
anaconda官网是外国网站,速度非常慢,建议去清华大学开源软件镜像站下载,
网址是:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,点击即可进入。
进入后如图24:
图24 根据网站信息选择适合的,我选的就是最新版那个,直接点击下载,不需要几分钟。
2、安装
下载完成后打开下载的安装程序,如图25:
图25 这是个欢迎界面,直接下一步:图26:
图26 这里不同意人家协议就不让你用,自己看着办,我先同意了,在下面图27等你!
图27 这里就如同python安装里的图9中
Install for all users
一样,按图27所示选择,然后点Next
,进入图28:
图28 如图可以看到又弹出一个框,可以自定义安装位置,没什么要求,就是路径里不要有汉字。然后点击下一步,进入图29:
图29 这里是你选了下面那个选项后弹出的一个提醒,就像是你修改系统默认应用一样弹出个
确认
框。直接点击确认就行。这里说一下,其实之前下载的python3.7.4和这里下载的anaconda都是一种编译环境,而且都是python语言的编译环境,进入这个环境编译的python才能运行,所以将anaconda修改为系统默认python环境时,会有提示,是否将原来的python3.7.4这个python环境修改为anaconda。
确认后出现图30:
图30 点击
Install
,继续出现图31:
图31 这个安装完成很快的,进度条完成后好像不会自己关闭安装界面,如上面图31,进度满了就点击
Next
,没满时按钮是灰的,点不了,不用担心,之后显示图32:
图32 这是推广软件,不管,下一步图33:
图33 这里其实无所谓了,选上那俩框就是关闭安装程序后打开俩学习python的网站,没啥用,还得关。点击
finish
就安装完成了,会关闭掉安装程序。3、配置环境变量
图34 因为前面配置了python37的环境变量,而python37和anaconda都是python环境,所以要删掉python37的环境变量,改为anaconda的,如图35:
图35 此时已经没有
D:\Python37\Scripts\
和D:\Python37\
这俩python37的变量了变为了D:\Anaconda3\Library\bin
、D:\Anaconda3\Scripts\
、D:\Anaconda3\
这三个变量,大家可以通过看上面有关D:\Python37\Scripts\
和D:\Python37\
的注释(点击”注释“)和图18来理解该如何写自己的anaconda变量;
完成以后可以按照图19来确认。完成后就该检验了。4、检验anaconda
先是参考python检验中的图20到图22,来打开到图22的状态,然后输入
conda --version
来查看conda的信息。如图36中1所示:图36 其实显出1中所示就已经结束了,可以确认安装好了。也可以输入
python
试试,如图中2所示,显现出了anaconda所带的python解释器的版本3.7.3。其实对照我们之前安装的python37的版本就可以看出,此时输入命令python
后出现的python3.7.3是anaconda自带的,我们之前装的python3.7.4在图35中删掉python37的环境变量后就不能再通过系统直接访问了,除非再将环境变量改回来。现在来讲讲如何将原来的python3.7.4加进anaconda中。三、扩展——将先前的python加入后来的anaconda
1、了解anaconda
首先了解一些前提,anaconda只有在完成环境变量的配置后才能使用conda命令,
有一组命令必须了解,即:
conda env list
conda info --e
conda info --envs
这三个都是查询conda里python环境的信息。试着查询一下,如图37:
图37 可以看到什么也没做的情况下conda里只有base一个默认环境,位置就在anaconda里。但我们看图38:
图38 在Anaconda3的文件里并没有base,所以应该是内部默认的一个环境,然后我们再看图36中最下面输入python时有一个提醒
Warning
,里面是说python3.7.3这个解释器是在一个python环境里,而这个环境没激活,激活化境的语句时activate 环境名
;再看图37,conda里只有base一个环境,所以尝试激活,输入activate base
,如图39:
图39 可以看到激活环境后命令行开头多了个(base),关闭环境的语句不用加环境名。然后我们尝试激活base环境的情况下使用
python
命令,运行python3.7.3,如图40:
图40 通过图40可以看到python3.7.3解释器是在base环境中。
2、添加python
要想将我们原来安装的python3.7.4装到anaconda中,先是创建一个环境。
创建一个名称为python37的虚拟环境并指定python版本为3.7.x(这里conda会自动找3.7中最新的版本下载)语句是
conda create -n python37 python=3.7
或者
conda create --name python37 python=3.7
python37只是我要建的文件的名,你可以自己定,这个指令其实就是在anaconda中的envs文件夹里创建一个叫python37的文件夹。
执行语句前我们通过图37,可以知道anaconda中只有一个base,而anaconda中envs文件中如图41所示没有任何东西。
图41 然后输入
conda create --name python37 python=3.7
,出现图42:
图42 回
y
后回车,第一次需要等会,成功后出现图43:
图43 此时再看anaconda里的环境,如图44:
图44 出现了python37,并显示位置在anaconda3里的envs文件夹里,打开文件夹可以看到图45:
图45 就是在envs里创建了一个python37,并且里面是有python解释器的,
解释一下,图45中还新出现一个test文件,估计是类似于日志一类的,别动它,之后就算删除了python37它也还会存在。
可以通过语句
activate python37
来激活python37这个环境,然后运行python
来查看python37里的解释器信息,如图46:
图46 通过图46可以知道建立的环境里是有python解释器的,并且版本是2019年9月发布的python3.7.4对比我们在python安装里的安装的python版本,图23所示,我们自己安装的python3.7.4是2019年8月发布的,所以此时的python是anaconda自己下载的,还不是我们之前装到那个,做这些只是为了给我们自己的python3.7.4先在anaconda里搭好一个适合python3.7.x的环境(也就是python37这个文件)。
环境搭好了,也就该移过来python37了,还记得你自己装的python3.7.4(8月版)的位置吗?也就是在图9中自定义的安装位置,找到它,并将你安装它的文件夹复制,我的是python37。这时就体现出前面将python(8月版)的安装文件夹命名为python37的好处了,python(8月版)的文件夹必须要与anaconda里envs下你建的python37(9月版)文件同名才行。这两处名可以不叫python37,但必须同名,不含汉字。
把你复制的python37(8月版)(也就是自己安装的python(8月版)文件)粘贴到anaconda的envs文件夹里去,出现图47:
如果俩文件夹不同命又真的不想动命名的话,也可以了,就是复制到时候不能复制安装python3.7.4(8月版)的文件夹,而是复制文件夹里的东西,全选上,复制后也不是粘贴到envs里了,粘贴到你在envs里建都那个python37(9月版)环境里,像我的就是envs里的python37(9月版)文件夹里
图47 之后因为同名关系,出现 图48:图48 选择替换掉,这时候应该理解了吧,完成后就把我们的python3.7.4(8月版)加进anaconda里了。
说白了就是鸠占鹊巢,我们的python3.7.4(8月版)想弄进anaconda里,受anaconda调用,必须在anaconda里有可调用的接口,而我们用命令
conda create --name python37 python=3.7
让anaconda自己下载了一个属于它自己的python,还是3.7版本的最新版,他自己的东西肯定就有接口了,但是它里面还带了一个python3.7.4(9月版),这时候我们只需要粘贴过来用我们自己的python3.7.4(8月版)覆盖掉anaconda里python37中带的python3.7.4(9月版)就好了。加进去后不放心可以检验一下,输入命令
activate python37
激活python37环境,在输入python
查看并进入python解释器,如图49:
图49 这时python3.7.4已经是8月版的,就是我们开始自己下载的。
另外创建python的环境命令时
conda create --name python37 python=3.7
而对应的删除命令是
conda remove --name python37 --all
执行删除命令后使用查看指令就看不到了,在envs文件里也删掉了。3、命令归纳
查看环境:
conda env list
conda info -e
conda info --envs
创建环境:
conda create -n python37 python=3.7
conda create --name python37 python=3.7
删除环境:
conda remove --name python37 --all
激活环境:
activate python37
关闭环境:
deactivate
打开python解释器:
python
4、error_创建环境以大写命名
这是在我创建环境时用大写命名时弹出错误,创建不成功,出现乱码,应该是不支持大写,如图50:
图50 我输入的是
conda create --name Python37 python=3.7
,这里文件我以大写P开头,而图中显示无法创建,并且大写P以乱码形式出现。后改为小写成功创建。四、记录一种python卸载方法
这里说的python是指自己下载的,如1、下载处这样下载,而非在anaconda里用语句下载的,下载完后建议保留安装程序,如图5所示,在安装完成后再次运行安装程序,会出现图51:
图51 这是点击第三项,可以很方便的卸载掉,所以建议保留,还可以用来修复呢。我已放入python安装文件里保留。
-
零基础Python自动化办公(漫画版)
2020-05-22 11:13:20时间被重复工作挤满?永远处理不完的文档与报表?工作效率低 总被领导批评教育? -
Python学生管理系统(web网页版)
2018-11-02 11:28:27Python学生管理系统(web网页版),前面发布了python的控制台版本的学生管理系统和使用tkinter界面版的学生管理系统,这次是使用Django开发基于学生的实体类的增删改查,里面包含项目演示录屏和完整的项目源码与... -
Python爬虫框架Scrapy
2019-08-07 15:57:44在Scrapy使用实践中,我们深刻体会到Scrapy框架只实现了爬虫流程,而真正的Scrapy核心是CSS选择器、xpath和正则表达式,所以本课程一开始先讲述了这三门课程,有了这三门课程的基础再学习Scrapy就会非常轻松。 -
【python技能树】python简介
2022-04-30 10:44:491 Python定义 Python 是一种简单易学并且结合了解释性、编译性、互动性和面向对象的脚本语言。Python提供了高级数据结构,它的语法和动态类型以及解释性使它成为广大开发者的首选编程语言。 Python 是解释型语言...1 Python定义
Python 是一种简单易学并且结合了解释性、编译性、互动性和面向对象的脚本语言。Python提供了高级数据结构,它的语法和动态类型以及解释性使它成为广大开发者的首选编程语言。
-
Python 是解释型语言: 开发过程中没有了编译这个环节。类似于PHP和Perl语言。
-
Python 是交互式语言: 可以在一个 Python 提示符 >>> 后直接执行代码。
-
Python 是面向对象语言: Python支持面向对象的风格或代码封装在对象的编程技术。
2 Python发展史
2.1 Python的发展
Python的创始人为Guido van Rossum。1989年,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。
Python 是由其他语言发展而来的,其中主要包括 ABC、Modula-3、C、C++、SmallTalk、Unix shell 等。
自从2004年以后,python的使用率呈线性增长。
Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。
2.2 Python的版本更新
目前python发布的版本过程主要包括如下:
发布版本
年份
GPL 兼容
0.9.0 至 1.2
1991-1995
是
1.3 至 1.5.2
1995-1999
是
1.6
2000
否
2.0
2000
否
1.6.1
2001
否
2.1
2001
否
2.0.1
2001
是
2.1.1
2001
是
2.1.2
2002
是
2.1.3
2002
是
2.2 及更高
2001至今
是
... ... ... 3.10.4 March 24, 2022 是 目前python 的最新版本已经达到3.10.4,因此可见版本更新之快。
2.1 Python2.0与Python3.0的区别
- 输出方面
Python2.0 使用print关键字进行输出,比如:print “Hello”;
Python3.0 使用print()函数,比如:print("Hello")。
- 输入方面
Python2.0 使用raw_input()函数,比如:name=raw_input("请输入你的名字:");
Python3.0 使用input()函数,比如:name=input("请输入你的名字:")。
- 字符串的编码格式
Python2.0 默认采用ASCII编码对输入的字符串进行编码;
Python3.0 默认采用Unicode编码对字符串进行编码。
- 格式化字符串的方式
Python2.0 用%占位符进行标准化格式输出字符串,比如:“Hello,%s" % ("World");
Python3.0 用format()函数,比如:”Hello,{}“.format("World")。
- 源文件的编码格式
Python2.0 默认采用ASCII,因此使用中文时要在源文件开头加上一行注释:# -- coding: utf-8 --;
Python3.0 默认采用utf-8。
- 数据类型
python2.0 有整型int、长整型long
python3.0 只有整型int
- 代码规范
python 2.0 源码不规范,重复代码很多
python 3.0 源码精简,美观、优雅
3 Python编译和运行过程
虽然Python源代码文件(.py)可以直接使用Python命令运行,但实际上Python并不是直接解释Python源代码,它是具有一个编译和运行的过程,具体过程如下图:
首先将Python源代码(.py文件)编译生成Python字节码(Python Byte Code,字节码文件的扩展名一般是.pyc),然后再由Python虚拟机(Python Virtual Machine,简称PVM)来执行Python字节码,最后在终端输出运行结果。
通过以上编译和运行过程可分析:Python是一种解释型语言,指的是解释Python字节码,而不是Python源代码。这种机制的基本思想与Java和.NET是一致的。
3.1 Python解释器
Python解释器(Interpreter)是把Python语言翻译成计算机 CPU 能听懂的机器指令。
首先可以在命令提示行输入python --version来查看python的版本:
$ python --version Python 3.7.4
然后在命令提示符中输入"Python"命令来启动Python解释器:
$ python
执行以上命令后,出现如下信息:
$ python Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
Python解释器易于扩展,可以通过调用C语言或C++来扩展新功能和数据类型。
3.2 Python解释器种类
- Cpython:用C语言开发的,在命令行下运行Python就是启动Cpython解释器,官方下载的python2.7均为Cpython。Cpython用>>>作为提示符。
- Ipython:基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。IPython用In [序号]:作为提示符。
- PyPy:主要针对执行速度。采用JIT技术,对Python代码进行动态编译。绝大部分Python代码都可以在PyPy下运行。
- Jpython:运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
- IronPython:运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
- Boost.Python:使得Python和C++的类库可互相调用(.pyc)。
3.3 Python虚拟机
python并不将py文件编译为机器码来运行,而是由python虚拟机一条条地将py语句解释运行,python虚拟机的执行方式就是模仿普通x86可执行文件运行方式。
虚拟机输入为字节码.pyc文件,由字节码文件加载器将二进制的.pyc文件加载到内存,由执行引擎解释执行,输出为字节码文件的执行结果。
3.4 Python字节码(.pyc)
Python中的字节码(bytecode) 是一种数据类型, Python代码的编译结果就是bytecode对象。bytecode对象可以由虚拟机加载后直接运行,而pyc文件就是bytecode在硬盘上的保存形式。
假如有个test.py文件需要执行,那么它会先生成.pyc文件,一般可能的情况如下:
- 执行 python test.py 会对test.py进行编译成字节码并解释执行,但不会生成test.pyc。
- 如果test.py中加载了其他模块,如import urllib2,那么python会对urllib2.py进行编译成字节码,生成urllib2.pyc,然后对字节码解释执行。
- 如果想生成test.pyc,可以使用python内置模块py_compile来编译,也可以执行命令
python -m py_compile test.py
这样,就生成了test.pyc。 - 加载模块时,如果同时存在.py和.pyc,python会使用.pyc运行,如果.pyc的编译时间早于.py的时间,则重新编译 .py文件,并更新.pyc文件。
如下为生成的.pyc文件示例:
4 Python的应用
Python的应用主要有以下领域:
- Linux/UNIX运维:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理。
- GUI程序开发(PyQt、Kivy等)
- Web程序开发(Django、Flask等框架):支持最新的XML技术。
- 移动App开发(PyQt、Kivy等):Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
- 网络爬虫(为搜索引擎、深度学习等领域提供数据源)
- 网络编程(基于Socket等协议):提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
- 图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
- 文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
- 数据库编程:可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,Mysql、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
- 数据科学:NumPy扩展提供大量与许多标准数学库的接口。机器学习(scikit-learn、TensorFlow框架)、数据统计分析和可视化(Matplotlib、seaborn框架)。
python应用举例:
- Google - 谷歌在很多项目中用python作为网络应用的后端,如Google Groups、Gmail、Google Maps等
- NASA - 美国宇航局,从1994年起把python作为主要开发语言
- 豆瓣网 - 图书、唱片、电影等文化产品的资料数据库网站
- Torchlight --Python编写的大型3D游戏,原Blizzard公司人员制作发行,开源
- Blender - 以C与Python开发的开源3D绘图软件 在科学研究中也得到广泛的应用
5 Python的特点
- 简单易读易学:Python是非常简单的语言,并且具有清晰的风格和强制缩进,Python具有简单的语法,极其容易入门。
- 免费其开源:Python是自由/开放源码的软件。可以自行对其源代码进行修改使用。
- 可移植性:Python可以被移植在许多平台上,常用的平台包括Linux、Windows、VxWorks、PlayStation、Windows CE、PocketPC等。
- 解释性: Python解释器把源代码转换成字节码,然后再把它翻译成计算机使用的机器语言并运行,即Python代码在运行之前不需要编译。
- 面向对象:Python支持面向对象的编程。程序通过组合(composition)与继承(inheritance)的方式定义类(class)。
- 可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,那么可以将部分程序用C或C++进行编写,然后在Python程序中调用。
- 可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
- 交互式命令行:python可以单步直译运行,可以在一个 Python 提示符 >>> 后直接执行代码。
- 丰富的标准库:Python标准库包括字符串处理(字典、数组切片、正则表达式re)、文档生成、多线程、串行化、数据库、HTML/XML解析(BeautifulSoup,Expat)、单元测试(PyUnit)、代码版本控制(PySVN)、WAV文件、网络控制(urllib2)、密码系统、GUI(图形用户界面,PyQt)、图形模块(Tkinter、PyTCL、WxPython)等。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
- 规范性:采用强制缩进的方式使得代码具有较好可读性,减少了视觉上的错乱。
- 胶水语言:python经常用作将不同语言编写的程序“粘”在一起的胶水语言。Boost.Python使得Python和C++的类库可互相调用(.pyc);Jpython是用Java实现的Python,可以同时使用两者的类库;Ironpython是Python在.NET平台上的版本。
6 Python优点
- 易于学习,非常适合初学者,也特别适合专家使用
- 可伸缩程度高,适于大型项目或小型的一次性程序(称为脚本)
- 可移植,跨平台
- 可嵌入(使 ArcGIS 可脚本化)
- 稳定成熟
- 用户社区规模大
-
-
python专利爬虫下载
2017-04-24 01:07:01这是一个python专利爬虫,使用中介者模式防止目标网站长时间无响应 -
python新浪微博爬虫,爬取微博和用户信息 (含源码及示例)
2016-04-24 21:25:50这是新浪微博爬虫,采用python+selenium实现。 免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但是至少能运行。同时rar中包括源码及爬取的示例。 参考我的文章: ...[python爬虫] Selenium爬取新浪微博内容及用户... -
❄️全网最详细的Python入门基础教程,Python最全教程(非常详细,整理而来)
2021-05-25 09:04:17最近想要学习Python,所以就在网上整理了好多整理而来 超级详细的Python入门教程📢前言
- 前两天闲来无事唠嗑,听朋友说Python是世界上最好的语言~🤡
- 我内心很疑惑,最好的语言不是 “C酷” 🙈吗 (狗头保命)
- 于是想要学一学他说的这个最好的语言😏
- 原文是一篇大佬发的,但是很多网页都是404了🤓
- 于是我足足整理了两天,才将它整理齐全🤣
- 有可能不是介绍最好的文章,但是一定是最全的😛
- 所有关于Python内容的几乎都涵盖了,整理起来发一篇文章😚
- 以后有什么Python的需求就来这里看了😗~
- 整理的头皮发麻,这玩意真费头发😯
1.编程语言是什么
7.Python 2.x和Python 3.x,初学者应如何选择?
9.Python 2to3:自动将Python 2.x代码转换成Python3.x代码
15.Python交互式解释器
16.Python注释
12.Python赋值运算符
13.Python算术运算符
14.Python位运算符
16.Python逻辑运算符
17.Python三目运算符
18.Python运算符优先级
7.Python字典
12.Python break
1.Python函数
10.Python函数高级用法
10.Python封装
11.Python继承机制
12.Python父类方法重写
13.Python super
15.Python type
17.Python多态
18.Python issubclass和isinstance
19.Python枚举类
5.Python setattr、getattr、hasattr
8.Python __iter__和__reversed__
5.Python包
11.Python写入文件(write和writelines)
12.Python os
12.Python线程池
16.Python fork
3.Python plot_Matplotlib 3D 绘图函数 plot_surface 的 rstride 和 cstride 参数
1.网络爬虫是什么
6.Python scrapy爬虫数据保存到MySQL数据库
💬结尾
好啦,以后如果碰到关于Python的部分,可以来这里参考一下哦
一键三连收藏夹吃灰?
不存在的,我也要学会这个所谓世界上最好的语言!
参考原文章https://blog.csdn.net/smxjant/article/details/93614544
-
21天学通PYTHON.pdf
2016-10-26 21:41:2521天学通PYTHON.pdf -
Python搭建的web接口聊天机器人
2016-01-25 22:02:22用Python搭建的聊天机器人,接口为web形式,运行后可以直接通过url与机器人聊天,url地址为http://localhost/aiml?req=hello(这里hello即为发送给机器人的信息)。用到了aiml开源库。 -
Python项目开发实战1-50 高清完整.pdf版下载
2017-03-09 00:45:18Python项目开发实战1-50.pdf -
python
2018-08-17 15:54:47图灵社区推荐11本python 好书 《Python深度学习》【即将上市】 《Python高性能》【即将上市】 《深度学习入门:基于Python的理论与实现》 《Python测试驱动开发(第2版)》 《零压力学Python》 《Python 3网络... -
Python安装教程(新手)
2020-11-06 16:20:28第一次接触Python,可能是爬虫或者是信息AI开发的小朋友,都说Python 语言简单,那么多学一些总是有好处的,下面从一个完全不懂的Python 的小白来安装Python 等一系列工作的记录,并且遇到的问题也会写出,让完全不... -
[Python] Python 学习手册 第5版 (英文版)
2013-08-06 08:41:33[奥莱理] Python 学习手册 第5版 (英文版) [奥莱理] Learning Python 5th Edition (E-Book) ☆ 出版信息:☆ [作者信息] Mark Lutz [出版机构] 奥莱理 [出版日期] 2013年07月03日 [图书页数] 1600页 [图书... -
python安装工具setuptools
2013-12-05 00:04:30python安装工具setuptools 这个工具是方便我们安装python下的一些其他库 附件下载setuptools-1.1.6.tar.gz,解压 cmd到解压目录,输入python ez_setup.py,就安装好了。 -
pywin32 for python 2.7 32位和64位
2016-01-06 13:52:39windows 运行python 必备, 需要根据自己的操作系统选择32位或64位 -
python 3.4 chm api 函数手册
2015-01-19 16:43:10python 3.4 chm api 函数手册 -
华为名师揭秘编程界“网红”Python
2021-05-04 10:09:572.4 Python为何受人追捧2.5 Python并不是十全十美2.6 Python与其他语言对比分析3 Python广泛的应用领域3.1 Python与人工智能3.2 Python与大数据3.3 Python与爬虫3.4 Python与网站开发3.5 Python与数据分析4 如何成长... -
64位python2.7.8
2014-07-07 15:09:24截止到2014.7.7,最新的64位python2.7.8。 -
零基础Python 入门
2021-04-23 17:49:08零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有很多的学校使用python作为入门编程语言。 【为什么学Python】 Python 是当今非常热门的语言之一,... -
python python3.4.1 64位python
2014-07-07 15:12:26截止到2014.7.7,最新的64位python3.4.1。