本篇文章给大家谈谈python软件有哪些,以及python软件的用途,希望对各位有所帮助,不要忘了收藏本站喔。
文章目录
一、Python简介
(一)Python语言介绍
Python是一种跨平台的计算机程序语言,是一种解释型的,面向对象的,带有动态语义的高级程序设计语言,最初用于编写自动化脚本,随着不断更新,越多被用于独立的,大型项目的开发。简单来说Python的特性如下:
- 优雅,明确,简单
- 拥有传统编译型程序语言所有强大通用的功能
- 拥有简单脚本语言和解释型程序语言的易用性python的基本知识点总结。
- Python介于C和shell之间,功能全面,易学易用,可扩展。
【一、Python版本】
- Python2版本:2000年发布,稳定版本为Python2.7。
- Python3版本:2008年发布,不完全兼容Python,目前主要使用Python3。
【二、Python文件后缀名】
- .py文件:以.py作扩展名的文件是Python源代码文件,由Python.exe解释,可以Shell终端运行,也可以用文本编辑器修改。
- .pyc文件:是Python的编译文件,不能用文本编辑器进行编辑,执行速度比.py文件快。不能看到源码,开发商编译为.pyc发布。
- .pyw文件:和.pyc文件本质一样,只是.pyw文件执行的时候不会出现类似CMD命令的Shell窗口。一般用来运行GUI图形用户界面程序。
- .pyo文件:是优化编译后的程序,使用【python -O 源文件】可以将源程序编译为.pyo文件,不能用文本编辑器进行编辑。
- .pyd文件:不是用Python语言编写的,一般是其他语言编写的python扩展模块。
【三、Python语言的别名】
- 胶水语言:很容易和其他著名的程序语言连接,集成封装。
- 脚本语言:高级脚本语言,脚本语言只能处理简单任务,它可以处理很多。
- 面向对象语言:完全支持集成,重载,派生,多继承。
【四、Python语言特点】
- 支持面向对象和解释性的高级语言,不用编译。
- 库丰富,底层库采用C编写。
- 执行效率慢,用于上层开发。编译型语言C++用于底层开发,执行速度快。
- 简洁性,易读性,可扩展性,所以使用方便。
- 可移植,可升级,可扩展
- 健壮性,解释性,编译性
- 内存管理器
- 快速原型开发工具
(二)Python应用领域
- Web开发:Python定义了WSGI标准应用接口来协调http服务器与基于Python的Web程序之间的沟通。
- 大数据:Python提供各种库,具有极其便捷强大的数据处理和统计功能。
- 人工智能:基于丰富的Python第三方库可以便捷高效地实现人工智能的各个阶段任务。
- 多媒体:可用于计算机游戏三维场景制作和各种专业领域应用。
(三)Python环境搭建
常见的Python软件
- Python自带的IDLE,优点小巧,缺点是需要另外安装很多Python包
- Anaconda平台,优点是已包含很多Python第三方包,使用比较方便,缺点是较大容易崩掉,系统不稳定。
- Pycharm:优点是比较稳定,功能强,适合开发大型项目;缺点是专业版收费,社区版和教育版免费
博客的学习前期使用IDLE,后期使用Pycharm,下面安装IDLE:
一、windows系统
1.去python官方网站进行软件下载:
2.选择合适的系统:
3.选择合适的版本下载:
4. 进行下载即可:
注意:勾选最下面的选项,表示将其添加到系统的环境变量中,这样可以在cmd窗口直接运行Python,不用到指定目录下去。
5.验证是否安装成功,打开cmd窗口:输入python,出现下面的页面表示安装成功,可以试着测试简单功能。
也可以在电脑中找到一个python3.7的文件夹,包含IDLE(即是解释器也是编译器,可以直接在此编写代码进行结果的运行)
二、Linux系统:
在Linux系统和ios系统自带python解释器,不需要安装,默认2.7.5版本,输入Python验证是否安装python:
使用python -V查看python的版本:
使用python3 -V查看另一个版本
二、初识Python
(一)第一个Python程序
第一个程序,输出hello world:
Mystr='Hello,World!'
print(Mystr)
字符串可以用单引号或双引号表示
python运行程序的模式:
- Shell方式又称为交互式方式:Shell是交互式解释器,输入一行命令,解释器就解释运行出相应的结果,直接在IDLE上写代码运行程序,类似Linux下的命令模式,但是无法保存代码,适合短代码,F1可以查看帮助手册,如下图:
- 批处理模式:创建文件,一次性处理多行代码,在Python的IDE环境中,创建一个以py为扩展名的文件,用Python解释器在shell中运行出结果,适合长代码。
(二)Python程序的运行方式
Python是一种解释性语言,Python在执行时,会先将.py文件中的源代码编译为字节码,再由Python虚拟机执行编译这些字节码,Python提供了一种中间编译结果保存机制。
【一、Windows系统】
-
IDLE直接运行:虽然可以直接在IDLE上面写代码,但是不方便,也可以在cmd窗口上打开IDEL,使用exit()退出此模式。
-
保存为文件运行:建立文件,IDLE运行显示结果,先建立一个新的文件夹,即点击newfile,将文件保存到自己设定的路径,尽量保存为英文即可,点击Run,第一个选项run model,因为python为解释性语言,所以直接运行即可。
-
cmd窗口直接运行:在cmd窗口上运行python程序,使用cd命令找到python代码存放的位置,运行python代码的格式:
cd /d 进入d盘 python 文件名 如:python hello.py #运行hello.py文件
-
cmd窗口通过python运行,即在cmd窗口上打开python,运行此程序
【二、Linux系统】
在Shell终端运行即可,使用vim创建一个文件,使用【python 文件名】这样的格式执行脚本,如下图所示:
(三)变量,常量,关键字
【一、变量】
在程序运行几千可以改变的量称为变量,一个变量应该有一个名字,并在内存中占据一定的存储单元,在该存储单元中存放变量的值。变量名的本质:一段连续内存空间的别名,如下图所示:
故变量名就是引用对象和标识对象。python为动态语言,定义的变量类型会根据赋值运算符后面的值自动转换类型,不需要定义类型,直接写即可。
可以使用type查看变量类型,如:
a="hello"
print(type(a))
运行结果为:字符类型
标识符是指Python语言中允许作为变量名或其他对象名称的有效符号,标识符规则即变量规则:
- 首字符是字母或下划线
- 其余可以是字母,下划线,数字
- 大小写敏感
- 不能使用关键字
注意:一般大写的标识符我们约定为常量;下划线开头的标识符为内建标识符,一般认为私有的
【二、常量】
所谓常量就是不能变的变量,比如常用的数字常数Π就是一个常量,通常用全部大写的变量名标识变量,但是python的常量和变量定义的很模糊,只是口头上的保证,没有机制来保证值不变,想改变也可以。
【三、关键字】
关键字是Python语言的关键组成部分,不可随便作为其他对象的标识符,它有以下性质:
- 在一门语言中关键字是基本固定的集合
- 在IDE中常以不同颜色字体出现
可以使用下面的代码查看所有的关键字
import keyword
keyword.kwlist
(三)输入输出函数
【一、input输入】
input作用:使用input函数获取键盘上输入的值,返回值为字符串类型,可以使用int(),float()等函数将其转换为我们需要的类型。
如:将键盘上的值保存到num中,此时的12为字符串,需要数字格式需要int()进行格式转换。下图所示:
num=input("请输入数字:")
print(type(num))
num=int(num)
print(type(num)) #查看num的类型
python没有char类型,无论单引号还是双引号都称为字符串类型
【二、print输出】
不需要导入其他文件,python在加载时会加载常用内置函数模块,print为内置函数,向屏幕打印指定对象的信息,使用格式如下:
- print(“值”)打印值,多个值用逗号分隔
- print(变量名)
(四)注释
- 【#】表示单行注释
- 【\】表示续行符,即一行未结束
- 【""" ……""" 或者’’’……’’’】英文三个双引号或三个单引号可以实现多行注释
注释的类型为字符类型,如:
a=10 #我是单行注释
Cons="This is oneline\
continue,end"#续行符,表示下面和这一行是一行
print(Cons)
"""
print("hello")
print(a)
多行注释
"""
s='''Python单行注释'''
print(type(s))
运行输出,可以看到注释都没有输出
(五)风格
Python采用缩进格式代替花括号
- 增加缩进表示语句块的开始
- 使用相同的缩进表示同级别语句块
- 减少缩进表示语句块的退出
三、 Python基本数据类型、运算符、赋值语句
(一)基本类型
Python提供了基本的内建数据类型,如下表:
类型 | 含义 | 示例 |
---|---|---|
int | 整型类型 | 123 |
float | 浮点类型 | 2.3,1.2e6 |
bool | 布尔类型 | True,False |
NoneType | 空类型 | None |
complex | 复数类型 | 5+3j |
str | 字符串类型 | “hello",‘xyz’ |
list | 列表类型 | list=[1,2,3,4] |
tuple | 元组类型 | tup=(1,2,3,4) |
dict | 字典类型 | d={“python”:1,“C++”:2} |
【一、int整型】
Python可以处理任意大小的整数,包括负整数。Python2支持整型值后加L即长整型;Python3整数范围和机器字长有关,如32位或64位,所以Python中整型没有溢出问题。 在程序中表示的方法和数学上的写法一样,如1,100,0等。
整数类型按进制分为:
- 十进制整数:10
- 十六进制整数:0xa
- 八进制整数:0o12
- 二进制整数:0b1010
二进制、八进制、十六进制标识分别为b,o,x
一、十进制转换为其他进制
整数有符号,所以处理负数,结果会包含一个负号。
(一)使用自己独有的函数转换,处理结果带有进制标识
将十进制整数转化为二进制,八进制,十六进制的文本串即字符串,可以使用下列函数:
bin(x)#将x转换为二进制
oct(x)#将x转换为八进制
hex(x)#将x转换为十六进制
如下图:
转换结果包含进制标识符。
(二)使用统一的函数,转换结果不包含进制标识
使用函数format,使用格式为:
format(待转换整数,进制标识)
如下图:
转换结果不包含进制标识符。
二、其他进制转换为十进制
使用int函数可以将不同进制转换整数,函数使用格式如下:
int(待转换字符,进制标识符)#表示将几进制转换为十进制
如下图所示:
转换后的结果类型为整数。
【二、 float浮点型】
浮点数就是小数,之所以称为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的,对于很大或者很小的数,必须用科学计数法表示,e表示10。如下图举例:
注意:Python中没有double类型,根据值大小进行分配,有垃圾回收机制;在运算过程中,如果有一个数为浮点数,那么运算结果为浮点数。
【三、 bool布尔型】
整型的子类,仅有2个值为:True,False,本质上是用整型的1,0分别存储的。在Python中值为0的任何的数字或者是空集如列表,元组,在Python中它的布尔值都是False
【四、NoneType空值】
空值是Python里一个特殊的值,用None表示,None不能理解为0,因为0是有意义的,而None是一个特殊的空值,None和任何其他数据比较永远返回False,如下图所示:
【五、complex复数型】
如果j=√-1,则 j 是虚数,虚数的平方根为负数,复数=实数+虚数,Python中虚数用标记符 j 来标记,其他语言中没有这种类型,而Python中设计了这种类型。 复数可以是:复数,纯虚数,纯实数,如下图所示:
复数可以分离实数部分,虚数部分,函数如下:
复数.real #得到实部
复数.imag #得到虚部
使用函数可以求共轭复数,即两个实部相等,虚部互为相反数的复数互为共轭复数,函数如下:
复数.conjugate()
如下图所示:
【五、序列类型-str字符串】
字符串是以单引号或双引号括起来的任意文本,比如”abc",‘xyz’等。
(一)字符串的简单运算
- 支持加法运算,即实现字符串拼接,如下图所示:
- 支持乘法运算,可以理解为本身拼接n次,如下图所示:
(二)字符串的转义
可以使用反斜杠\对某些特殊字符进行转义,这样python就会将它”当作一个普通的字符,而不是特殊的标记,如打印\n而不是换行,如下图所示:
(三)长字符串的表示方式
当需要写多行字符串时,使用三个单引号或双引号代替普通引号:
"""
str
“”“
或
’‘’
str
‘’‘
这时可以在字符串中使用单引号/双引号不需要反斜杠进行字符转义,其他的例如\n还是需要转义的,如:
(四)原始字符串
原始字符串以r开头,在普通字符中反斜杠\转义,不会输出\,但是在原始字符串中反斜杠可以转义,但是输出的字符串包含\, 如:
注意:原始字符不能以\结尾,因为不知道是否为字符串结束符:如:
如果必须最后要\,可以其单独处理显示,如:
(六)用户方便的字符串 && 编译器读取形式的字符串
我们从显示屏上看到的字符,编译器不能处理,那么为了解决这种情况,有两个函数为str和repr:
-
str函数:将值转换为合理形式的字符串,以便于用户理解,和print直接打印结果一样,如:
可以看到使用str函数的字符串和print打印的一样,不会显示出字符串的标识。 -
repr函数:会创建一个字符串,将其转化为供编译器读取的形式,如:
可以看到输出结果带有字符串标识,repr函数还具有将整数转换为字符串类型的功能,利用此可以实现字符串和数字的相加,如:
总结来说:str让用户更便于阅读,repr转换为python的合法表达式,可以用于整数转换为字符串。
【六、序列类型-list列表】
列表是一种强大的数据结构,序列中的么个元素都分配一个数字-位置,用方括号[]表示,为可变类型,从0开始编号,根据下标访问,如下图所示:
后面博客会详细学习此知识点
【七、序列类型-tuple元组】
列表类似,用小括号()表示,是不可变类型即元组的元素不能修改,按照下标访问,如下图所示:
后面博客会详细学习此知识点
【八、映射类型-dict字典】
字典为映射类型的容器,用大括号{}表示,类似哈希表的键值对,每个键值对key-value用冒号【:】分割,每个键值对之间用逗号【,】分割。可以根据键值访问值,即通过key访问到value,如下图所示:
后面博客会详细学习此知识点
(二)运算符
假定a=10,b=10;
【一、算术运算符】
符号 | 意义 | 示例 |
---|---|---|
+ | 加法运算符 | a+b=10 |
- | 减法运算符 | a-b=10 |
* | 乘法运算符 | a*b=10 |
/ | 除法运算(返回浮点结果) | a/b=1.0 |
// | 除法运算(返回整数结果 | a/b=1 |
% | 模运算 | a%b=0 |
** | 指数运算符即幂运算符 | 2**3=8 |
注意:幂运算符比一元运算符优先级高,所以会先和**结合,那么负数幂运算时需要添加括号,如:
不加括号永远为负数。
【二、 比较运算符】
符号 | 意义 | 示例 |
---|---|---|
== | 比较两个对象的值是否相等 | a==b结果为True |
!= | 不等于号比较两个对象值是否不相等 | a!=10结果为False |
> | 大于符号 | a>20返回False |
< | 小于符号 | a<20返回True |
>= | 大于等于 | a>=10返回True |
<= | 小于等于 | a<=10返回True |
注意,在比较时:
- 数值比较:按值比较
- 字符串比较:按ASCII码值大小比较
表达4大于3并且小于7,其他语言为:3<4&&4<7,但是Python为3<4<7即可,计算时小于运算符从左往右结合计算
【三、 逻辑运算符】
符号 | 意义 | 示例 |
---|---|---|
and | 逻辑与 | 5>3 and 2==1结果为False |
or | 逻辑或 | 5>3 or 2==1结果为True |
not | 逻辑非 | not 5>3 结果为Flase |
【四、赋值运算符】
符号 | 意义 | 示例 |
---|---|---|
= | 基本赋值运算符 | a=10 |
+= | 加法赋值运算符 | a+=10=a=a+10 |
-= | 减法赋值运算符 | a-=10 |
*= | 乘法赋值运算符 | a*=10 |
/= | 除法赋值运算符 | a/=10 |
//= | 取整赋值运算符 | a//=10 |
%= | 取余赋值运算符 | a%=10 |
**= | 幂赋值运算符 | a**=10 |
【五、按位运算符】
符号 | 意义 |
---|---|
& | 按位与 |
| | 按位或 |
~ | 按位非 |
^ | 按位异或 |
<< | 按位左移 |
>> | 按位右移 |
【六、成员运算符】
符号 | 意义 |
---|---|
in | 判断某个值是否在一个集合中,在返回True,不在返回False |
not in | 判断某个值是否不在一个集合中,不在返回True,在返回True |
【七、身份运算符】
符号 | 意义 |
---|---|
is | is判断左右两边的数在内存中是否为同一位置即引用一个对象,如果引用的是同一个对象那么返回True,否则返回False |
is not | 判断两个标识符是不是引用不同的对象 |
使用id(a)可以查看a的内存地址
运算符优先级:
由上至下,由高到低,同一优先级按照从左向右原则运算。
运算符 | 说明 |
---|---|
** | 指数运算符 |
~,+,- | 按位取反,正负号 |
*,/,%,// | 乘除,取模取整 |
+,- | 加减 |
>>,<< | 右移,左移 |
& | 按位与 |
^,| | 异或、或 |
<=,<,>,>= | 比较运算符 |
==,!= | 等于运算符 |
=,%=,/=,//=,-=,+=,*=,**= | 赋值运算符 |
is,is not | 身份运算符 |
in,not in | 成员运算符 |
not or and | 逻辑运算符 |
(三)赋值语句
【一、普通赋值语句】
普通赋值语句为:
a=10
a变量第一次赋值,同时获得类型和值,因为:
- Python是动态的强类型语言。
- 不需要显式声明,根据值确定类型。
- 以引用的方式实现赋值。所有的赋值都是将一个引用指向相应的内存单元
Python中每个对象被创建时,都会获得一个身份id,可以使用id(对象)函数查看,同时会伴随一个引用计数器,计数有几个变量引用此对象。 但是对于浮点数变量和整数变量有着不同的规则,如下:
【(一)浮点数变量:】
浮点数每一个对象地址不一样,如下图所示:
【(二)整数变量:】
Python将相同的若干个小整数,默认范围为[-5,256]和部分仅包含数字,字母和下划线的字面常量字符串会被分配同一内存空间,因为这些对象比较常用,这种高效的存储方式可以优化程序的运行速度。 如下面的代码:
【二、增量赋值】
即-=,+=这样的,如:
a+=10
【三、链式赋值】
简单理解就是连续赋值,如下:
pi=PI=1.3456
从右向左赋值,先给PI,再给pi
【四、多重赋值】
当等号左右两边都以元组的方式出现时,称为多重赋值,如下:
赋值时,3.14159给PI,3给r,本质由两个步骤构成:
- temp=3.14159,3,进行元组打包
- PI,r=temp,进行元组解包,得到PI=3.1415926,r=3
所以多重赋值有时也称为序列解包。
例如:利用此特性交换两个数的值,如下:
其中逗号是Python中用来创建一种特殊的数据结构称为元组的运算符,用圆括号括起来,那么此时(y,x)为(2,1)元组,给x,y即可,成功的交换了x,y的值。
加油哦!🍝。