【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符

文章目录

    • 一、Python简介
      • (一)Python语言介绍
      • (二)Python应用领域
      • (三)Python环境搭建
    • 二、初识Python
      • (一)第一个Python程序
      • (二)Python程序的运行方式
      • (三)变量,常量,关键字
      • (三)输入输出函数
      • (四)注释
      • (五)风格
    • 三、 Python基本数据类型、运算符、赋值语句
      • (一)基本类型
      • (二)运算符
      • (三)赋值语句

一、Python简介

(一)Python语言介绍

Python是一种跨平台的计算机程序语言,是一种解释型的,面向对象的,带有动态语义的高级程序设计语言,最初用于编写自动化脚本,随着不断更新,越多被用于独立的,大型项目的开发。简单来说Python的特性如下:

  1. 优雅,明确,简单
  2. 拥有传统编译型程序语言所有强大通用的功能
  3. 拥有简单脚本语言和解释型程序语言的易用性。
  4. Python介于C和shell之间,功能全面,易学易用,可扩展。

【一、Python版本】

  1. Python2版本:2000年发布,稳定版本为Python2.7。
  2. 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语言的别名】

  1. 胶水语言:很容易和其他著名的程序语言连接,集成封装。
  2. 脚本语言:高级脚本语言,脚本语言只能处理简单任务,它可以处理很多。
  3. 面向对象语言:完全支持集成,重载,派生,多继承。

【四、Python语言特点】

  • 支持面向对象和解释性的高级语言,不用编译。
  • 库丰富,底层库采用C编写。
  • 执行效率慢,用于上层开发。编译型语言C++用于底层开发,执行速度快。
  • 简洁性,易读性,可扩展性,所以使用方便。
  • 可移植,可升级,可扩展
  • 健壮性,解释性,编译性
  • 内存管理器
  • 快速原型开发工具

(二)Python应用领域

  1. Web开发:Python定义了WSGI标准应用接口来协调http服务器与基于Python的Web程序之间的沟通。
  2. 大数据:Python提供各种库,具有极其便捷强大的数据处理和统计功能。
  3. 人工智能:基于丰富的Python第三方库可以便捷高效地实现人工智能的各个阶段任务。
  4. 多媒体:可用于计算机游戏三维场景制作和各种专业领域应用。

(三)Python环境搭建

常见的Python软件

  1. Python自带的IDLE,优点小巧,缺点是需要另外安装很多Python包
  2. Anaconda平台,优点是已包含很多Python第三方包,使用比较方便,缺点是较大容易崩掉,系统不稳定。
  3. Pycharm:优点是比较稳定,功能强,适合开发大型项目;缺点是专业版收费,社区版和教育版免费

博客的学习前期使用IDLE,后期使用Pycharm,下面安装IDLE:

一、windows系统

1.去python官方网站进行软件下载:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第1张图片
2.选择合适的系统:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第2张图片
3.选择合适的版本下载:
【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第3张图片
4. 进行下载即可:
【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第4张图片
注意:勾选最下面的选项,表示将其添加到系统的环境变量中,这样可以在cmd窗口直接运行Python,不用到指定目录下去。

5.验证是否安装成功,打开cmd窗口:输入python,出现下面的页面表示安装成功,可以试着测试简单功能。

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第5张图片

也可以在电脑中找到一个python3.7的文件夹,包含IDLE(即是解释器也是编译器,可以直接在此编写代码进行结果的运行)

二、Linux系统:

在Linux系统和ios系统自带python解释器,不需要安装,默认2.7.5版本,输入Python验证是否安装python:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第6张图片

使用python -V查看python的版本:

在这里插入图片描述

使用python3 -V查看另一个版本

在这里插入图片描述

安装Pycharm教程

二、初识Python

(一)第一个Python程序

第一个程序,输出hello world:

Mystr='Hello,World!'
print(Mystr)

字符串可以用单引号或双引号表示

python运行程序的模式:

  1. Shell方式又称为交互式方式:Shell是交互式解释器,输入一行命令,解释器就解释运行出相应的结果,直接在IDLE上写代码运行程序,类似Linux下的命令模式,但是无法保存代码,适合短代码,F1可以查看帮助手册,如下图:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第7张图片

  1. 批处理模式:创建文件,一次性处理多行代码,在Python的IDE环境中,创建一个以py为扩展名的文件,用Python解释器在shell中运行出结果,适合长代码。

(二)Python程序的运行方式

