这里写目录标题
(一) python介绍
由来
- 由来
Python 是一种解释型、面向对象的语言。由龟叔:吉多·范罗苏姆(Guido van Rossum)于1989 年发明,1991 年正式公布。
龟叔不是喜欢蟒蛇才起这个名字,而是正在追剧:英国电视喜剧片《蒙提·派森的飞行马戏团》(Monty Python and the Flying Circus)。 - 特点
- 可读性强
一个程序会被反复的修改,可读性强意味着让你可以在更短时间内学习和记忆,直接提高生产率。 - 简洁
Python 是由C 语言开发,但是不再有C 语言中指针等复杂数据类型,Python 的简洁性让开发难度和代码幅度大幅降低,开发任务大大简化。
(目前编程语言排名1.java;2.c;3.python;4.javascript)
例子:完成螺旋线
import turtle
t = turtle.Pen()
for x in range(360):
t.forward(x)
t.left(59)
- 面向对象
- 免费和开源
- 可移植性和跨平台*(java也可以跨平台)*
Python 会被编译成与操作系统相关的二进制代码,然后再解释执行。这种方式和java 类似,大大提高了执行速度,也实现了跨平台。 - 丰富的库(丰富的标准库, 多种多样的扩展库)
- 可扩展性。可嵌入到C 和C++语言。胶水式语言。
- 应用范围
- 科学计算(主要)
- 人工智能(主要)
- WEB 服务端和大型网站后端。(java)
YouTube、gmail 等应用基于python 开发。(中国的豆瓣) - GUI 开发(图形用户界面开发)
- 游戏开发
- 移动设备
- 嵌入式设备
- 系统运维
- 大数据
- 云计算
- Python 解释器
Python 程序的执行依赖于Python 解释器。常用的Python 解释器有:
- CPython (常用)
使用c 语言实现的解释器,最常用的解释器。通常说的解释器指的就是它。 - Jython
使用java 语言实现的解释器。Jython 可以直接调用java 类库,适合在java 平台上开
发 - IronPython
.NET 平台上使用的解释器。可直接调用.NET 平台的类,适合.NET 平台上开发 - PyPy
使用Python 语言实现的解释器
Python 开发环境
- Python 开发环境
开发环境,英文是IDE(Integrated Development Environment 集成开发环境)。
开发环境本质上就是对刚安装的Python 解释器python.exe 的封装,核心都一样。可以说:“开发环境IDE,只是解释器的一个外挂而已”,在外部包装了一下开发了别的功能,只是为了让程序员更加方便编程,减少出错率,尤其是拼写错误。
(不同的IDE包装不同)
常用的开发环境如下:
- IDLE (python安装完默认有IDLE,在搜索栏输入idle查找可以进入交互模式,IDLE本身有1.交互模式2.开发源程序)
- Pycharm
- IDLE 介绍
- IDLE 是Python 的官方标准开发环境,Python 安装完后同时就安装了IDLE。
- IDLE 已经具备了Python 开发几乎所有功能(语法智能提示、不同颜色显示不同类型等
等),也不需要其他配置。 - IDLE 是Python 标准发行版内置的一个简单小巧的IDE,包括了交互式命令行、编辑器、
调试器等基本组件,足以应付大多数简单应用。 - IDLE 是用纯Python 基于Tkinter 编写,最初的作者正是Python 之父Guido van Rossum。
- IDLE 实操
- 交互模式,启动IDLE,默认就是进入交互模式。
- 编写和执行Python 源文件 (IDLE基于源文件的开发模式,搜索栏idle,建立python源文件File-new file写python代码,file-save)
- Python 源程序的注意点
- 不要在程序中,行开头处增加空格。空格在Python 中有缩进的含义。
- 符号都是英文符号,不是中文。
- 程序基本格式
- 恰当的空格,缩进问题
(1) 每个缩进层次使用单个制表符或四个空格(IDE 会自动将制表符设置成4 个
空格)
(2)Python 用缩进而不是{}表示程序块 - Python 区分大小写
- 注释
(1) 行注释
每行注释前加#号。
(2) 段注释
使用三个连续单引号(’’’)。
之间的内容。
-
图形化程序设计
海龟绘图:2个练习
1.完成奥运五环的绘图程序
2.使用海龟绘图,输出四个矩形
(二) 编程基础(1)
Python 的构成创建
- Python 程序的构成
- Python 程序由模块组成。一个模块对应python 源文件,一般后缀名是:.py。
- 模块由语句组成。运行Python 程序时,按照模块中语句的顺序依次执行。
- 语句是Python 程序的构造单元,用于创建对象、变量赋值、调用函数、控制语句等。
- Python 文件的创建和执行
交互式环境,每次只能执行一条语句;为了编写多条语句实现复杂的逻辑,通过创建Python 文件,并执行该文件。
在IDLE 环境中,我们可以通过File–>new 创建Python 文件,并可以编辑该文件内容。我们也可以通过File–>save/save as 保存文件。一般保存成扩展名为py 的文件。
需要执行编辑好的文件,可以用快捷键F5 或者点击Run–>Run module。
-
代码的组织和缩进
缩进时,几个空格都是允许的,但是数目必须统一。我们通常采用“四个空格”表示一个缩进。:tab 制表符就是4 个空格。 -
使用\行连接符
一行程序长度是没有限制的,但是为了可读性更强,通常将一行比较长的程序分为多行。这
是,我们可以使用\行连接符,把它放在行结束的地方。Python 解释器仍然将它们解释为同
一行。
>>> a = [10,20,30,40,\
50,60,70,\
80,90,100]
>>> a
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
Python 的对象
- 对象
Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)
组成。
- 标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数id(obj)可返回对象obj 的标识。
- 类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以及可执行的
操作。可以使用type(obj)获得对象的所属类型。 - 值表示对象所存储的数据的信息。使用print(obj)可以直接打印出值。
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
Python 的引用
- 引用
在Python 中,变量也成为:对象的引用。因为,变量存储的就是对象的地址。
变量通过地址引用了“对象”
变量位于:栈内存
对象位于:堆内存
Python 是动态类型语言
变量不需要显式声明类型。根据变量引用的对象,Python 解释器自动确定数据类型。
Python 是强类型语言
每个对象都有数据类型,只支持该类型支持的操作。
Python 的标识符
- 标识符
标识符:用于变量、函数、类、模块等的名称。
- 区分大小写。如:sxt 和SXT 是不同的
- 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
- 不能使用关键字。比如:if、or、while 等。
- 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类
的构造函数。
约定Python 标识符命名规则遵守如下规则:
python的变量和简单赋值语句
- 变量和简单赋值语句
1.变量的声明和赋值用于将一个变量绑定到一个对象上,格式如下:
变量名= 表达式。
2.变量在使用前必须先被初始化(先被赋值)。
3.可以通过del 语句删除不在使用的变量。如果对象没有变量引用,就会被垃圾回收器回收,清空内存空。
4.链式赋值用于同一个对象赋值给多个变量。
x=y=123 相当于:x=123; y=123。
5.系列数据赋值给对应相同个数的变量(个数必须保持一致)
a,b,c=4,5,6
python的数据类型和运算符
- 最基本内置数据类型和运算符
每个对象都有类型,python 中最基本的内置数据类型:
- 整型
整数,2345,10,50 - 浮点型
小数,3.14 或者科学计数法314e-2 - 布尔型
表示真假,仅包含:True、False - 字符串型
由字符组成的序列。“abc”,”sxt”,“尚学堂”,”百战程序员”
- 数字和基本运算符
使用divmod()函数同时得到商和余数:
>>> divmod(13,3)
(4, 1)
- 整数
Python 中,除10 进制,还有其他三种进制:
·0b 或0B,二进制0 1
·0o 或0O,八进制0 1 2 3 4 5 6 7
·0x 或0X,十六进制0 1 2 3 4 5 6 7 8 9 a b c d e f
>>> 12
12
>>> 0b101
5
- 类型转换
- 浮点数直接舍去小数部分。如:int(9.9)结果是:9
- 布尔值True 转为1,False 转为0。如:int(True)结果是1
- 字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错
>>> int("456")
456
整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是10.0
-
浮点数
浮点数,称为float。
比如:3.14,表示成:314E-2 或者314e-2。
这些数字在内存中也是按照科学计数法存储。 -
类型转换和四舍五入
- 类似于int(),我们也可以使用float()将其他类型转化成浮点数。
- 整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是10.0
- round(value)可以返回四舍五入的值
注:但不会改变原有值,而是产生新的值
- 增强型赋值运算符
- 时间的表示
计算机中时间的表示是从“1970 年1 月1 日00:00:00”开始,以毫秒(1/1000 秒)
进行计算。
python 中可以通过time.time() 获得当前时刻,返回的值是以秒为单位,带微秒(1/1000 毫秒)精度的浮点值。
>>> import time
>>> b = int(time.time())
>>> b
1530168754
- 布尔值
Python3 中,把True 和False 定义成了关键字,但他们的本质还是1 和0,甚至可以和数
字相加。
-比较运算符
运算符 | 描述 | – |
---|---|---|
== | 等于- 比较对象的值是否相等 | (a == b) 返回False。 |
!= | 不等于- 比较两个对象的值是否不相等 | (a != b) 返回true. |
> | 大于- 返回x 是否大于y | (a > b) 返回False。 |
< | 小于- 返回x 是否小于y。 | (a < b) 返回true。 |
>= | 大于等于- 返回x 是否大于等于y。 | (a >= b) 返回False。 |
<= | 小于等于- 返回x 是否小于等于y。 | (a <= b) 返回true。 |
-
逻辑运算符
-
同一运算符
is 与== 区别:
is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
== 用于判断引用变量引用对象的值是否相等,默认调用对象的__eq__()方法。 -
基本运算符
-
复合赋值运算符
-
运算符优先级问题
如下优先级,从高到低。
- 类型转换和四舍五入