Python是一种解释性语言,Python在执行时,会先将.py文件中的源代码编译为字节码,再由Python虚拟机执行编译这些字节码,Python提供了一种中间编译结果保存机制。

【一、Windows系统】

  1. IDLE直接运行:虽然可以直接在IDLE上面写代码,但是不方便,也可以在cmd窗口上打开IDEL,使用exit()退出此模式。

  2. 保存为文件运行:建立文件,IDLE运行显示结果,先建立一个新的文件夹,即点击newfile,将文件保存到自己设定的路径,尽量保存为英文即可,点击Run,第一个选项run model,因为python为解释性语言,所以直接运行即可。

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第8张图片

  1. cmd窗口直接运行:在cmd窗口上运行python程序,使用cd命令找到python代码存放的位置,运行python代码的格式:

    cd /d 进入d盘
    python 文件名
    如:python hello.py #运行hello.py文件
    
  2. cmd窗口通过python运行,即在cmd窗口上打开python,运行此程序

【二、Linux系统】

在Shell终端运行即可,使用vim创建一个文件,使用【python 文件名】这样的格式执行脚本,如下图所示:

在这里插入图片描述

(三)变量,常量,关键字

【一、变量】

在程序运行几千可以改变的量称为变量,一个变量应该有一个名字,并在内存中占据一定的存储单元,在该存储单元中存放变量的值。变量名的本质:一段连续内存空间的别名,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第9张图片
故变量名就是引用对象和标识对象。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(变量名)

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第10张图片

(四)注释

  1. 【#】表示单行注释
  2. 【\】表示续行符,即一行未结束
  3. 【""" ……""" 或者’’’……’’’】英文三个双引号或三个单引号可以实现多行注释

注释的类型为字符类型,如:

a=10 #我是单行注释
Cons="This is oneline\
continue,end"#续行符,表示下面和这一行是一行
print(Cons)
"""
print("hello")
print(a)
多行注释

"""

s='''Python单行注释'''
print(type(s))

运行输出,可以看到注释都没有输出

在这里插入图片描述

(五)风格

Python采用缩进格式代替花括号

  1. 增加缩进表示语句块的开始
  2. 使用相同的缩进表示同级别语句块
  3. 减少缩进表示语句块的退出

三、 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转换为十六进制

如下图:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第11张图片

转换结果包含进制标识符。

(二)使用统一的函数,转换结果不包含进制标识

使用函数format,使用格式为:

format(待转换整数,进制标识)

如下图:
【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第12张图片
转换结果不包含进制标识符。

二、其他进制转换为十进制

使用int函数可以将不同进制转换整数,函数使用格式如下:

int(待转换字符,进制标识符)#表示将几进制转换为十进制

如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第13张图片
转换后的结果类型为整数。

【二、 float浮点型】

浮点数就是小数,之所以称为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的,对于很大或者很小的数,必须用科学计数法表示,e表示10。如下图举例:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第14张图片

注意:Python中没有double类型,根据值大小进行分配,有垃圾回收机制;在运算过程中,如果有一个数为浮点数,那么运算结果为浮点数。

【三、 bool布尔型】

整型的子类,仅有2个值为:True,False,本质上是用整型的1,0分别存储的在Python中值为0的任何的数字或者是空集如列表,元组,在Python中它的布尔值都是False

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第15张图片
【四、NoneType空值】

空值是Python里一个特殊的值,用None表示,None不能理解为0,因为0是有意义的,而None是一个特殊的空值,None和任何其他数据比较永远返回False,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第16张图片

【五、complex复数型】

如果j=√-1,则 j 是虚数,虚数的平方根为负数,复数=实数+虚数,Python中虚数用标记符 j 来标记,其他语言中没有这种类型,而Python中设计了这种类型。 复数可以是:复数,纯虚数,纯实数,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第17张图片

复数可以分离实数部分,虚数部分,函数如下:

复数.real #得到实部
复数.imag #得到虚部

使用函数可以求共轭复数,即两个实部相等,虚部互为相反数的复数互为共轭复数,函数如下:

复数.conjugate()

如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第18张图片

【五、序列类型-str字符串】

字符串是以单引号或双引号括起来的任意文本,比如”abc",‘xyz’等。

(一)字符串的简单运算

  1. 支持加法运算,即实现字符串拼接,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第19张图片

  1. 支持乘法运算,可以理解为本身拼接n次,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第20张图片
(二)字符串的转义

可以使用反斜杠\对某些特殊字符进行转义,这样python就会将它”当作一个普通的字符,而不是特殊的标记,如打印\n而不是换行,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第21张图片

(三)长字符串的表示方式

当需要写多行字符串时,使用三个单引号或双引号代替普通引号:

"""
str
“”“
或
’‘’
str
‘’‘

这时可以在字符串中使用单引号/双引号不需要反斜杠进行字符转义,其他的例如\n还是需要转义的,如:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第22张图片
(四)原始字符串

原始字符串以r开头,在普通字符中反斜杠\转义,不会输出\,但是在原始字符串中反斜杠可以转义,但是输出的字符串包含\, 如:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第23张图片
注意:原始字符不能以\结尾,因为不知道是否为字符串结束符:如:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第24张图片
如果必须最后要\,可以其单独处理显示,如:

在这里插入图片描述

(六)用户方便的字符串 && 编译器读取形式的字符串

我们从显示屏上看到的字符,编译器不能处理,那么为了解决这种情况,有两个函数为str和repr:

  1. str函数:将值转换为合理形式的字符串,以便于用户理解,和print直接打印结果一样,如:

    【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第25张图片
    可以看到使用str函数的字符串和print打印的一样,不会显示出字符串的标识。

  2. repr函数:会创建一个字符串,将其转化为供编译器读取的形式,如:

    在这里插入图片描述
    可以看到输出结果带有字符串标识,repr函数还具有将整数转换为字符串类型的功能,利用此可以实现字符串和数字的相加,如:

    【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第26张图片

总结来说:str让用户更便于阅读,repr转换为python的合法表达式,可以用于整数转换为字符串。

【六、序列类型-list列表】

列表是一种强大的数据结构,序列中的么个元素都分配一个数字-位置,用方括号[]表示,为可变类型,从0开始编号,根据下标访问,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第27张图片

后面博客会详细学习此知识点

【七、序列类型-tuple元组】

列表类似,用小括号()表示,是不可变类型即元组的元素不能修改,按照下标访问,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第28张图片
后面博客会详细学习此知识点

【八、映射类型-dict字典】

字典为映射类型的容器,用大括号{}表示,类似哈希表的键值对,每个键值对key-value用冒号【:】分割,每个键值对之间用逗号【,】分割。可以根据键值访问值,即通过key访问到value,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第29张图片
后面博客会详细学习此知识点

(二)运算符

假定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

注意:幂运算符比一元运算符优先级高,所以会先和**结合,那么负数幂运算时需要添加括号,如:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第30张图片
不加括号永远为负数。

【二、 比较运算符】

符号 意义 示例
== 比较两个对象的值是否相等 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变量第一次赋值,同时获得类型和值因为

  1. Python是动态的强类型语言。
  2. 不需要显式声明,根据值确定类型。
  3. 以引用的方式实现赋值。所有的赋值都是将一个引用指向相应的内存单元

Python中每个对象被创建时,都会获得一个身份id,可以使用id(对象)函数查看,同时会伴随一个引用计数器,计数有几个变量引用此对象。 但是对于浮点数变量和整数变量有着不同的规则,如下:

【(一)浮点数变量:】

浮点数每一个对象地址不一样,如下图所示:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第31张图片

【(二)整数变量:】

Python将相同的若干个小整数,默认范围为[-5,256]和部分仅包含数字,字母和下划线的字面常量字符串会被分配同一内存空间,因为这些对象比较常用,这种高效的存储方式可以优化程序的运行速度。 如下面的代码:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第32张图片

【二、增量赋值】

即-=,+=这样的,如:

a+=10

【三、链式赋值】

简单理解就是连续赋值,如下:

pi=PI=1.3456

从右向左赋值,先给PI,再给pi

【四、多重赋值】

当等号左右两边都以元组的方式出现时,称为多重赋值,如下:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第33张图片

赋值时,3.14159给PI,3给r,本质由两个步骤构成:

  • temp=3.14159,3,进行元组打包
  • PI,r=temp,进行元组解包,得到PI=3.1415926,r=3

所以多重赋值有时也称为序列解包。

例如:利用此特性交换两个数的值,如下:

【Python】一、Python简介、变量、输入/输出、基本数据类型和运算符_第34张图片

其中逗号是Python中用来创建一种特殊的数据结构称为元组的运算符,用圆括号括起来,那么此时(y,x)为(2,1)元组,给x,y即可,成功的交换了x,y的值。

加油哦!。

你可能感兴趣的:(Python)